If you've been in the construction business long enough, you know the feeling: you land a big project, stay busy for six months, and somehow end up with almost nothing in the bank at the end. Revenue was there. Profit wasn't.
This problem is common. And while it feels like a cash flow problem or a client problem, it usually traces back to the same root cause: the estimate was off. Not catastrophically — just a few percentage points here and there, across labor, materials, and subcontractor scope. By the time the project closes, those gaps have quietly consumed your margin.
This guide covers what GC profit margins actually look like across project types, why most contractors lose margin in the same three places, and what the math looks like when your estimating is tight versus when it isn't.
Average GC Profit Margins by Project Type
There is no single "normal" margin in construction. Project type, firm size, and regional market conditions all affect what's achievable. But the data gives us useful benchmarks.
Net profit margins represent what you actually keep after all costs — direct costs, overhead, and taxes. These are the numbers that matter for your business health:
| Project Type | Typical Net Margin | Notes |
|---|---|---|
| Residential (single-family) | 3–9% | NAHB 2025 data shows 9% average for home builders; custom/spec varies widely |
| Commercial construction | 4–8% | Lower end for high-subcontract-intensity work; higher for self-perform |
| Heavy highway / infrastructure | 6–7.2% | Typically higher than vertical construction due to self-perform opportunities |
| Specialty trades (electrical, HVAC) | 8–20% | Service agreements push margins toward the higher end |
| Industry average (all GCs) | 5–6% | CFMA 2023 data: 6.3% pre-tax net income as % of revenue |
According to Construction Financial Management Association data, top-performing contractors achieved approximately 12% net income before tax — roughly double the industry average. EstimateHawk's 2026 analysis of over 200 GC firms shows best-in-class performance at 10–12% net margin, with commercial building projects averaging just 4.8% net.
Gross profit margins tell a different story because they're measured before overhead. GCs typically see gross margins between 15% and 22%, according to industry benchmarks from NEXT Insurance. The gap between gross and net is your overhead — and keeping that gap tight is as important as keeping your project costs low.
Net vs. Gross Margin: What the Difference Means for GCs
A lot of contractors focus on gross margin and think they're doing fine. Then overhead hits, and the picture changes fast.
Gross profit margin is revenue minus direct project costs (labor, materials, subcontractors, equipment). It doesn't include office rent, admin staff, insurance, software, vehicle costs, or your own salary if you're an owner drawing from the business.
Net profit margin is what remains after you pay everything — including overhead. This is the number that determines whether your company is actually growing or just staying busy.
The formula is straightforward:
Gross Profit Margin = (Revenue − Direct Costs) ÷ Revenue × 100
Net Profit Margin = (Revenue − Direct Costs − Overhead) ÷ Revenue × 100
A concrete example: a GC with $2 million in revenue, $1.6 million in direct costs, and $200,000 in overhead.
- Gross profit: $400,000 → Gross margin: 20%
- Net profit after overhead: $200,000 → Net margin: 10%
That 20% gross margin looks healthy. But if overhead rises to $280,000 — a common creep as companies grow — net margin drops to 6%, average territory. If direct costs run even 3% over estimate, you're looking at net margins under 4% before any surprises hit.
The 3 Categories That Eat GC Margins
Most GCs lose margin in the same three places, regardless of project type. Understanding them specifically — not just in the abstract — is what separates contractors who protect their numbers from those who wonder where the money went.
1. Labor Overruns
Labor is the most unpredictable cost in construction. Material prices have published benchmarks. Subcontractor prices are locked in by executed contracts. But your own labor — or self-performed work — is subject to productivity variance, absenteeism, overtime, and learning curve on unfamiliar project types.
Studies show labor-related issues account for over 30% of total cost overruns, according to Construction Industry Institute research. The math translates directly to margin: if your estimate assumed 1,000 labor hours at $65/hour but the job took 1,150 hours, that's $9,750 in unbudgeted labor cost. On a $300,000 job targeting 10% net margin ($30,000), that single overrun just cut your margin by 32%.
Build labor estimates from actual crew productivity data on your completed projects, not industry averages. Track estimated vs. actual hours on every job and feed that data back into future estimates.
2. Material Cost Variance
Material prices fluctuate, and estimates that don't account for that are built on a false foundation. Market volatility contributes to up to 20% of cost variances in construction projects, according to LinkedIn's construction overrun analysis.
The specific failure modes: using last year's pricing without updating, failing to lock in material prices at estimate time for long-lead items, and not including escalation clauses in contracts for projects over 6 months of construction.
On fixed-price contracts — the majority of commercial construction — material cost variance is 100% your risk. A 5% increase in lumber, steel, or copper prices between bid date and procurement can eliminate months of margin.
Update material pricing before every bid submission. For projects over 60 days of construction, include escalation language in your contract or add a realistic contingency.
3. Subcontractor Scope Gaps
This is the most common and least discussed cause of margin loss in GC operations.
A scope gap happens when your estimate assumes a sub will include a specific item, the sub's bid doesn't cover it, and you either eat the cost or fight over it mid-project. Both outcomes hurt. The first costs money directly. The second costs the relationship and often some money anyway.
The root cause is almost always inadequate bid coverage. When you have one sub bid for mechanical work and it comes in at budget, it's easy to assume the scope is complete. When you have four bids and three of them are missing the same line item, you catch the gap before it becomes your problem.
The Construction Industry Institute reports that 70% of construction cost overruns trace back to errors in initial estimates — and subcontractor scope gaps are a major driver of that number.
Here's a scenario that comes up more than it should: four different subs each assume one of the others is including exterior waterproofing on an elevator pit. Nobody puts it in their bid. It surfaces six weeks into construction as an unbudgeted $26,000 item. The only option is a cost-plus change order. An entire phase's worth of margin gone, traceable back to a single scope assumption nobody verified at bid time.
How Estimating Errors Directly Translate to Margin Loss
A GC estimates a $1.5 million commercial renovation project targeting a 10% net margin ($150,000 in profit).
| Estimating error | Dollar impact | Effect on margin |
|---|---|---|
| Labor productivity off by 8% | −$24,000 | −1.6 percentage points |
| Steel pricing outdated by 6% | −$18,000 | −1.2 percentage points |
| One mechanical sub scope gap | −$22,000 | −1.5 percentage points |
| One electrical sub scope gap | −$15,000 | −1.0 percentage points |
| Combined impact | −$79,000 | −5.3 percentage points |
The target was 10% net margin. After four common, individually "small" estimating errors, the realized margin is 4.7%. The project wasn't a disaster — no one made a catastrophic mistake. The margin disappeared gradually across four separate gaps, each of which felt minor at the time.
This is the actual mechanism behind the industry's 5–6% average net margin. Most GCs aren't operating at their target margin. They're operating at their estimate's margin minus the quiet losses that accumulated during execution.
The Markup vs. Margin Confusion That Costs Contractors Money
Markup and margin are not the same number, and confusing them means you're underpricing every job.
Markup is the percentage you add to your costs to arrive at your price.
Margin is the percentage of revenue that becomes profit.
A 20% markup does NOT produce a 20% margin:
- Costs: $100,000
- 20% markup: +$20,000
- Price: $120,000
- Margin: $20,000 ÷ $120,000 = 16.7%
If your target is a 20% gross margin, you need a 25% markup.
The formula to convert target margin to required markup:
Required markup = Target margin ÷ (1 − Target margin)
For a 20% margin: 0.20 ÷ 0.80 = 25% markup
For a 15% margin: 0.15 ÷ 0.85 = 17.6% markup
For a 10% margin: 0.10 ÷ 0.90 = 11.1% markup
The Projul 2026 margin benchmark guide includes a useful conversion table showing the actual margin produced by common markup percentages. This single concept — understood and applied correctly — can change the financial trajectory of your business.
How to Calculate Your Target Markup
Knowing the markup-margin conversion is step one. Knowing what margin to target is step two.
Work backward from your business goals:
- Define your target net margin. Healthy is 8–10% net. Strong is 12–15%. Below 8%, one bad job can put you in the red for the year.
- Calculate total overhead as a percentage of revenue. Add up all non-project costs — office, insurance, vehicles, admin salaries, your draw — and divide by your annual revenue.
- Add overhead to your net margin target to get your required gross margin. If overhead runs 12% of revenue and you want 10% net: target gross margin = 22%.
- Convert gross margin to markup using the formula above. 22% gross margin requires a 28.2% markup.
- Apply it consistently. The biggest risk is discounting off this markup to win work. Winning a job at 15% markup when you need 28% means taking a contract that's guaranteed to underperform.
Most well-run GCs apply overhead and profit as a percentage line item to the total project cost estimate. The "10-10 rule" — 10% overhead, 10% profit — is a common construction industry standard that produces a 20% markup and approximately 16.7% gross margin, as noted by Togal.AI's profit margin guide. That's a reasonable starting benchmark, but your actual overhead percentage may require a different number.
What Top-Performing GCs Actually Achieve
Benchmarking against industry averages tells you where you stand. Benchmarking against top performers tells you what's possible.
Based on CFMA data and EstimateHawk's 2026 analysis, top-performing GCs — roughly the top quartile of firms — achieve:
- Gross margin: 20–25% — direct project costs represent 75–80% of revenue
- Net margin: 10–12% — overhead is well-controlled and estimate accuracy is high
- Overhead ratio: 10–12% of revenue — lean operations with minimal waste
The difference between a 6% net margin contractor and a 12% net margin contractor rarely comes down to the size or type of projects they take. It typically comes down to three operational disciplines: accurate estimating, tight overhead control, and consistent scope closure with subs.
How Better Subcontractor Bid Coverage Protects Margins
The single highest-ROI action most GCs can take to protect their margins is getting complete bid coverage before submitting.
When you have multiple competitive bids per trade, you catch scope gaps before they become field problems. You spot pricing outliers that signal a missed line item. You have leverage to negotiate without desperation. And your estimate reflects what subs will actually charge — not what you guessed they'd charge.
The challenge is time. Getting four bids per trade on a complex project means managing hundreds of sub relationships, sending invitations, following up on non-responses, and organizing comparison before your deadline. Most estimating teams don't have the bandwidth to do this at scale — so they take the first acceptable bid and move on.
Bidi Contracting was built to solve exactly that problem. The platform analyzes your construction plans, sends bid requests to relevant subs, and aggregates results for comparison — cutting the manual coordination that causes GCs to cut corners on bid coverage. Book a demo to see how it works with your projects.
For more on how accurate estimating supports these margin benchmarks, see our guide to best construction estimating software in 2026.
Frequently Asked Questions
What is a good profit margin for a general contractor?
A healthy net profit margin for a general contractor is 8–10%, with 12%+ considered strong performance. The industry average sits around 5–6% in 2026, according to CFMA data. If your net margin is consistently below 8%, the most common causes are underpriced estimates, labor overruns, or overhead that has grown faster than revenue.
What is the average gross margin for a general contractor?
General contractors typically see gross margins between 15% and 22%, before overhead is deducted. The gap between gross and net margin represents your overhead percentage. If gross margin is 20% and net is 5%, overhead is consuming 15% of your revenue — a sign that overhead costs need attention alongside project cost control.
What is the difference between markup and margin in construction?
Markup is the percentage added to cost to set a price. Margin is the percentage of revenue retained as profit. A 20% markup produces a 16.7% margin — not 20%. Most GCs who think they're earning 20% margin are actually earning 16.7%. To target a specific margin, use: Required markup = Target margin ÷ (1 − Target margin).
What is the "10-10 rule" in construction?
The 10-10 rule refers to adding 10% for overhead and 10% for profit to your total project cost estimate. This produces a 20% total markup and approximately 16.7% gross margin. It's a common industry starting point, but your actual overhead percentage may require a different markup to hit your target net margin.
How do subcontractor scope gaps affect GC profit margins?
Subcontractor scope gaps — items present in your estimate but missing from a sub's bid — often don't surface until construction is underway. At that point, the GC typically absorbs the cost. A single undetected scope gap of $15,000–$25,000 on a project targeting a 10% net margin can cut realized margin by 1–2 percentage points. Getting full competitive bid coverage from multiple subs per trade is the primary prevention tool.
*Reviewed by Baylor Jeppsen, Construction Estimating Expert and Founder of Bidi Contracting. Baylor has spent years working alongside GCs and estimators across commercial and residential construction, building AI tools to solve the bid management problem firsthand.*