Ask ten contractors what their profit margin is and you'll get ten different answers. Half of them will say "pretty good" without knowing the actual number. The other half will confuse markup with margin — and that mistake alone costs thousands every year.
Here's the uncomfortable truth: most contractors don't actually know if they're making money on a job until it's over. And by then, it's too late to fix anything.
This guide breaks down what healthy profit margins look like in construction, how to calculate them correctly, and where most contractors quietly bleed money without realizing it.
Gross Margin vs. Net Margin — Know the Difference
These two numbers tell very different stories. Confusing them is one of the most expensive mistakes in construction.
| Gross Profit Margin | Net Profit Margin | |
|---|---|---|
| What it measures | Revenue minus direct job costs (labor + materials + subs) | Revenue minus ALL costs (including overhead, insurance, office, trucks, etc.) |
| Formula | (Revenue - Direct Costs) / Revenue x 100 | (Revenue - All Costs) / Revenue x 100 |
| Healthy range | 25% - 45% | 8% - 15% |
| What it tells you | Are you pricing individual jobs correctly? | Is your business actually profitable? |
A contractor can have a 35% gross margin on every job and still go broke. How? Overhead eats the rest — truck payments, insurance, office rent, software, fuel, tools, callbacks, unbilled hours. Net margin is what actually lands in your pocket.
Profit Margin Benchmarks by Trade
Not every trade works on the same margins. A plumber running a two-man crew has different costs than a GC managing a full site. Here's what 2026 benchmarks look like across the industry:
| Trade / Role | Typical Gross Margin | Typical Net Margin |
|---|---|---|
| General Contractor (residential) | 25% - 35% | 6% - 12% |
| General Contractor (commercial) | 15% - 25% | 3% - 8% |
| Electrical | 30% - 45% | 8% - 15% |
| Plumbing | 30% - 45% | 8% - 15% |
| HVAC | 30% - 50% | 10% - 18% |
| Roofing | 25% - 40% | 6% - 14% |
| Painting | 35% - 50% | 10% - 20% |
| Landscaping | 30% - 45% | 8% - 15% |
| Concrete / Masonry | 25% - 40% | 7% - 14% |
| Remodeling / Renovation | 30% - 45% | 8% - 16% |
If your net margin is below 5% — you're working for free when you factor in risk. One bad callback, one delayed payment, one material price spike, and you're in the red.
Markup vs. Margin — The Calculation That Costs Contractors Money
This is where most contractors mess up. They use markup and margin interchangeably. They're not the same.
| Concept | Formula | Example |
|---|---|---|
| Markup | Profit / Cost x 100 | Cost: $80K, Price: $100K → Markup = 25% |
| Margin | Profit / Price x 100 | Cost: $80K, Price: $100K → Margin = 20% |
Same job. Same numbers. But 25% markup is only 20% margin. A contractor who thinks they're making 25% margin because they applied a 25% markup is actually making 5% less than they think on every single job.
Quick conversion: To get a 20% profit margin, you need a 25% markup. For 30% margin, you need a 43% markup. For 40% margin, you need a 67% markup.
Markup-to-Margin Conversion Table
| If Your Markup Is | Your Actual Margin Is |
|---|---|
| 10% | 9.1% |
| 15% | 13.0% |
| 20% | 16.7% |
| 25% | 20.0% |
| 30% | 23.1% |
| 35% | 25.9% |
| 40% | 28.6% |
| 50% | 33.3% |
Print this table. Tape it to your desk. It will save you money every time you price a job.
How to Calculate Your Profit Margin (With a Real Example)
Let's walk through a real residential bathroom remodel:
| Cost Category | Amount |
|---|---|
| Labor (crew, 8 days) | $6,400 |
| Materials | $4,200 |
| Subcontractors (plumber + electrician) | $3,100 |
| Permits | $350 |
| Total Direct Costs | $14,050 |
| Contract Price | $19,500 |
| Gross Profit | $5,450 |
| Gross Margin | 27.9% |
Now subtract overhead (allocated per job — your insurance, truck, phone, tools, office, fuel):
| Overhead (allocated to this job) | Amount |
|---|---|
| Vehicle costs | $320 |
| Insurance (per-job allocation) | $580 |
| Tools & equipment | $150 |
| Office / phone / software | $200 |
| Warranty reserve (2%) | $390 |
| Total Overhead | $1,640 |
| Net Profit | $3,810 |
| Net Margin | 19.5% |
That's a healthy job. 19.5% net margin means this contractor is pricing correctly and controlling costs. But most contractors never calculate the overhead allocation — they just look at gross profit and think that's what they made.
7 Reasons Contractors Have Thin Margins (And Don't Know It)
- Underbidding to "win" the job — Winning a job at 5% margin isn't winning. It's volunteering. One hiccup and you're working for free.
- Not tracking change orders — Every "while you're here, can you also..." that goes undocumented is profit walking out the door. Document every change order — even small ones.
- Guessing labor hours — "I think it'll take about three days" is not an estimate. Track actual hours on 5 jobs and you'll have real data to bid from.
- Ignoring overhead in bids — Your bid covers labor and materials, but does it cover the truck that got you there? The insurance? The phone call to schedule? Overhead exists whether you account for it or not.
- Slow invoicing — Every day between job completion and invoice is a day you're financing the client's project. Invoice the same day.
- Callbacks and rework — A 2-hour callback on a job you made $3,000 on just cost you $200+ in labor. Three of those and your margin drops by 20%.
- Not knowing your break-even — If you don't know what it costs to keep your business alive for one month (with zero revenue), you can't price a job correctly. Calculate your monthly overhead. Divide by the number of jobs you run per month. That's your per-job overhead cost.
How to Improve Your Margins Without Raising Prices
Raising prices is one lever. But it's not the only one — and sometimes it's not even the best one.
1. Reduce waste and rework
Construction rework accounts for 5-12% of total project costs industry-wide. Better planning, clearer communication with subs, and proper documentation cut this significantly. If you're losing $5K per job to rework on a $50K project, fixing that alone doubles a 5% margin to 15%.
2. Negotiate material pricing
Buy in bulk when possible. Build relationships with 2-3 suppliers and get competing quotes. A 5% reduction on materials on a $20K material bill saves $1,000 — pure profit.
3. Get faster at estimating
Time spent on estimates is overhead. If you spend 4 hours on an estimate that should take 1 hour, that's 3 hours of unbilled labor per bid. Over 50 bids a year, that's 150 hours — almost a full month of work.
4. Bill at milestones, not at the end
Progress billing keeps cash flowing. Waiting until project completion to invoice means you're funding the entire job yourself. Understand retainage and structure your billing accordingly.
5. Track every job's actual profit
You can't improve what you don't measure. After every job, compare estimated vs. actual costs. Where did you lose money? Where did you come in under? That data makes every future bid more accurate.
The Break-Even Formula Every Contractor Should Know
Before you can set a profit target, you need to know your break-even point:
Monthly Overhead / Target Gross Margin = Minimum Monthly Revenue
Example: If your monthly overhead is $12,000 and your target gross margin is 30%:
$12,000 / 0.30 = $40,000/month minimum revenue just to break even.
Below that number, you're losing money every month regardless of how busy you are. Above it, every dollar starts becoming actual profit.
What "Good" Looks Like
Here's a simple framework for evaluating your margins:
| Net Margin | Status | What It Means |
|---|---|---|
| Below 3% | Danger | One bad job away from a loss. Pricing needs immediate attention. |
| 3% - 7% | Surviving | Covers basics but no buffer. Very vulnerable to delays and callbacks. |
| 8% - 12% | Healthy | Industry average. Building reserves, can absorb occasional problems. |
| 13% - 20% | Strong | Well-run operation. Good pricing, controlled costs, efficient crew. |
| 20%+ | Excellent | Specialty work, strong reputation, or exceptional efficiency. Rare but achievable. |
The goal isn't to hit 20%+ on every job. The goal is to know your number and make sure it trends in the right direction.