Short answer

There isn't one "good" contractor profit margin. It depends on your trade, how much work you self-perform and how much risk you carry. For a published reference point, the NYU Stern margins by industry dataset (Aswath Damodaran, January 2026) shows 48 publicly traded US engineering and construction companies at a 15.46% gross margin and a 5.94% net margin. Those are large public companies, not a $3M contractor, so use them as a sanity check, not a target. The numbers that matter are yours: gross margin (revenue minus direct job costs, divided by revenue), overhead percentage (company overhead divided by revenue) and net margin (what's left, divided by revenue). And remember that markup isn't margin: a 20% markup on cost is only a 16.7% margin on the price.

Most contractors know their revenue to the dollar. Far fewer can say what percentage of it they keep, or how much every job has to carry to pay for the office. Margin and overhead are the two numbers that decide whether growth makes you money or just makes you busier.

What's the difference between gross margin and net margin?

Gross margin is what's left of your revenue after the direct costs of doing the work. In construction, direct costs are the ones you can tie to a job: field labor and its payroll burden, materials, subcontractors, equipment used on the job and job-specific costs like permits or a site trailer. Gross profit divided by revenue is your gross margin.

Net margin is what's left after everything else too: the office, the estimator, insurance that isn't charged to jobs, software, the owner's administrative time, accounting, marketing. Net profit divided by revenue is your net margin.

The gap between the two is your overhead. A contractor can have a healthy gross margin and still lose money if overhead grows faster than the jobs that pay for it. That's why you watch both, every month, not just at tax time.

What do the published benchmarks actually say?

Benchmarks for private contractors are hard to find for free, and many numbers you'll see quoted online don't say where they came from. One source that's public, dated and transparent about its method is the margins by industry dataset maintained by Aswath Damodaran at NYU Stern. His January 2026 update for US companies shows:

Industry (Damodaran, Jan 2026)FirmsGross marginPre-tax operating marginNet margin
Engineering/Construction4815.46%6.49%5.94%
Homebuilding3022.70%12.57%9.47%
Total US market5,99437.76%12.82%9.74%

Read these carefully. They come from publicly traded companies, which are far larger than a contractor doing $1M to $5M, and the engineering and construction group mixes engineering firms with builders. Your cost structure, your owner's pay and your tax situation will all look different. The pre-tax operating margin column is listed as "unadjusted" in the dataset.

So what's the benchmark for you? Your own history. If your gross margin was 22% two years ago and it's 17% now, that trend tells you more than any national average. The rest of this post is about measuring it.

Why isn't markup the same as margin?

This is the most expensive misunderstanding in construction pricing. Markup is a percentage of cost. Margin is a percentage of the selling price. Same dollars, different denominator.

Say a job costs you $100,000 and you add a 20% markup. You bid $120,000. Your profit is $20,000. As a margin, that's $20,000 divided by $120,000, which is 16.7%, not 20%. If you set a goal of a 20% margin and price with a 20% markup, you'll miss it on every job.

The conversions are simple once you write them down:

Markup on costPrice on a $100,000 jobProfitMargin on price
10%$110,000$10,0009.1%
15%$115,000$15,00013.0%
20%$120,000$20,00016.7%
25%$125,000$25,00020.0%
30%$130,000$30,00023.1%
50%$150,000$50,00033.3%

What counts as overhead in a construction company?

Overhead is any cost of running the company that you can't charge to a specific job. Typical items:

Keep one line clear: job overhead (often called general conditions) is different. A superintendent dedicated to one project, that project's dumpsters, temporary power and permits are direct costs of that job. They belong in the job's cost codes, not in company overhead. When job overhead leaks into the office line, your jobs look more profitable than they are and your overhead looks bloated.

How do you calculate your overhead percentage?

Start with a full year of numbers. Here's a contractor doing $3 million in revenue:

LineAmount% of revenue
Contract revenue$3,000,000100.0%
Field labor and payroll burden$900,00030.0%
Materials$700,00023.3%
Subcontractors$650,00021.7%
Equipment and job overhead$150,0005.0%
Total direct job costs$2,400,00080.0%
Gross profit$600,00020.0%
Company overhead$360,00012.0%
Net operating profit$240,0008.0%

There are two ways to state overhead, and both are useful:

Mixing the two up is how a contractor ends up "covering overhead" on paper and short in the bank. If you add 12% to cost, you've recovered only $288,000 of a $360,000 overhead on this volume.

What's an overhead recovery rate, and how do you use it in a bid?

An overhead recovery rate is the amount each job has to carry so that, across the year, your jobs pay for the office. You pick a base that tracks what really drives your overhead, then divide.

Per dollar of direct cost: 15%, as above. Per field labor hour: if your crews work 40,000 hours a year, $360,000 ÷ 40,000 = $9.00 per hour.

The base you choose changes the answer, and that's the point. Compare two jobs with the same $200,000 of direct cost:

JobDirect costField hoursOverhead at 15% of costOverhead at $9.00 per hour
A: mostly self-performed$200,0003,000$30,000$27,000
B: mostly subcontracted$200,000600$30,000$5,400

If your office time really goes into managing crews, the hourly rate is closer to the truth and Job B is cheaper to run than a flat percentage suggests. If your project managers spend just as long coordinating subcontractors, the percentage of cost is fairer. Many contractors use a blend. What matters is that you choose on purpose and test it against last year's actuals.

Now price Job A. Direct cost $200,000, plus $30,000 overhead recovery, gives a break-even of $230,000. To earn an 8% net margin on the price, divide by (1 − 0.08): $230,000 ÷ 0.92 = $250,000. Profit is $20,000, which is 8% of $250,000. Total markup on direct cost is 25%, and the job's gross margin is $50,000 ÷ $250,000 = 20%.

What happens to your margin when volume changes?

Most overhead is fixed in the short run. The office rent doesn't drop because you lost a bid. Keep the same 20% gross margin and $360,000 overhead from the table above and watch net margin move with revenue:

RevenueGross profit at 20%OverheadNet profitNet margin
$2,500,000$500,000$360,000$140,0005.6%
$3,000,000$600,000$360,000$240,0008.0%
$3,500,000$700,000$360,000$340,0009.7%

That's why the recovery rate should be built on the volume you realistically expect next year, not the best year you ever had. If you set it on $3.5 million and do $2.5 million, every job was underpriced for overhead before it started.

How do you measure your own margins?

None of this works without clean job numbers. Three habits make the difference:

Building margin reporting, overhead budgets and recovery rates for growing contractors is part of our construction fractional CFO and construction accounting work.