Busy All Week. Is Your Gross Margin Any Good?
A full schedule can hide lousy job economics. Here’s how to calculate gross margin, choose a useful target for your trade, and fix the leaks.
The short version
- 01Gross margin is the percentage of revenue left after the direct cost of delivering the work.
- 02Benchmarks only help when you count costs consistently. Leaving out field labor makes your margin look better, not your business.
- 03Use trade-specific planning ranges, then test whether your gross profit covers overhead and your operating profit target.
- 04Fix estimating, pricing, labor overruns, and unbilled extras before chasing more volume.
A packed calendar is not proof you priced the work properly. Sometimes it just means you’re the cheapest competent person in town.
Gross margin tells you whether the work itself makes financial sense. Before the office rent. Before the marketing bill. Before another truck makes a bad pricing problem bigger.
What gross margin actually means
Gross profit is revenue minus the direct cost of delivering what you sold. Gross margin is that profit expressed as a percentage of revenue.
For a service business, direct costs generally include field labor, payroll taxes and benefits on that labor, materials, subcontractors, and job-specific rentals or disposal fees.
Example: You invoice a plumbing job for $2,000. The parts, fully loaded technician labor, and other direct costs total $1,100.
- Revenue: $2,000.
- Direct costs: $1,100.
- Gross profit: $900.
- Gross margin: $900 divided by $2,000 = 45%.
That is not a 45% markup. Markup divides profit by cost. Margin divides profit by revenue.
Add a 50% markup to a $1,000 job cost and you charge $1,500. Your margin is only 33.3%. Confusing those two numbers will quietly wreck a price book.
What healthy can look like by trade
The following are practical planning ranges, not measured industry averages or guarantees. Use them to challenge your pricing, then test them against your actual overhead. They assume direct production labor and its payroll burden are included in job costs.
- Residential plumbing, electrical, and HVAC service: 45%–60%. Diagnostic skill, travel between calls, and small invoices demand strong pricing. Installation-heavy businesses need a different comparison.
- HVAC equipment installation: 35%–45%. Equipment consumes a substantial share of the invoice. Buying well helps, but underestimating installation hours still hurts.
- Remodeling and general contracting: 25%–35%. Subcontractor-heavy work can operate at lower gross margins than self-performed service work. Weak scope control can erase the planned margin fast.
- Painting: 40%–50%. Prep time, access, protection, and return visits belong in the estimate. Paint is rarely the only problem.
- Routine lawn maintenance and residential cleaning: 40%–55%. Route density and crew productivity matter enormously. Two identical jobs can produce different margins because one requires a long drive.
- Landscape installation and hardscaping: 30%–45%. Material handling, equipment, site conditions, and disposal need explicit allowances.
Don’t compare a retail shop’s merchandise margin with a plumber’s labor-inclusive margin. Likewise, a clinic or gym that puts practitioner or coaching pay in overhead will show a very different gross margin from one that treats it as a direct cost.
Same label does not mean same calculation.
Your overhead gets a vote
A margin inside a planning range can still be inadequate for your business.
Example: Your company does $1.5 million in annual revenue. Office payroll, rent, insurance, software, marketing, and other overhead total $450,000. That includes a reasonable salary for your management work.
You want $150,000 in operating profit, before interest and tax.
- Overhead to cover: $450,000.
- Target operating profit: $150,000.
- Required gross profit: $600,000.
- Required gross margin: $600,000 divided by $1.5 million = 40%.
At 30%, you generate $450,000 in gross profit. Your overhead eats all of it.
So “other contractors run at 30%” is not a useful defense. Your numbers require 40% at that revenue level. You need better job economics, lower overhead, or a credible combination—not benchmark worship.
Recalculate this when revenue or overhead changes materially.
Find the leak before changing everything
Start with ten recently completed jobs. Compare what you estimated with what actually happened.
Count owner labor, too. If you spent Saturday installing something for free, the job didn’t become more profitable. Your bookkeeping just stopped telling the truth.
Use a realistic replacement labor cost for those hours when evaluating pricing. Keep accounting treatment consistent with your bookkeeper.
For each job, check:
- Price: Did discounts or stale pricing reduce the invoice?
- Labor: Did you estimate eight hours and use twelve?
- Materials: Did purchases exceed the allowance? Were leftovers and returns tracked?
- Scope: Did the customer receive extras nobody billed?
- Rework: Did a callback consume another half-day?
Apply one consistent policy to paid travel, setup time, and field downtime. Don’t exclude them from job costs and then forget to recover them elsewhere.
Split results by work type. A blended company margin can hide profitable repairs subsidizing lousy installations.
Fix the math, not just the workload
Suppose your business produces $1 million in revenue with $600,000 in direct costs. Gross profit is $400,000. Gross margin is 40%.
Two illustrative fixes:
- Raise realized prices 10%, with the same job volume and direct costs. Revenue becomes $1.1 million. Gross profit becomes $500,000. Margin becomes 45.5%.
- Hold revenue steady and remove $50,000 of avoidable direct costs. Gross profit becomes $450,000. Margin becomes 45%.
Neither result is automatic. Higher prices can affect demand. Cost reductions must come from less waste, better purchasing, tighter routes, and fewer callbacks—not rushed work that creates tomorrow’s repair bill.
For quoting, use price = direct cost divided by (1 minus target margin).
A job costing $1,200 needs a $2,000 price to produce a 40% margin: $1,200 divided by 0.60.
That formula is your starting point. Customer value and local competition still matter. But accepting work below your economics because “that’s what people pay” is not a strategy.
Monday morning: fix this first
Pull those ten completed jobs. Rebuild their direct costs. Calculate each margin.
Then pick the biggest recurring leak and change one operating rule this week:
- Underestimated labor? Update estimating hours.
- Free extras? Require written change approval and pricing.
- Stale prices? Reprice the most frequently sold work first.
- Excess travel? Tighten scheduling by area.
Assign an owner. Review the next ten jobs.
Get the work profitable before buying more leads. More volume through broken pricing is just more bullshit to manage.
