Key takeaways
- Gross margin is revenue minus direct job costs, divided by revenue. Burdened field labor belongs in direct costs, not overhead.
- Public-company data show how much margins differ by business model: construction-style firms sit far below service-style firms[1].
- Service and repair work usually earns a higher margin percentage than replacement and install work because materials are a smaller share of the price.
- Set a separate target for each service line and review it monthly; one blended number hides losing work.
Gross margin in one line
Gross margin = (revenue − cost of goods sold) ÷ revenue. Gross profit is the dollar figure; gross margin is the percentage. For a home service company, cost of goods sold (often called cost of sales or direct costs) is everything you spend to deliver a specific job and would not have spent if the job had not happened.
Gross margin is the first line on the profit and loss statement that tells you whether your pricing works. Overhead, marketing and the owner's salary all have to be paid out of gross profit. If gross margin is thin, net profit is thin or negative regardless of how lean the office is.
Pressure on this line is real. Increased costs of goods, services or wages were the most common financial challenge for US small employer firms in the 2025 Small Business Credit Survey, reported by 73% of firms[2]. Average hourly earnings at specialty trade contractors rose 4.7% in the year to September 2026[3]. Prices that stood still for a year mean margins went backwards.
What belongs in cost of goods sold
Most margin arguments come from inconsistent definitions. Put these in direct costs:
- Field labor at a burdened rate: wages, overtime, payroll taxes, workers' comp and benefits for the hours spent on jobs.
- Materials and equipment installed, at your cost including freight and supply-house fees.
- Subcontractors: crane lifts, electricians on an HVAC change-out, dumpster hauling.
- Permits and inspection fees tied to a job.
- Equipment rental for that job, such as lifts or aerators.
- Warranty and callback labor, charged back to the service line that caused it.
Keep these out: office and dispatch wages, rent, software, marketing, the owner's salary and general vehicle costs for trucks not assigned to field work. Some companies also put truck costs for field vehicles in direct costs. Either choice is fine if you apply it every month; the trouble starts when the bookkeeper changes it mid-year.
The most common error: field wages booked as overhead. It makes gross margin look excellent and hides that labor is the cost you can control job by job.
What published data can and cannot tell you
There is no free, government-published gross margin benchmark for small home service companies. Trade associations and peer groups run member surveys, and those are the closest comparisons, but they cost money and use their own definitions. Public-company data is free and shows the effect of business model clearly, even though the companies are far larger than a local contractor.
Source: Aswath Damodaran, NYU Stern School of Business, 2026[1]
Show the data
| Item | Value |
|---|---|
| Engineering/Construction | 15.46% |
| Homebuilding | 22.7% |
| Building Materials | 30.94% |
| Business & Consumer Services | 33.38% |
| Total market | 37.76% |
In NYU Stern's January 2026 data set, US engineering and construction companies had an aggregate gross margin of 15.46%, homebuilders 22.70%, building materials makers 30.94% and business and consumer services firms 33.38%[1]. The pattern is the useful part: project work with heavy materials and subcontracting runs thin margins; service work where labor and expertise are the product runs fatter margins. A residential repair business looks more like the service end, while a new-construction install crew looks more like the construction end.
Do not copy those percentages as your target. Public companies classify costs differently and carry scale that a local shop does not. Use them to explain why your service department and your install department should have different targets.
Why service and install margins differ
On a repair, the customer mostly pays for diagnosis, labor and a few parts. On a replacement, a large share of the price is equipment or material that you buy and resell. Materials carry a markup, but a percentage markup on a big purchase rarely matches the margin on skilled labor billed at a flat rate.
Example (fictional): an electrical contractor tracks two service lines in September. Service calls: $120,000 revenue, $32,000 burdened labor, $14,000 parts, $1,000 callbacks, so gross margin is $73,000 ÷ $120,000 = 61%. Panel upgrades: $180,000 revenue, $46,000 burdened labor, $62,000 panels and materials, $9,000 permits and inspections, so gross margin is $63,000 ÷ $180,000 = 35%.
Example takeaway: blended, the company made 45%. The owner who looks only at the blend might raise service prices, which already earn 61%, when the real question is whether panel upgrades are quoted with enough labor hours and whether permit fees are passed through.
Cost structure by trade
| Trade | Largest direct costs | Where margin leaks |
|---|---|---|
| HVAC | Equipment, burdened tech labor, refrigerant | Underquoted install hours, callbacks after poor commissioning, warranty labor |
| Electrical | Labor, panels and wire, permits | Permit and inspection time not billed, return trips for failed inspections |
| Roofing | Shingles and underlayment, crew labor, disposal | Tear-off surprises, extra layers, weather days paid but not worked |
| Pest control | Technician labor, products, drive time | Low route density, retreatments, re-services not priced into plans |
| Cleaning | Cleaner wages, supplies, travel between homes | Jobs running long, unpaid travel time, first cleans priced like maintenance cleans |
| Landscaping | Crew labor, plants and materials, equipment | Mow time over estimate, fuel, crew idle during rain |
| Garage doors | Doors and openers, springs, labor | Free second trips for parts, discounting at the door |
| Appliance repair | Parts, tech labor | Parts ordering delays that create second visits |
Labor dominates almost everywhere. Plumbing, heating and air-conditioning contractors paid an average of $73,693 per employee in 2023, roofing contractors $70,552 and landscaping firms $51,286[4]. A margin review that skips labor hours per job is only half a review.
How to calculate margin by service line
Define your service lines
Four to eight is enough: service and repair, maintenance plans, replacement, new construction, commercial, and so on. Each job gets exactly one.
Tag revenue and costs to the same line
Use classes or departments in your accounting system so every invoice and every direct cost lands on a line. Our job costing guide explains how to capture labor and materials per job.
Apply one burden rate
Multiply field hours by a burdened hourly cost rather than raw wages, so taxes and benefits are counted.
Close the month before you read it
Wait until supplier bills are entered. Margin read before bills arrive looks better than it is.
Compare with last year's same month
Seasonal trades shift mix sharply; September against September is a fair test, September against August is not.
Five checks before you blame price
When a service line misses its margin target, the instinct is to raise prices. Price is sometimes the answer, but it is the last thing to check because it is the hardest to undo if you are wrong. Work through these first.
- Coding: confirm the jobs and their costs landed on the same service line. A replacement job coded as a repair inflates repair costs and flatters replacement margin.
- Timing: check that supplier bills for the month are all entered. A large equipment invoice posted a month late makes one month look poor and the next look excellent.
- Labor hours: compare actual hours with quoted hours for the ten largest jobs. Underquoted labor is the most common reason install margins slide.
- Materials: compare what the techs used with what the estimate assumed, including fittings, wire and fasteners that never make it onto the invoice.
- Free work: count callbacks, warranty visits and goodwill credits. Each one carries labor and often parts with no revenue against it.
Only when all five check out does the price book become the suspect. At that point compare your prices for the affected job types with your own close rates: if customers accept almost every quote, you probably have room; if close rates are already falling, the fix is more likely to be productivity or scope than price. Write down what you found each month, because a margin problem that returns every spring is usually a seasonal mix effect, not a pricing failure.
Setting targets and acting on them
Work backwards from overhead. If overhead and your profit goal together come to a certain share of revenue, gross margin has to cover both. A company whose overhead runs high because it staffs a large office needs higher gross margins than a lean owner-operator. Our guide to net profit for home service companies shows the walk from gross to net.
Then use simple decision rules each month:
- A service line below target for two closed months: review labor hours per job against the estimate before touching price.
- Labor on target but margin low: check material costs against the price book and update it. A price book tool keeps this from drifting.
- Margin high but volume falling: you may be priced above the market for that job type; check close rates.
- Callbacks rising: charge them back to the line and the tech so the cost is visible.
Margin and productivity work together. A tech who completes more jobs in the same paid hours lifts gross margin without a price change, which is why revenue per technician belongs on the same report. Raising the average ticket through clear options does the same on the revenue side.
Frequently asked questions
Is markup the same as margin?
No. Markup is profit divided by cost; margin is profit divided by price. For example, a 50% markup on a part that costs $100 gives a $150 price and a 33% margin. Price books built on markup often deliver lower margins than owners expect.
Should truck costs go in cost of goods sold?
Either way works if you are consistent. Many service companies put field vehicle costs in direct costs because trucks exist to serve jobs. Write the rule down and keep it for the whole year.
Why is my gross margin different from my peer group's?
Usually definitions. Check whether they include burdened labor, warranty costs and vehicle costs in direct costs. Compare line by line before deciding your prices are wrong.
References
Aswath Damodaran, NYU Stern School of Business (2026). Margins by Sector (US), January 2026 (opens in a new tab) ↑
Federal Reserve Banks (2026). 2026 Report on Employer Firms: Findings from the 2025 Small Business Credit Survey (opens in a new tab) ↑
U.S. Bureau of Labor Statistics (2026). Current Employment Statistics: average hourly earnings, specialty trade contractors (CEU2023800008) (opens in a new tab) ↑
U.S. Census Bureau (2023). County Business Patterns 2023: U.S. detail file (cbp23us) (opens in a new tab) ↑