How to Calculate and Improve Gross Margin on Construction Projects | Projul
If you asked ten contractors what their gross margin was last year, at least half would give you a wrong answer. Not because they’re bad at business. Because they’re busy running crews, chasing permits, and putting out fires. The financials get checked when the accountant sends a report, and by then it’s too late to fix anything.
Here’s the problem with that approach: construction gross margin is the single most important number in your business. It tells you whether your jobs are actually making money or just keeping you busy. And there’s a big difference between busy and profitable.
This guide breaks down the gross margin formula, gives you real benchmarks by trade, walks through the most common margin killers, and shows you how software can help you track it all without drowning in spreadsheets.
What Is Gross Margin in Construction?
Gross margin measures how much money you keep from a job after paying the direct costs to complete it. It does not include your office rent, your truck payments, your admin salaries, or your accountant’s bill. Those are overhead. Gross margin only cares about the money directly tied to a specific project.
Think of it this way: if you build a deck for $50,000 and the lumber, labor, and sub costs total $35,000, you have $15,000 left. That $15,000 is your gross profit. Your gross margin is 30%.
That 30% has to cover everything else in your business, including overhead, owner pay, taxes, and actual profit. If your overhead runs 20%, you’re left with 10%. If your overhead runs 25%, you’re left with 5%. And if your overhead runs 32% because you hired an extra project manager and leased a bigger shop, you’re losing money on every job even though each one “made” 30% gross margin.
This is why knowing your gross margin is only half the battle. You also need to know your overhead number. But we’ll stay focused on gross margin here because it’s the one you can control job by job.
The Construction Gross Margin Formula
The formula is simple:
Gross Margin (%) = (Revenue - Direct Job Costs) / Revenue x 100
Let’s run through a real example.
You bid a bathroom remodel at $42,000. Your direct costs break down like this:
- Field labor (including burden): $14,200
- Materials: $11,800
- Plumbing sub: $5,500
- Electrical sub: $2,100
- Permits and inspections: $600
- Dumpster rental: $450
Total direct costs: $34,650
Gross profit: $42,000 - $34,650 = $7,350
Gross margin: $7,350 / $42,000 x 100 = 17.5%
If you’re a residential remodeler, 17.5% is going to put you underwater after overhead. You needed to be north of 35% to stay healthy. Something went wrong on this job, and we’ll dig into what typically goes wrong in a minute.
Gross Margin vs. Markup: A Quick Clarification
Contractors mix these up constantly. They’re related but they’re calculated differently, and confusing them will cost you real money. We wrote a full breakdown in our markup vs margin guide, but here’s the short version:
- Markup is calculated on top of your costs
- Margin is calculated as a percentage of revenue (the sale price)
A 50% markup does NOT give you 50% margin. It gives you 33.3% margin. If your overhead requires 40% gross margin and you’re applying a 50% markup thinking you’re covered, you’re losing money on every single job.
Gross Margin Benchmarks by Trade
These ranges come from industry data, contractor surveys, and years of watching what actually works for profitable companies. Your number will vary based on your market, overhead structure, and volume.
Residential Contractors
- Custom home builders: 22% to 32%
- Production builders: 18% to 25%
- Remodelers: 35% to 42%
- Handyman services: 40% to 55%
Remodelers need higher margins because their overhead per dollar of revenue is higher. Smaller jobs mean more drive time, more client interaction per dollar billed, and more variability in scope.
Commercial Contractors
- General contractors: 15% to 25%
- Design-build firms: 20% to 30%
- Tenant improvement (TI): 18% to 28%
Commercial GCs often work on thinner margins because jobs are larger and more competitive. But they make it up on volume. A 20% margin on a $4 million project is $800,000 of gross profit, which covers a lot of overhead.
Specialty Trades
- Electrical: 35% to 50%
- Plumbing: 30% to 45%
- HVAC: 35% to 50%
- Concrete/flatwork: 25% to 40%
- Roofing: 30% to 45%
- Painting: 40% to 55%
- Landscaping/hardscaping: 35% to 50%
Specialty trades can command higher margins because their work requires licensing, skill, and specialized equipment. A GC can’t easily replace an electrician with a cheaper option the way they might swap framing crews.
The Real Question: What’s YOUR Benchmark?
Industry averages are a starting point. Your actual target depends on your overhead. Here’s how to find it:
- Add up your total annual overhead (rent, insurance, office staff, trucks, marketing, everything that isn’t a direct job cost)
- Divide that by your total annual revenue
- Add the profit margin you want (8% to 12% is common)
- That sum is your minimum gross margin target
If your overhead is 24% and you want 10% net profit, you need 34% gross margin minimum. Every job that comes in below 34% is either a loss-leader or a mistake.
The 7 Most Common Margin Killers
You can bid jobs perfectly and still watch your margins erode. Here’s where the money goes.
1. Bad Estimates
This is the original sin. If your estimate is wrong, everything downstream is wrong. Common estimation mistakes include:
- Using old material prices (lumber, steel, and copper fluctuate constantly)
- Underestimating labor hours because the estimator hasn’t been in the field recently
- Missing scope items that should have been caught during the walkthrough
- Not accounting for site conditions (access issues, terrain, existing conditions)
The fix: track your estimated vs. actual costs on every job. Over time, you build a dataset that makes your estimates more accurate. Construction estimating software pulls from real cost databases instead of guesswork.
2. Untracked Change Orders
A client asks for an extra outlet. The PM says sure, no problem. Nobody writes it up. The electrician does the work. The invoice goes out at the original contract price. You just gave away $400.
Now multiply that by 20 small changes over a 3-month project. That’s $8,000 in margin you’ll never see. Change orders must be documented, priced, and approved before the work starts. Every single time.
3. Material Waste and Theft
Industry studies estimate material waste runs 10% to 15% on most construction projects. Some of that is unavoidable (cuts, damage, weather). But a lot of it comes from poor planning, over-ordering, and yes, theft.
If your job has $200,000 in materials and you’re wasting 12%, that’s $24,000 walking out the door. Better takeoffs, tighter material management, and jobsite controls can cut waste to 5% to 8%.
4. Labor Inefficiency
Your crew shows up at 7:00 AM. They stand around for 20 minutes because the materials aren’t staged. Then they realize they need a tool that’s on another jobsite. An hour into the day, they’ve done 30 minutes of productive work.
Labor is usually your biggest direct cost. A 10% improvement in labor efficiency on a $500,000 job with $200,000 in labor costs puts $20,000 back in your pocket. Scheduling software that gives crews clear daily assignments, material lists, and site instructions eliminates most of the morning chaos.
5. Scope Creep Without Price Adjustments
This is the cousin of untracked change orders, but sneakier. The client’s “vision” slowly expands. The architect adds details in the field. Your PM agrees to small additions because saying no feels uncomfortable. None of it gets priced.
By the end of the job, you’ve done 15% more work than your contract covers. Your margin just dropped by 15 points.
6. Bad Subcontractor Management
Your plumbing sub bids $18,000. Halfway through, they come back and say they need $23,000 because of unforeseen conditions. You didn’t write the sub agreement tight enough. Now you’re either eating $5,000 or fighting about it while the project sits idle.
Good sub management starts with clear scopes of work, fixed-price agreements where possible, and written documentation of what’s included and excluded.
7. Not Knowing Your Numbers Until It’s Too Late
This might be the biggest one. If you don’t track costs during the job, you won’t know your margin until the job is done. By then, there’s nothing you can do about it.
A contractor who reviews job costs weekly can catch a margin problem when it’s small. A contractor who waits until the final invoice can only shrug and move on.
How to Track Gross Margin in Real Time
The days of waiting for your accountant to run a quarterly P&L are over. You need to know your gross margin on every active job, updated as costs hit.
Step 1: Set Up Job Cost Codes
Every expense needs to be coded to a specific job and a specific cost category. Don’t dump everything into one bucket. Break it out:
- Labor by crew or task
- Materials by phase or specification
- Subcontractors by trade
- Equipment rentals
- Permits and fees
Step 2: Track Costs As They Happen
Don’t wait for invoices to arrive. Log material purchases when they happen. Track labor hours daily with time tracking tools. Enter sub invoices the day you receive them.
The goal is a running total of actual costs vs. budgeted costs for every job, every week.
Step 3: Compare Budget to Actual Weekly
Pull a job cost report every Friday. Look at three things:
- Budget remaining: How much is left in each cost code?
- Percent complete vs. percent spent: If you’re 50% done with the job but you’ve spent 70% of the materials budget, you have a problem.
- Projected final cost: Based on current spending rates, where will you end up?
Step 4: Act on What You See
Data without action is just decoration. If a job is trending over budget:
- Find out why (material price increase? Labor inefficiency? Scope change?)
- Address it this week, not next month
- Adjust future jobs based on what you learn
How Software Helps Protect Your Margins
Spreadsheets can technically do job costing. But in practice, they don’t. They get outdated, nobody updates them consistently, and they can’t pull data from timesheets, purchase orders, and invoices automatically.
Construction management software like Projul connects the dots:
- Time tracking feeds directly into job costs. When your crew clocks hours on a job, those labor dollars show up on your job cost report automatically. No double entry.
- Estimates become budgets. Your original estimate becomes the benchmark that actual costs get measured against. You can see variances in real time.
- Change orders are tracked and priced. Every scope change gets documented and added to the contract value. No more freebies.
- Reports show margin by job, by phase, and by cost code. You don’t need to build a spreadsheet formula. The data is there, organized and current.
The contractors we work with at Projul say the biggest shift is going from “I’ll check the numbers when the job’s done” to “I can see exactly where this job stands right now.” That shift is worth thousands per project.
Building a Margin-First Culture
Tracking gross margin isn’t just an accounting exercise. It’s a management philosophy. Here’s how to make it stick across your company.
Make Margins Visible
Post job margins where your project managers can see them. Not buried in a report nobody reads. Visible. When people know the score, they play differently.
Tie Bonuses to Margin Performance
If your PMs get bonused on revenue, they’ll chase revenue. If they get bonused on gross margin, they’ll protect margin. Align incentives with profitability, not just volume.
Review Every Completed Job
Do a post-mortem on every job. Compare estimated margin to actual margin. Where did you lose money? Where did you beat the estimate? What can you learn for next time?
This feedback loop is what separates contractors who stay at 20% margin for a decade from contractors who climb to 35% over three years.
Price With Confidence
Knowing your margins gives you confidence to price correctly. You stop guessing and start pricing based on data. You can walk away from jobs that won’t hit your target margin instead of taking every project out of fear.
That confidence is worth more than any single job.
Real Example: How Margin Tracking Saved a $1.2M Project
A general contractor running a $1.2 million commercial tenant improvement project was tracking costs in Projul. Six weeks in, the job cost report showed the concrete and steel budget was 40% spent but only 25% of that scope was complete.
They dug in and found two issues: the concrete sub had changed their crew lead, and production had dropped 30%. And steel prices had jumped 12% since the estimate.
Because they caught it at week six instead of month four, they were able to negotiate a revised schedule with the concrete sub, issue a change order to the owner for the steel price increase (which the contract allowed), and protect their margin. The job closed at 22% gross margin. Without the early warning, it would have been under 10%.
That’s the difference between tracking and guessing.
What to Do Next
If you don’t know your gross margin on the jobs you’re running right now, start there. Pull your last five completed jobs. Calculate the gross margin on each one. Compare them. Look for patterns.
Then set up a system to track it going forward. Whether that’s a spreadsheet you actually maintain or construction management software that does it automatically, the important thing is to start.
Your gross margin is your business’s health score. Stop guessing and start measuring.