Skip to main content
Back to blogPain Points

You're Completing Jobs Every Day — But Do You Know Which Ones Are Actually Making You Money?

Most lawn care operators price by gut feel and only find out a job lost money after it's done. Here's how to think about job costing — and what to do when the numbers surprise you.

June 29, 20268 min readBy Lawnager Team
job costingpricingprofitabilitylabor costslawn care business

The Job That Felt Fine — Until You Ran the Numbers

You had a full day. Knocked out seven properties, invoiced $680, and got home before dark. Good day, right?

Maybe. Or maybe three of those seven jobs lost you money and the other four carried them. You won't know unless you actually break down what each job cost you to complete.

This is job costing — and it's the single most useful thing you can do for your business that almost nobody does. Not because it's hard, but because most operators are too busy completing jobs to figure out if those jobs are worth completing.

Quick gut check: Do you know your actual labor cost per job? Not what you pay your crew per hour — what each specific job costs you in time, including drive, setup, and cleanup?

What Actually Goes Into a Job's Cost

Revenue is easy to see. Costs are where operators get fuzzy. Here's what goes into the real cost of a single job:

Labor is the biggest one. If you pay a crew member $18/hr and the job takes 45 minutes on-site, that's $13.50. But don't forget drive time — if it takes 15 minutes each way, add another $9. That's $22.50 in labor for a job you might be charging $45 for. Your margin just got cut in half before you even think about fuel.

Fuel and drive cost is real money that most operators mentally discount. A rough estimate: a truck and trailer burns roughly $0.25–$0.40/mile depending on your rig. A 6-mile round trip is $1.50–$2.40 before you've touched a mower.

Materials and consumables — fertilizer, pre-emergent, trimmer line, disposal bags — add up fast on treatment or cleanup jobs. Many operators absorb these costs without ever pricing them in.

Equipment wear is the invisible one. Your mower has a finite number of hours before it needs a blade, a belt, or an engine. If you're not factoring in a small per-job maintenance reserve, you're pricing equipment depreciation at zero — which means you'll be surprised by a $400 repair that you technically should have expected.

None of these are hard to estimate. But you have to actually look.

  • Labor (on-site time + drive time, at your crew's hourly rate)
  • Fuel (estimated per mile × round-trip distance)
  • Materials used on the job
  • A small equipment wear reserve (even $2–3/job adds up to a maintenance fund)
  • Your own time if you're on the truck

The Accounts That Look Great on the Surface

Here's where it gets uncomfortable. Some of your best-looking customers — the ones who always pay, never complain, and refer their neighbors — might be your worst-performing jobs financially.

Consider: a large corner-lot property that takes 90 minutes and brings in $95. Feels solid. But if you've got two crew members on it, that's 3 man-hours at $18/hr = $54 in labor. Add $8 in fuel for the drive. Add materials for the edge cleanup they want every visit. You're at $65+ in cost for a $95 job. That's a $30 gross margin — around 31%. Not terrible, but not great either, especially once you factor in your own time dispatching and invoicing.

Now compare that to a tight cluster of four small properties in one neighborhood. Each one takes 25 minutes, charges $48, and you're only driving two blocks between them. That's a completely different margin profile.

The point isn't that big properties are bad. It's that distance, time, and crew size eat margin in ways that aren't visible until you actually do the math. Understanding what your reports are telling you about job mix and revenue per crew-hour is where this starts to click.

A useful benchmark: aim for 50–60% gross margin on labor-only jobs (mowing, trimming). If you're consistently under 40%, you're either underpricing or the job is eating too much drive time.

How to Do a Quick Job Cost Audit (Even Without Software)

You don't need a spreadsheet with 14 columns. Start simple.

Pick five jobs from last week — a mix of property sizes and distances. For each one, write down: what you charged, how long it actually took (including drive), how many people were on it, and any materials you used. Then calculate your cost and compare to revenue.

If you're using Lawnager, your crew and payroll report already tracks hours worked and jobs completed per crew member — so the labor math is mostly done for you. You can pull job duration from the field app clock-in/out data and stack it against what you invoiced.

Do this for one week's worth of jobs and patterns will jump out. You'll probably find 1-2 property types or neighborhoods that are dragging your average margin down. You'll also find your sweet spot — the jobs where everything lines up: short drive, fast completion, fair price. Those are the jobs you want more of.

  • Pick 5 recent jobs — different sizes and locations
  • Log: revenue, crew hours, drive time, materials
  • Calculate gross margin: (revenue − labor − fuel − materials) ÷ revenue
  • Identify your lowest 2 margin jobs and ask why
  • Identify your highest 2 margin jobs and ask how to replicate them

What to Do When a Job Is Losing Money

Finding out a recurring customer is below-margin isn't a reason to panic — but it is a reason to act. You've got three options:

Raise the price. If the job is costing you $55 and you're charging $60, a price adjustment to $75–$80 might be all it takes. Long-term customers often accept reasonable increases if you handle it professionally. If they push back hard, that's actually useful information.

Optimize the route. Sometimes the margin problem isn't the price — it's the drive. A property on the far end of your service area might be profitable if it was near three other jobs, but it's a money-loser as a standalone stop. Grouping it with neighbors, or waiting until you have a reason to be in that area anyway, changes the math entirely. Route optimization isn't just about saving time — it directly improves margin by compressing your drive cost per job.

Let it go. Some jobs aren't worth keeping at any reasonable price. A 45-minute drive each way for a single lawn is almost always a money-loser unless you can fill the day around it. Politely declining to renew or pricing it to reflect true cost are both valid outcomes.

The operators who struggle with this are the ones who treat all revenue as equal. It isn't. Knowing which customers are actually worth more — not just who pays the most, but who costs the least to serve — changes how you grow.

Raising a price on a below-margin job isn't awkward if you do it right. 'We've adjusted our pricing in your area starting next month' is a business decision, not an apology.

Materials Are the Sneakiest Margin Killer

Labor gets all the attention, but materials are where a lot of operators bleed out quietly. You pick up two bags of mulch at $7 each, throw in a bag of pre-emergent you had in the truck, and spend 20 minutes more on the job than you quoted. None of that gets tracked. None of it gets billed.

The fix is building a real materials catalog — what you actually pay per unit — and referencing it every time you quote. When you know your mulch costs $7/bag and a job needs 6 bags, the math is automatic: $42 in materials before labor. That number belongs in the quote, not absorbed as overhead.

Lawnager's materials catalog in Settings lets you log your actual costs per unit so that when the AI quoting tool builds a line-item estimate, it's using your real numbers instead of generic guesses. It's a small setup that pays off on every quote after it. If materials cost tracking is new to you, this breakdown on material costs and margin is worth reading alongside this one.

The Bigger Picture: Pricing That Reflects Real Costs

Job costing isn't just a diagnostic tool — it should feed directly into how you price new work. When you know your average labor cost per hour, your typical drive time per job in a given zone, and what materials an average visit consumes, your quotes stop being guesses and start being math.

This is especially important as you scale. Adding a second crew doubles your labor costs but doesn't automatically double your revenue unless your pricing is tight. Operators who scale successfully are almost always the ones who figured out their numbers early — they know what a job needs to return per man-hour to stay profitable, and they price to that threshold.

If you've been pricing on gut feel and want to tighten it up, the AI quoting guide walks through how to build estimates that account for labor, materials, and job-specific variables — not just what the market seems to bear.

Your prices aren't just competing with other operators. They're competing with your own costs. Build the quote from the inside out — cost up, not price down.

Start With One Week of Honest Numbers

You don't need to overhaul your entire operation to start making better decisions. You just need one week of honest job data.

Track actual time on five jobs. Include the drive. Calculate what you paid your crew. Compare to what you charged. Write it down.

That exercise alone will show you things your invoice history never will. You'll probably find one job that's actually solid and one that's been quietly costing you money for months. That's the beginning of running a business with real margins — not just a full calendar.

The operators who grow sustainably aren't always the ones working the most hours. They're the ones who know which hours are worth working.

If you're on Lawnager, run the Crew & Payroll report for the last 30 days. Cross-reference revenue per crew member against hours worked. That ratio — revenue per hour — is one of the clearest signals of job mix health in your business.

Ready to run your lawn care business smarter?

Join operators who traded spreadsheets for a platform that keeps up with them.

Start for free
Share: