Markup vs. Margin: The Pricing Mistake That Costs Contractors Thousands
Ask a room of contractors what they "mark up" and most will say something like 30 or 35 percent. Ask what gross margin they end up with, and many will give the same number. That's the mistake — a 35% markup is not a 35% margin, and the difference is money that was supposed to run your business.
The definitions, in one breath each
Markup is profit as a percentage of your cost. Margin is profit as a percentage of your price. Same dollars, different denominator — and because price is always bigger than cost, the same dollars always look like a smaller margin than markup.
The numbers. A job costs you $10,000. You mark it up 35% and bid $13,500. Your gross profit is $3,500 — which is a 25.9% margin, not 35%. If your business actually needs a 35% margin to cover office overhead and leave real profit, the right price was $10,000 ÷ (1 − 0.35) = $15,385. That single confusion left $1,885 on the table — on one job.
Why margin is the number that matters
Your gross margin is what pays for everything that isn't the job: the office, the truck you drive to estimates, the insurance, the unpaid hours you spend bidding — and finally, your profit. Industry benchmarks and your own planning are stated in margin. So when you price with markup while thinking in margin, every bid quietly underfunds the company by the gap between the two.
The formula and the conversion table
To price for a target margin: Price = Cost ÷ (1 − margin). That's it. Here's what markup you're really applying at common margin targets:
| Target gross margin | Required markup on cost |
|---|---|
| 20% | 25.0% |
| 25% | 33.3% |
| 30% | 42.9% |
| 35% | 53.8% |
| 40% | 66.7% |
| 50% | 100.0% |
Read that middle row again: to keep 35 cents of every revenue dollar, you must mark costs up by nearly 54%. Most contractors who "mark up 35%" believe they're doing exactly this — and are actually running a 26% margin business.
One prerequisite: your cost number has to be real
Margin pricing only works if the cost you're dividing is complete. If your labor number is the wage instead of the fully burdened rate — taxes, workers comp, benefits, non-billable time, overhead — you're applying a correct formula to a wrong number, and the error compounds. We wrote a full guide on that: How to Calculate Your Fully Burdened Labor Rate.
Price by margin automatically
The ToolboxSheets estimating workbook prices every bid with Cost ÷ (1 − margin), on top of a labor rate that includes burden and overhead. Set your target margin once; every estimate uses it.
Get the workbook — $49