
A contractor sent me his last six months of numbers last week.
Gross revenue: $487,000. Net at the bottom: $18,300.
3.7% net margin on almost half a million in work. He thought he had a sales problem.
Not sure where your money's leaking? Take the free 5-question scorecard and I'll show you the first system to plug it.
Take the free scorecard →He didn’t. He had a pricing problem hiding as a sales problem.
I’ve watched this pattern for years running Casamia, a design-build firm that peaked around $4M. Contractors don’t lose money because their bids are too low across the board. They lose it because a handful of jobs eat the margin from all the good ones and they don’t know which jobs did the eating.
How to price contractor jobs for profit (and actually keep it)
Most contractors price the same way I did for years. Pull comps, guess at labor hours, add material at cost plus twenty percent, put a number on the proposal. It feels professional. It’s how everyone on your job site does it.
The problem is that number bakes in three assumptions you never wrote down:
- Labor hours will hit the estimate.
- Materials won’t move in price between bid and invoice.
- Overhead is covered somewhere.
Any one of those breaks and the profit disappears. Two of them break and the job pays you less than your foreman.
The contractor with the 3.7% margin? His labor hours came in 22% over on kitchens. His overhead allocation was a flat 15% he’d made up in 2018. And he hadn’t touched his markup since two suppliers ago.
The four numbers every job proposal has to prove
Before you send another bid, the number on the proposal has to answer these:
1. Direct cost with a real burden rate. Your labor cost isn’t the wage. It’s the wage plus workers comp, plus payroll tax, plus benefits, plus the paid time your guys aren’t producing (travel, meetings, cleanup, weather days). For most trades that’s 1.35 to 1.55 times the base wage. Guess low and every hour on the job is subsidized by your other jobs.
2. Overhead as a percentage of your actual overhead. Add up your last 12 months of overhead. Insurance, truck payments, phone, software, rent, admin salary, your own draw if you take one. Divide that by your last 12 months of billable revenue. That’s your real overhead rate. Not 15%. Not the number your buddy uses. Yours.
3. Profit as a decision, not a leftover. Set your target net BEFORE you build the estimate. 15% net is the floor for a healthy small GC. If you want 20% net, price for 20% net. Profit that shows up at the end of the year is called an accident.
4. A markup that actually delivers all three above. Markup is the multiplier you apply to your direct cost to cover overhead and produce your target net. If your overhead is 22% and you want 18% net, your markup on direct cost is roughly 1.55, not 1.20. Most contractors run 1.15 to 1.25 and can’t figure out why they’re broke.
The job-by-job leak nobody catches
Even contractors who price right on paper still lose it. Because pricing is a bid-day number. The margin gets eaten between bid day and final invoice by a hundred small choices nobody tracked.
Change orders that never got written up. Material overages the foreman ate to keep the client happy. Punch list work that stretched three weeks past close. An extra day in the schedule that pushed a paying crew into your Saturday.
Every one of those is a decision that moved money from your pocket to your client’s. And you can’t fix it if you never see it.
The move is a job-level margin report at close. Not company-level. Not monthly average. Every job, one line: bid amount, actual cost, actual hours, gross margin, notes on what moved. Twelve months of that and the pattern shows up. Kitchens over $80K make money. Bathrooms under $30K lose money every time. That kind of pattern.
What the audit actually finds
I do a Margin Audit for contractors and the same three findings show up in almost every one:
Finding 1. One or two job types are subsidizing the whole company. Usually kitchens or additions. The rest are break-even or worse.
Finding 2. The overhead rate they’ve been using is 30 to 60% below their real overhead. Every proposal for the last two years has been under-priced by that gap.
Finding 3. Their change order recovery rate is under 50%. Half the extra work they did, they didn’t collect on.
The fix isn’t more sales. It’s stopping the bleed on the sales you’ve already made. A contractor doing $400K with a 4% margin needs a 12% margin more than they need another $100K in revenue. The 12% margin at $400K pays them $48,000. The extra $100K at the same 4% margin pays them $4,000 and adds jobs to run.
Pricing is the highest-leverage thing you touch in this business. Sales gets you to the table. Pricing decides whether the table pays.
If you want me to run one on your business, that’s what the Margin Audit is. Flat fee, two weeks, one deliverable: a written report with the leak, the fix, and the pricing numbers that would have gotten you paid on the last twelve months of work.
Most contractors I audit find the audit paid for itself in the first fixed proposal.



