A construction profit margin is the share of revenue you keep. Gross margin is what’s left after the direct costs of the jobs; net margin is what’s left after overhead too. Growth only makes you more money if the gross margin on each job holds while you grow, and overhead grows more slowly than gross profit.
It’s possible to add crews, trucks and office staff, watch revenue climb, and end the year with less profit than before. This guide shows how to read the two margins, why outside benchmarks are a poor target, how to work out the margin your business needs, and how to check whether your last year of growth actually paid.
Gross margin and net margin
| Formula | What it tells you | |
|---|---|---|
| Gross profit | Revenue − direct job costs (labor, materials, subcontractors, equipment and other costs for that job) | What the jobs themselves produce |
| Gross margin | Gross profit ÷ revenue | How well you price and run the work |
| Overhead | Costs that exist whether or not a job runs: office staff, rent, insurance, vehicles, software, owner salary | What it costs to keep the business open |
| Net profit | Gross profit − overhead | What the business actually earns |
| Net margin | Net profit ÷ revenue | How much of every dollar you keep |
Example, made up to show the method: a $10,000 job with $6,800 in labor, materials and subs leaves $3,200 of gross profit, a 32% gross margin. If your overhead works out to 24% of revenue, the job adds about 8% net.
Gross margin is the number you control job by job. Net margin is the number that tells you whether the whole business is working. You need both, and growth tends to hit them in different ways. For the difference between margin and markup when you price, see construction markup vs. margin.
What’s the average profit margin in construction?
You’ll find plenty of numbers online. Be careful with them. Many published figures describe large companies, and a 15-person remodeler or a 30-person HVAC company has a very different cost structure.
One public example: NYU Stern professor Aswath Damodaran’s January 2026 margins by sector data for US companies shows the 48 listed engineering and construction companies in his data set at a 15.46% gross margin and a 5.94% net margin, and the 30 listed homebuilders at 22.70% gross and 9.47% net.
Those are large, publicly traded companies that book costs their own way. They aren’t a target for a trade contractor that runs its own crews. A company that self-performs most of its work can have a higher gross margin and higher overhead than a general contractor that subs everything out, so the same net result can come from very different gross margins.
The more useful question is: what gross margin does your business need?
Work out the margin your business needs
Start from your costs and your goal, not from someone else’s average:
Required gross margin = (overhead + target net profit) ÷ expected revenue
Example, made up: a contractor expects $2.4 million in revenue next year. Overhead, including the owner’s salary, office staff, trucks, insurance and rent, comes to $480,000. The owner wants an 8% net profit, which is $192,000.
- Gross profit needed: $480,000 + $192,000 = $672,000
- Required gross margin: $672,000 ÷ $2,400,000 = 28%
Every job priced below 28% gross is a job that pulls the company below its goal, unless another job makes up for it. That’s your floor for estimating, and the number to compare your actual job results against.
Put your owner’s salary in overhead at what you’d pay someone to do your job. If you leave it out, the margin looks healthy while the owner is working for less than an employee would. Fixed vs. variable costs walks through which costs go where.
Example: revenue up, profit down
A contractor adds a third crew and a project manager. The numbers are made up to show the pattern.
| Last year | This year | Change | |
|---|---|---|---|
| Revenue | $1,600,000 | $2,200,000 | +$600,000 |
| Gross margin | 32% | 27% | −5 points |
| Gross profit | $512,000 | $594,000 | +$82,000 |
| Overhead | $380,000 | $520,000 | +$140,000 |
| Net profit | $132,000 | $74,000 | −$58,000 |
| Net margin | 8.3% | 3.4% | −4.9 points |
Revenue went up by more than a third. Net profit nearly halved. Nothing dramatic happened; three ordinary things did:
- The new crew was slower on its first months of jobs, so labor ran over the estimates.
- Some work was discounted to keep the new crew busy, and a few bigger jobs were bid tight to win them.
- Overhead stepped up before revenue did: the project manager, a truck and more office hours were paid from the first month.
At 32% gross margin, this year’s $520,000 overhead would have needed about $1.63 million in revenue to break even. At 27%, it needs about $1.93 million. The company grew into a bigger break-even point without noticing.
Where growth can eat margin
| Where | What happens | What to check |
|---|---|---|
| New crews and new people | Labor hours run over while people learn your way of working | Actual vs. estimated labor hours, by crew |
| New kinds of work | You price work you haven’t done much of, with guessed hours | Gross margin by job type |
| Filling the schedule | Discounts and tight bids to keep crews busy | Margin on jobs won at a discount vs. at full price |
| Bigger jobs | More subcontracted work, thinner markup, longer payment terms | Gross margin and cash timing on your largest jobs |
| Overhead added ahead of revenue | Salaries, vehicles and software start before the work they’re meant to support | Monthly overhead ÷ monthly gross profit |
None of these is wrong on its own. Adding overhead before revenue is often the only way to grow. The problem is not knowing it’s happening until the year-end numbers arrive.
Check whether your growth is making money
Pull your last two years, or your last two six-month periods, from your accounting software and fill in this table:
| Earlier period | Recent period | |
|---|---|---|
| Revenue | ||
| Direct job costs | ||
| Gross profit and gross margin | ||
| Overhead | ||
| Net profit and net margin | ||
| Monthly break-even revenue (monthly overhead ÷ gross margin) |
Then answer three questions:
- Did gross margin hold? If it fell, which job types, crews or customers pulled it down? You’ll need job-level numbers for this, which is what job costing gives you.
- Did overhead grow faster than gross profit? If it did, was it planned investment, or did it creep in?
- Did your break-even point move? If it rose faster than revenue, you’re running harder to stay in the same place.
If your bookkeeping puts some job costs in overhead (or the other way round), fix the categories first. Margins calculated on mixed-up books aren’t worth acting on.
What to do when margin slips
- Price from actual hours, not hopeful ones. If the same job type keeps running long, check the estimate before blaming the crew. Compare estimated and actual costs on every job (the next lesson) and feed the results back into your estimates. Using historical job data to set better estimates covers how.
- Set a gross margin floor. Your required margin from above. A job below it needs a reason to be taken, written down.
- Stop discounting to fill the schedule unless the job still covers its direct costs and a share of overhead. An idle day costs you, but so does a crew-week booked at a loss.
- Raise prices where the work is worth more. Start with new customers and the job types where your margin is weakest. Explain changes plainly and don’t apologize for them.
- Watch overhead as a monthly number, not a yearly surprise. Every new salary or vehicle should come with the revenue and gross margin it needs to pay for itself.
Your next action
- Fill in the two-period table above from your books.
- Work out your required gross margin for next year: overhead (with your own salary) plus your target net profit, divided by expected revenue.
- Compare it with the gross margin you actually earned. Write the gap down.
What to review:
- Gross margin by month and by job type
- Overhead as a share of revenue, every month
- The gap between your required and your actual gross margin
Next lesson: compare estimated and actual costs on every job, so you can see which jobs, crews and job types are causing the gap.
FAQ
What is a good profit margin for a construction company?
The one that covers your overhead, pays the owner a fair salary and leaves the net profit you planned. Published averages mostly describe large public companies with a different mix of work. Work out your required gross margin from your own overhead and profit goal, and use outside numbers only as background.
What’s the difference between gross margin and net margin?
Gross margin is what’s left from revenue after the direct costs of the jobs: labor, materials, subcontractors and job equipment. Net margin is what’s left after overhead too: office, vehicles, insurance, rent, software and salaries that don’t belong to one job.
Why is my revenue growing but my profit isn’t?
Often one of two things: gross margin per job is slipping as you take on new crews, new kinds of work or discounted jobs, or overhead is growing faster than gross profit. Compare the two periods side by side to see which.
How often should I check my margins?
Gross margin on each job when it closes, and for the whole business every month. Net margin monthly as well, once your bookkeeping is up to date. A yearly check is too late to change anything.
Where MotionOps helps
In MotionOps, job costs are recorded where the work happens, so margins aren’t a year-end surprise:
- Job Costing: compares each job’s revenue with its actual labor and material costs, and shows the profit margin and whether the job was profitable.
- Field Expense Tracking: purchases, returns, tools and rentals are recorded against the specific job.
- GPS Time Tracking: clock-in and clock-out timesheets, with the location shown on a map.
- Business Units & Job Types: assign job types to proposals and work orders for clearer revenue reporting by type of work.
- Advanced Reporting: compare booked and collected revenue for any timeframe.
See plans and pricing, or try MotionOps free.



