Quick Links:
- Leak 1: Routes That Used to Be Efficient and Aren’t Anymore
- Leak 2: Recurring Contracts Priced Years Ago
- Leak 3: Crew Time Lost to Drive Time and Route Inefficiency
- Leak 4: Weather and Seasonal Rescheduling That Quietly Raises Cost Per Visit
- What to Do About It
A landscaping business owner looks at the schedule board and sees the season going well. Crews are out every day. Routes are full. New customers keep getting added. It feels like success. Revenue for the season is up over last year.
Then the number in the bank account doesn’t match the number on the schedule board.
That gap is the whole story. A full route and a profitable route are not the same thing. Revenue tells you how busy you were. It says nothing about whether the work was worth doing.
Landscaping businesses are especially exposed to this because so much of the work is recurring and route-based. A single mispriced stop doesn’t show up as a bad month. It shows up as a slow bleed across every visit on that route, every week, for the whole season.
Here are four specific places landscaping and lawn care businesses lose margin without ever seeing it on a normal report.
Leak 1: Routes That Used to Be Efficient and Aren’t Anymore

A route gets built for efficiency at some point: stops in a sensible order, drive time minimized, a crew that can hit every property in a day. Then the customer list changes. Someone cancels. A new account gets added on the other side of town because it was available that week. A property gets bigger. None of these changes are dramatic on their own. Over a season or two, the route that was efficient when it was designed is no longer the route you’re actually running.
How Budget vs Actual surfaces this: tracking actual time and cost by route, not just by crew or by month, shows you when a specific route’s real cost has crept above what it was originally priced to run. A route that used to take four hours and now consistently takes five isn’t a one-time fluke. It’s a route that needs to be redesigned or repriced.
Leak 2: Recurring Contracts Priced Years Ago
Recurring maintenance contracts get set once, at signing, and then often stay untouched for years, because nobody wants to be the one to raise a longtime customer’s price. Meanwhile fuel costs move, crew wages move, and material costs for anything beyond mowing (mulch, fertilizer, seasonal color) move every year. A contract priced three years ago at a fair margin can be running thin, or at no margin at all, today, without anyone deciding that should happen. It just happened, one cost increase at a time.
How Budget vs Actual surfaces this: when actual cost to service a contract is tracked against what that contract bills, margin erosion becomes visible contract by contract, not just as a vague sense that “costs feel tighter this year.” You can see exactly which recurring accounts have drifted below where they need to be. If you’re also weighing dedicated landscape-specific route and crew software as part of that review, Capterra’s landscape software is a fair, non-biased place to see what’s out there.
Leak 3: Crew Time Lost to Drive Time and Route Inefficiency

Between-stop drive time is real labor cost, and it’s rarely tracked against the job it’s attached to. A crew that spends extra minutes a day working around a poorly sequenced route, or backtracking because a new stop got added out of order, is burning paid labor hours that were never built into that route’s budget. Across a five-day week and a full season, that adds up to a meaningful number of hours that show up nowhere except a vaguely higher labor cost absorbed into overhead.
How Budget vs Actual surfaces this: comparing budgeted labor hours per route against actual hours logged, route by route, makes inefficiency visible as a specific number instead of a general feeling that “the crew’s running behind.” A route consistently running over its budgeted hours has an identifiable cause, whether that’s sequencing, a new stop, or a property that’s grown more complex than it was when priced.
Leak 4: Weather and Seasonal Rescheduling That Quietly Raises Cost Per Visit

Rain days, snow delays, and seasonal compression (spring cleanup crammed into a shorter window, fall cleanup racing the first freeze) all push crews into overtime, double-booked days, or rushed visits that take longer than planned because the crew is trying to catch up. The price for each visit doesn’t change when this happens. The cost to deliver that visit does. A rescheduled week can quietly cost more per visit to service than the same week would have cost on a normal schedule, and that gap is easy to miss because it looks like a scheduling problem, not a profitability problem.
How Budget vs Actual surfaces this: tracking actual cost per visit against budgeted cost per visit, rather than just tracking total revenue for the week, shows when weather-driven rescheduling is costing more than the season’s pricing assumed. That’s information you can use to build weather buffers into pricing or scheduling, rather than absorbing the cost silently every time it rains.
What to Do About It
The fix isn’t a new system. It’s reviewing recurring contract pricing on a set schedule instead of “whenever it comes up.”
Pick a cadence, once a year at minimum, ideally before your busiest season starts, and review every recurring contract against current fuel, labor, and materials costs. Don’t wait for a contract to feel unprofitable before you look at it. By the time it feels that way, it’s usually been thin for a year or more.
Alongside that, track budget vs actual by route and by contract, not just by month. A monthly revenue number tells you the season is busy. It doesn’t tell you which specific routes and which specific contracts are actually funding that revenue, and which ones are quietly being subsidized by the rest of the schedule.
The same blind spot shows up outside landscaping too. We’ve seen it in plumbing companies still running on ticket pricing they set two years ago, and in HVAC businesses that stay busy without staying profitable. Full schedule, thin margin, same root cause: nobody’s tracking cost against the job it was priced to cost.
If you want to see where your own routes and recurring contracts stand against what they were priced to cost, see how Budget vs Actual works. It’s built around landscaping route and contract data and takes less than an hour to walk through.