Every owner asks the same question at some point: is my margin normal, or am I leaving money on the table? A pressure washer clearing 18% net and a landscaper clearing 18% net are not in the same shape — one is doing great, the other is probably underpricing. So what is a good profit margin for a landscaping business, or an HVAC shop, or a cleaning crew? The honest answer is a range, and the range moves depending on the kind of work you sell. Here are the numbers, and how to read them against your own books.
How to read a margin benchmark (and why the range is wide)
Two numbers do most of the work here. Gross margin is revenue minus direct job cost — the labor, materials, and equipment fuel that a specific job consumes. Net margin is what is left after overhead — the truck payment, insurance, software, advertising, and the hours you spend quoting and invoicing. Gross tells you whether the work itself is priced right; net tells you whether the whole business is.
The reason every benchmark below is a range and not a single figure is that "labor cost" is where trades diverge. A trade that pays two techs on a job all day carries a heavier labor load than one selling a chemical and a wand for an hour. So compare yourself to your trade, not to the highest number you can find online. And compare gross to gross: a lot of the scary-low margins owners quote are actually net numbers being read as if they were gross.
Loaded labor first
None of these ranges hold if your labor line is wrong. A tech you pay $25/hr rarely costs you $25/hr — add payroll taxes, workers-comp, and non-billable time and the real number is often $35–$45. Bid against the wage instead of the loaded cost and your "40% margin" is fiction before you buy a single part.
Recurring maintenance vs project work: why the margins differ
The single biggest thing that moves your margin is not your trade — it is whether the job is routine maintenance or a one-off project. Recurring work (weekly mowing, quarterly pest treatments, a monthly cleaning contract, a maintenance plan) usually runs a thinner gross margin than a design-build install or a full replacement. That is expected, and it is not a problem.
- Recurring maintenance — often 10–30% net. The work is competitive and easy to price-shop, so the per-visit margin is thinner. What you get in return is predictable cash: the same route, the same crew, revenue you can forecast a quarter out, and near-zero cost to re-sell the customer every visit.
- Project / replacement work — often 20–45%+ gross on the good ones. A design-build landscape, an HVAC changeout, or a repaint carries a fatter margin because it is custom, harder to compare shop-to-shop, and priced per job instead of per hour. The tradeoff is lumpy cash and a sales cycle for every dollar.
The businesses that hold together run both: recurring work to keep the crew paid and the calendar full, project work to fund growth. Knowing which bucket a job falls in is the first step to knowing whether its margin is good.
Landscaping and lawn care
Lawn care and maintenance routes typically land around 10–20% net — thin per-cut, but the whole model is volume and route density. Design-build and hardscape projects are where the margin lives: 25–40%+ gross is reasonable when you price the design, not just the labor hours. If your maintenance side is under 10% net, the usual culprit is windshield time and under-priced add-ons (mulch, cleanups) that never made it onto the invoice.
HVAC
A well-run HVAC shop often sees 15–25% net overall, blended across service, maintenance plans, and installs. Service and repair calls carry strong gross margin; equipment replacements are lower gross percentage but big dollars, so a healthy shop uses maintenance agreements to smooth cash between changeout seasons. If your net is stuck in single digits, look at how much unbilled diagnostic and drive time is quietly eating the ticket.
Cleaning
The average profit margin for a cleaning business runs wide because it is a labor business: residential and recurring commercial cleaning often net 10–20%, with the margin decided almost entirely by scheduling efficiency and turnover. Every hour a crew is driving or idle is margin gone. One-off deep cleans and post-construction jobs price higher per hour, which is why cleaners who mix in project work tend to clear the top of that range.
Painting, pressure washing, and pest control
These trades share a shape: low material cost relative to the sale, so gross margin looks great and the real fight is overhead and scheduling.
- Painting — the profit margin for a painting business is often 30–50% gross on residential repaints, because labor is the job and you control the crew. Net commonly lands 10–20% after overhead. Commercial and new-construction painting runs thinner and more competitive.
- Pressure washing — one of the higher-gross trades: what is a good profit margin for a pressure washing operation is frequently 40–50%+ gross because chemicals are cheap and one operator can bill a full ticket. The catch is it is easy to enter and easy to under-price, so the margin erodes fast in a crowded market. Recurring commercial contracts protect it.
- Pest control — recurring quarterly service is the model, and it nets 15–25% for well-routed operators. Like lawn care, the margin is route density: more stops per mile, more margin per truck-day.
These are starting points, not targets
A number pulled off the internet is a sanity check, not a goal. Your real target is the margin that covers your overhead, funds a slow month, and pays you a wage — computed from your own costs. Beat the benchmark and still fail to cover payroll and you priced wrong; that is the number that matters.
What to check first if you're under 10%
If your net margin is under 10% and it should not be, the leak is almost never mysterious. Work these four in order before you touch your prices.
Verify your loaded labor rate
Confirm you are costing jobs at wage plus payroll taxes, workers-comp, and non-billable time — not the hourly wage. This one line is where most phantom margin hides.
Find the unbilled work
Add up the drive time, diagnostics, callbacks, and "while I'm here" extras that made it into the day but never onto an invoice. In most shops this is the single biggest leak.
Separate recurring from project margin
Stop looking at one blended number. If your routes net fine but projects lose money (or vice versa), the fix is specific — and you cannot see it in the average.
Re-check markup vs margin
Marking cost up 40% is not a 40% margin. If you built prices by multiplying, you are likely a full 10+ points below the margin you think you have. See the markup-vs-margin mistake.
The reason most owners cannot answer "what is my margin by job type" is that the number lives in four places — a spreadsheet for the pipeline, a calculator for the quote, QuickBooks for the books. Mortar carries the quote total straight through to the invoice and onto a cash-basis P&L untouched, so you can see real margin by job instead of guessing at year-end. Once you can read the number, the next step is learning to read the whole statement — start with how to read your profit and loss statement.
What is a good profit margin for a landscaping business?
Maintenance and lawn-care routes commonly net 10–20%, while design-build and hardscape projects run 25–40%+ gross. If your maintenance side is under 10% net, the usual cause is drive time and under-priced add-ons like mulch and cleanups that never made it onto the invoice.
What is a good profit margin for an HVAC business?
A well-run HVAC shop often nets 15–25% overall, blended across service, maintenance plans, and installs. Service calls carry strong gross margin; equipment replacements are lower percentage but larger dollars, so maintenance agreements smooth the cash between changeout seasons.
Why is recurring work lower margin than project work?
Recurring maintenance is competitive and easy to price-shop, so the per-visit margin is thinner. In exchange you get predictable, forecastable cash and almost no cost to re-sell the customer each visit. Project work is priced per job and harder to compare shop-to-shop, so it carries a fatter margin but lumpier cash.
Building Mortar — the all-in-one CRM for service businesses. One shared record, one number behind every job.