A multi-crew landscaping company wanted to reward its mowing team for finishing jobs faster than estimated, but corrupted job data made the bonus math nonsensical. Rebuilding the incentive around real per-visit numbers turned a broken 340-hour outlier into a clean, trustworthy bonus rate of $12 an hour saved.
A good idea, buried under bad numbers
A multi-crew landscaping company running mowing, turf care, and hardscape construction crews had a simple idea for its mowing division: pay a bonus for finishing a job faster than the number on the estimate. Save an hour of labor against the estimate, and the crew lead who made that happen should see some of that value in their own paycheck. It is a fair idea, and it is the kind of incentive that field service companies talk about wanting all the time. The hard part was never the idea. It was the data underneath it.
When the company pulled its estimated hours from its job management platform to build the bonus calculation, the numbers did not make sense. Some mowing jobs showed 340 estimated hours for what should have been a routine, same-day visit. Nobody could explain a number like that with a straight face, and it made the whole "hours saved" concept look broken before it even launched. The crew lead running that job might have genuinely finished efficiently, but there was no way to tell, because the baseline being measured against was fiction.
The root cause turned out to be almost mundane once someone dug into it. The estimating system had been storing an annual total for a property's mowing visits, not a per-visit figure. When that annual number got treated as if it applied to a single mow, the math exploded. A property that should generate a few hours of estimated work per visit instead showed hundreds, because the system was quietly dividing a year's worth of expected labor into what looked like one job. Layer in a second problem, duplicate and overlapping clock-ins where multiple employees each logged a full shift against the same job visit, and the "hours saved" figure moved even further from reality.
This kind of mismatch is common in landscaping and lawn care operations specifically, because so much of the work is recurring and seasonal. A single property gets mowed thirty-plus times a year, invoiced the same way each time, and it is easy for an estimate that was accurate the first season to quietly go stale by the third, especially if nobody revisits it until a bonus plan forces the question. The company was not doing anything unusual by having outdated estimates sitting in its system. What was unusual, in a good way, was catching it before building a year of bonus payouts on top of bad numbers.
Turf care crews had a different version of the same problem. Their time and job data lived in a separate scheduling platform that never talked to the estimating system, so there was no per-job time data to compare against an estimate at all. And on the construction and hardscape side, a lot of the work was pure time and materials, quoted verbally on-site with no upfront estimate ever entered anywhere. One job ran past a thousand hours with nothing to measure it against. Three crews, three completely different data problems, and one incentive plan that could not go live until at least the first one was fixed.
None of this is unusual. It is what happens in almost every trade business that has been running estimates and time tracking as two separate manual processes for years: the systems drift apart, nobody notices because nobody is cross-referencing them constantly, and the drift only becomes visible the moment someone tries to build precise, dollar-based math on top of it. The company did not need a new estimating process. It needed something that could look at the job data it already had, catch the parts that did not add up, and calculate the bonus off numbers that actually held up.
Rebuilding the math around the real job, not the annual estimate
The fix started with a definition. Instead of trusting whatever number sat in the estimate field, ShareWillow's platform reconstructs each mowing visit as its own unit of work directly from the underlying job data: grouping timesheet entries by job ID, site code, date, and task name so that a single visit to a single property becomes one clean, verifiable record. Estimated hours are then pulled at the per-visit level instead of the annual level, which is the single change that took the worst outliers, jobs that had been showing 340-plus hours, down to a realistic ceiling of around 12 hours for a mowing visit. That is not a rounding fix. That is the difference between a bonus plan nobody can trust and one that holds up to a five-minute sanity check from anyone on the crew.

With a trustworthy hours-saved number in hand, the payout formula itself is intentionally simple: the bonus pays 50% of the saved labor value, calculated at the technician's own hourly wage. A crew lead earning $24 an hour effectively earns $12 for every hour of labor they save against a corrected, per-visit estimate. It is easy to explain in one sentence, it is tied directly to a number the technician can see and verify, and it scales naturally as wages change instead of requiring a separate rate table for every employee.
It also removes a recurring point of friction that shows up in a lot of manual bonus plans: the awkward conversation where a technician asks how their bonus was calculated and the honest answer is "let me check the spreadsheet and get back to you." When the formula is fifty percent of a verifiable hourly rate applied to a verifiable hours-saved number, that conversation takes ten seconds and ends with both people agreeing on the math.
The company also used the same data cleanup to fix a smaller but real problem: the callback eligibility window for mowing had drifted to somewhere between 7 and 30 days depending on how a particular job was tagged, instead of the 7 days everyone actually intended. A callback called in the next day is a legitimate quality issue. A callback called in three weeks later, on a lawn that has been mowed twice more since, is a different conversation. Getting that window locked to a consistent 7 days matters just as much to trust in the plan as getting the hours-saved math right, because a bonus plan that quietly claws back pay on a technicality erodes the same trust a bad estimate does.
None of this required the company to change how its crews actually work in the field. The mowing team kept doing the same routes and the same jobs. What changed was entirely on the measurement side, replacing a fictional annual number with an accurate per-visit one, so that a bonus tied to real performance could finally be calculated and paid with confidence instead of getting stuck in a spreadsheet nobody trusted.
Profit sharing
made simple.
Give your team a stake in the company’s success. ShareWillow helps you create and manage profit-sharing programs that motivate employees and drive business results.
Setting a baseline the whole team could see
Fixing the math also gave the company something it did not have before: a clean baseline to manage against. Working through the corrected numbers, the team landed on a target of 32 mowing visits per property per year as the standard against which efficiency gets measured going forward. That number does two things at once. It gives crew leads a concrete, shared expectation instead of an implicit one, and it gives managers an actual reference point when a property is running hot or cold relative to plan, rather than a gut feeling based on memory.

This is the part of building an incentive plan that gets skipped most often. It is tempting to treat "pay a bonus for saved hours" as a complete idea on its own, but a bonus is only as good as the baseline it is measured against. Get the baseline wrong, whether that is an inflated estimate, an ambiguous callback window, or a vague sense of what a normal year of visits should look like, and the bonus either pays out for nothing or fails to pay out for real performance. Get the baseline right, and the same idea that looked broken with 340-hour outliers becomes something a crew lead can explain to a new hire in under a minute.
There is also a coaching benefit that showed up almost as a side effect. Once "hours saved" became a number crew leads could trust, it turned into something worth checking regularly instead of an abstract annual bonus that arrived once and got forgotten. A property that is consistently coming in under the 32-visit baseline, or a crew lead whose saved-hours number is unusually high or low compared to their peers, is now something a manager can spot and talk about in the moment, instead of discovering it during a once-a-year plan review when the details are hard to reconstruct.
The company is now extending the same approach to the parts of the business that never had clean job-level data to begin with. Turf care crews are being connected so their per-job time can be tracked the same way mowing's now is, rather than living disconnected in a separate scheduling system. Construction and hardscape work, where jobs are often quoted as pure time and materials with no upfront estimate, is being handled with a labor-rate-as-percentage-of-revenue model instead, since there is no "estimate versus actual" to compare when no estimate exists in the first place. Different job types need different math, and trying to force one formula onto all three would have recreated the same trust problem in a new place.
If your own shop has an incentive idea that keeps stalling out because "the numbers never quite add up," it is worth asking exactly where the number is coming from before assuming the bonus concept itself is the problem. An annual estimate treated as a per-visit number, a callback window that means something different depending on who tagged the job, or a job type that was never estimated at all will break almost any bonus math you try to layer on top. ShareWillow's platform is built to pull directly from the field service and time-tracking systems a landscaping company already runs on, catch exactly this kind of data mismatch before it turns into a broken bonus, and calculate a payout that a crew lead can check for themselves and trust.
Conclusion
A bonus plan is only as trustworthy as the number it is measured against; fix the baseline first, and the payout takes care of itself.
Create incentives
that
drive results
You shouldn't need complex equity plans to align your team. ShareWillow makes it simple to create transparent profit-sharing programs that motivate employees and grow your business.

Incentive plans to help
small businesses thrive.
.png)
"I was able to leverage the knowledge of the ShareWillow team to learn how other companies were designing their bonus plans. The template was extremely helpful."

