General Contractor Profit Margin: What's Normal and What Moves It
Remodelers averaged 29.9% gross and 6.3% net in NAHB's 2026 study. Here's what that looks like on a $900,000 year and the four levers that move net profit.

A typical general contractor profit margin is around 30% gross and 6% net. NAHB's 2026 Remodelers' Cost of Doing Business Study put the 2024 average at a 29.9% gross profit margin and a 6.3% net profit margin.
Gross is what's left after job costs. Net is what's left after overhead, including what you pay yourself.
Gross margin = (revenue − job costs) ÷ revenue. Net margin = (gross profit − overhead) ÷ revenue.
On a hypothetical $900,000 year at those averages: $269,100 gross profit, $212,400 overhead, $56,700 net.
That 6% is the number that pays for slow months, new trucks and the job that goes sideways. Small moves in gross margin swing it a lot, and that's the useful part of this whole topic.
Scope: US residential and small commercial contractors, benchmarks dated below, worked example hypothetical. For markup percentages by line item, see contractor markup benchmarks; this page is about the margin the whole business ends up with.
1. What is a good profit margin for a general contractor?
For a residential remodeler or small GC, about 30% gross and 6% net is average. Treat anything above 8% net as well ahead of the pack, and anything under 3% net as a warning: at that level one bad job can wipe out the year.
Those ranges come from the benchmarks below. The NAHB figure is the closest match for small residential contractors. Public construction companies run very different businesses, so treat their numbers as context, not a target.
| Benchmark | Gross margin | Net margin | Source, date |
|---|---|---|---|
| US remodelers, 2024 average | 29.9% | 6.3% | NAHB, Apr 10, 2026 |
| Public engineering and construction firms (48) | 15.46% | 5.94% | Damodaran, Jan 2026 |
| Public homebuilders (30) | 22.70% | 9.47% | Damodaran, Jan 2026 |
Sources: NAHB, Home Remodeling Profit Margin Jumps on Demand and Business Practices; Aswath Damodaran, Margins by Sector (US), data as of January 2026.
NAHB notes that the 6.3% net was the highest since 1996, up from 3% in 2011. Gross margin recovered from a record low of 24.9% in 2021, mostly because trade contractor costs fell from 36% of revenue to 30%.
2. Gross profit margin vs net profit margin
Gross margin tells you whether your jobs are priced right. Net margin tells you whether the business works. You need both numbers, and you need to stop mixing them up.
Job costs are what you spend because a specific job exists: materials, subs, field labor, permits, the dumpster. Overhead is what you spend whether or not you have a job this week: office, insurance, truck payments, software, marketing, and your own pay.
NAHB counts owner compensation as an operating expense. So a 6% net is profit on top of paying yourself. If you don't pay yourself a salary, your "net" is really your wage, and it's probably thinner than it looks.
3. Worked example: where a $900,000 year's profit goes
Take a hypothetical remodeling GC with $900,000 in annual revenue that lands exactly on the NAHB averages.
| Line | Amount | Share of revenue |
|---|---|---|
| Revenue | $900,000 | 100% |
| Job costs (materials, subs, field labor) | $630,900 | 70.1% |
| Gross profit | $269,100 | 29.9% |
| Overhead, including owner pay | $212,400 | 23.6% |
| Net profit | $56,700 | 6.3% |
Notice that gross is about 4.7 times net. Every dollar of gross margin you lose comes straight out of that $56,700, because overhead doesn't shrink when a job goes badly.
To hit 29.9% gross on each job, price it with price = cost ÷ (1 − 0.299). A job costing $10,000 sells for $14,265. That's a 42.6% markup, which is why people who think in markup and margin interchangeably end up short.
4. What actually moves net profit margin
Four levers, in order of how fast they show up: gross margin on each job, unbilled extras, volume against fixed overhead, and overhead itself.
| Scenario (same $212,400 overhead) | Net profit | Net margin | Change vs base |
|---|---|---|---|
| Base: $900,000 revenue, 29.9% gross | $56,700 | 6.3% | |
| Gross margin up 2 points to 31.9% | $74,700 | 8.3% | +31.7% |
| Revenue up 10% to $990,000, overhead flat | $83,610 | 8.4% | +47.5% |
| Unbilled extras equal to 1% of revenue | $47,700 | 5.3% | −15.9% |
Gross margin per job. Two points on every job added $18,000, or 31.7%, to net. That's tighter estimates, fewer forgotten line items and saying no to the discount.
Unbilled extras. $9,000 of free "while you're here" work, 1% of revenue, cost 15.9% of net. A clear construction scope of work with written exclusions is the cheapest fix, followed by change orders signed before the work starts.
Volume. More revenue against the same overhead helps a lot, but only if overhead really stays flat. Hire a project manager to get that 10% and most of the gain is gone.
Overhead. Cutting $10,000 of overhead adds $10,000 to net, dollar for dollar. Useful, but there's a floor. You can't cut insurance to zero.
5. How to check your own margins
Pull last year's numbers and compute both margins. Then check a few recent jobs one by one.
- Revenue for the year, from your invoices or tax return.
- Job costs: materials, subs, field labor including your own field hours at a fair wage, permits, equipment rental.
- Gross margin = (revenue − job costs) ÷ revenue.
- Overhead: everything else, including a salary for you.
- Net margin = (gross profit − overhead) ÷ revenue.
- Compare the year's gross margin with the margin you priced into your estimates. The gap is money that leaked on site.
The profit margin calculator handles the per-job math, and the hourly rate calculator folds overhead into your labor rate so it gets charged on every job.
6. When the averages don't fit
Benchmarks are averages across very different businesses. Three common cases where your targets should differ.
You sub out most of the work. If subs do 80% of the job, you carry less field risk, and the margin you add on top of sub bids may be thinner than a self-performing crew's. That can still work if your overhead is light. Judge yourself on net, not on gross alone.
You're a one-person shop. Overhead is small, but your own pay is most of it. Price your field hours at a real wage and treat what's left as profit. Otherwise you'll think you're making 25% net when you're paying yourself $18 an hour.
Small jobs and service work. Repair and handyman-style work needs a higher gross margin than a $60,000 remodel, because drive time, quoting time and admin are spread over a smaller ticket.
Running a roofing crew rather than the whole job? The specialty trade numbers are different; see roofing business profit margin for the benchmark and how sales commissions change the math.
Common profit margin questions
How much profit should a general contractor make?
Aim for about 30% gross margin and at least 6% net, with owner pay counted as an expense. NAHB's 2026 study found remodelers averaged 29.9% gross and 6.3% net in 2024. Above 8% net puts you well ahead of that average. Below 3% net, one bad job or a slow quarter can erase the year's profit.
What is the average construction profit margin?
It depends on the business. Small US remodelers averaged 6.3% net in 2024 according to NAHB. Large public engineering and construction firms averaged 5.94% net in Damodaran's January 2026 data, and public homebuilders 9.47%. Gross margins vary more: 15% to 30% across those groups.
Is 30% markup the same as 30% margin?
No. A 30% markup on $10,000 of cost gives a $13,000 price and a 23.1% margin. A 30% margin needs a $14,286 price, which is a 42.9% markup. Price with price = cost ÷ (1 − margin) and you'll hit the margin you meant.
Is a 20% net profit margin realistic for a contractor?
For a whole business, rarely. Averages sit near 6% net. A 20% net usually means the owner isn't paying themselves a market wage, or it's one unusually good year. Individual jobs can hit 20% or more, which is fine, because other jobs will come in under.
What to do on your next estimate
Pick your target gross margin, price every line with cost ÷ (1 − margin), and write exclusions so extras get billed instead of donated.
Already sent one? Upload it to the estimate checker and see if it's priced too low.


