Guide
How to Price a Construction Job: Estimating, Markup, and Margin
Pricing a construction job comes down to four numbers: direct costs (labor and materials), overhead, markup, and the profit that's left after all of it. Estimate your real costs, fold in overhead, then apply markup correctly — and never confuse markup with margin, because that single mistake quietly eats profit on every job. This is general business guidance, not accounting advice.
Start with your direct costs
Direct costs are everything you can tie to a specific job. Get these wrong and nothing downstream can save you. Build your estimate from these buckets:
- Labor. Crew hours times your loaded labor rate — not just the wage. Loaded means base pay plus payroll taxes, workers' comp, and benefits. The wage on the check is always less than what the hour actually costs you. Pricing off the bare wage is the most common way contractors underbid.
- Materials. Quantities plus current supplier pricing, plus a waste factor (drops, breakage, over-order). Lock quotes where you can — lumber and copper move fast.
- Equipment. Rentals, fuel, wear on owned gear, delivery and pickup.
- Subs. Any work you're farming out, quoted firm where possible.
- Other direct costs. Permits, dumpsters, temporary power, specialty insurance riders for that job.
Add those together and you have your direct cost — the floor below which you literally lose money. Build estimates from a line-item takeoff, not a gut number. A gut number feels faster and costs you on the back end.
Don't forget overhead
Overhead is everything that keeps your business running but isn't tied to one job: truck payments, shop rent, software, the office phone, your estimator's time, the insurance you carry year-round. These costs don't disappear between jobs — every job has to carry a slice of them.
The simplest approach: total your annual overhead, divide by the number of billable jobs or crew-hours you expect in a year, and fold that figure into each estimate. If your overhead is real and you're not recovering it per job, you're funding your own business out of what you think is profit.
A rough working order for any estimate:
- Direct costs (labor + materials + equipment + subs + other)
- Plus allocated overhead
- Plus markup → that's your price
- What's left after #1 and #2 → that's your profit
Markup vs. margin: the difference that costs contractors money
This is the part that burns people. Markup and margin are not the same number, and treating them like they are is how a "20% job" ends up making almost nothing.
- Markup is added on top of cost. Cost × (1 + markup%) = price.
- Margin is profit as a percentage of the price. (Price − cost) ÷ price = margin.
Run the numbers and the gap is obvious. Take a job that costs you $10,000:
- A 20% markup → price of $12,000. Your profit is $2,000 on a $12,000 price = 16.7% margin, not 20%.
- To actually keep a 20% margin, you need a price of $12,500 — that's a 25% markup on cost.
So a "25% markup" and a "20% margin" describe the same job. If you quote markup but think in margin, you're short on every single job, and it compounds across a year. The shortcut to hit a target margin: markup% = margin ÷ (1 − margin). For a 30% margin, that's 0.30 ÷ 0.70 ≈ 43% markup. A simple spreadsheet with that formula keeps you honest when you're bidding fast.
A quick reference
| Target margin | Markup on cost |
|---|---|
| 10% | ~11% |
| 15% | ~18% |
| 20% | 25% |
| 25% | ~33% |
| 30% | ~43% |
| 40% | ~67% |
Protecting your profit after the bid
A clean estimate is worth nothing if the job erodes after you sign. Profit leaks happen after the bid, so build defenses in:
- Tie price to a defined scope. Open-ended scope is open-ended cost. Quote against what's actually included.
- Put change orders in writing — always. Verbal "while you're here" requests are where margin goes to die. Price the change, get it approved, then do the work.
- Track actuals against your estimate (job costing). If framing always runs over your takeoff, your estimating template is wrong — fix the template, not just the apology.
- Set a floor and hold it. Walking away from a job priced below cost is a profitable decision, even though it doesn't feel like one.
- Use clear written agreements. A documented scope, price, and terms protects both sides when memories diverge. A subcontractor agreement template gives you a starting point.
When you're staffing a job with help from another trade business, the same discipline applies — fair pricing protects everyone, not just you. That's the thinking behind the anti-lowball guardrails in SKILLS: when you post a Crew Needed or Crew Available posting, Coverage Offers run through offer floors, rate caps, and submission limits, so labor doesn't get bid into the ground. Accepting an offer creates a Work Agreement that's locked in and audit-logged — the structured, written commitment that keeps a price from quietly slipping after the handshake. New to the terms? The glossary lays them out.
Quick answers
What's a typical markup for a construction job? It varies widely by trade, risk, and market — but the right markup is whatever recovers your loaded costs and overhead and still leaves your target margin. Remember margin and markup are different numbers, so a "20% margin" needs a higher markup on cost.
How do I calculate markup from a target margin? Markup% = margin ÷ (1 − margin). A 25% margin needs a ~33% markup on cost.
Why am I busy but not making money? Usually one of three things: pricing off bare wages instead of loaded labor, confusing markup with margin, or never allocating overhead into your bids. Check those three first.
Should I include overhead in every estimate? Yes. Overhead is a real cost of every job. Recover it per job or you're paying for it out of profit.
The bottom line
Pricing a construction job isn't guesswork — it's four disciplined numbers: real direct costs, allocated overhead, the right markup to hit your target margin, and the profit you protect with written scope and change orders. Get loaded labor right, never confuse markup with margin, and don't price below your floor. Do that consistently and profit stops being a surprise at year-end.
SKILLS is free to browse and post with limits, and Pro is free for three months, then $99/year. If pricing your work fairly — and getting staffing help without lowballing the trade — is the problem you're solving, join the waitlist.
Stop chasing crews. Start filling gaps.
Join the businesses getting early access to SKILLS. 3 months free, then $99/year.