Markup is a percentage of your cost. Margin is a percentage of your price. They are never the same number, and treating them as the same is the most expensive arithmetic mistake in residential contracting.
Add 25% markup to a $10,000 job and you charge $12,500. Your margin is 20%, not 25%, because that $2,500 gets measured against the $12,500 you charged rather than the $10,000 you spent. If you wanted a true 25% margin you needed to charge $13,333. That is a 33.3% markup, and it means you left $833 on the table for every $10,000 of job cost, on every job you have ever priced this way.
The formula that fixes it:
markup = margin / (1 - margin)
How much does the mistake actually cost?
Roughly your entire profit.
NAHB's most recent Cost of Doing Business Study put the average net profit margin for remodelers at 6.3% in 2024 — the highest reading since 1996, and still a thin number. Gross margin averaged 29.9%.
Now put those two facts next to the markup figure everyone quotes. The commonly cited average general contractor markup is 20% to 30%. Run it through the conversion: a 20% markup is a 16.7% margin, and a 30% markup is a 23.1% margin. Neither one reaches 29.9%.
So either the average contractor is running well below the average gross margin, or a good number of people saying "I mark up 30%" are describing a business that thinks it is at 30% and is actually at 23%. Both can be true at once. In our experience talking to contractors, both usually are.
A 6.7-point gap on gross, against a 6.3% net margin, is not a rounding error. It is the profit.
What markup do I need for the margin I want?
Print this and tape it inside the truck.
| Margin you want | Markup you apply |
|---|---|
| 10% | 11.1% |
| 15% | 17.6% |
| 20% | 25.0% |
| 25% | 33.3% |
| 30% | 42.9% |
| 35% | 53.8% |
| 40% | 66.7% |
| 50% | 100% |
Read that last row twice. Doubling your cost gets you a 50% margin, not a 100% one. Every contractor who has ever said "I double it" was describing a 50% margin business.
Going the other way, if you know your markup and want to know what margin it produces:
margin = markup / (1 + markup)
Why does the gap get wider as margins get higher?
Because you are dividing by a number that keeps growing.
Margin always divides by the sale price, and the sale price includes the profit. The more profit you add, the bigger the denominator gets, so each extra point of margin needs progressively more markup to reach it.
At a 10% margin the two numbers are almost the same — 11.1% against 10%. At a 25% margin the gap is over eight points. At 50% the markup is double the margin.
This is why the error is so easy to miss on small jobs and so brutal on big ones. Confusing the terms on a $2,000 job costs you $167. Doing it on a $180,000 remodel costs you $15,000, which for most one-crew outfits is a good month of net profit gone on a single misunderstanding.
Should I mark up labor and materials differently?
Usually yes, and this is where a lot of otherwise careful pricing goes sideways.
Materials carry cash risk and almost no execution risk. You buy the tile, you install the tile, the tile behaves. Labor carries the opposite: your exposure is the hours, and hours are what run over.
NAHB's 2024 data showed trade contractor costs dropping from 36% of revenue in 2021 to 30% in 2024, and that shift is a large part of why remodeler margins recovered. Subcontracted work is the volatile line. If you apply one flat markup across everything, you are pricing your riskiest cost the same as your safest.
A common structure is a lower markup on materials, a higher one on labor and subs. What matters more than the exact split is that the blended result lands on the margin you actually need, which means doing the arithmetic on the whole job rather than per line.
What this misses
The formula is not the hard part. Knowing your cost is.
Everything above assumes the $10,000 is your real cost, and for most small contractors it is not. It is materials plus wages, with overhead left out — the truck, the insurance, the phone, the software, and the unbillable Saturday you spent writing the estimate. That overhead is somewhere between 10% and 25% of revenue for most residential outfits, and if it is not inside your cost figure then your margin is fiction no matter how well you convert the percentages.
The second thing this misses: none of it helps if the estimate is incomplete. A perfect 42.9% markup on a job where you forgot the dump fees and two hours of demo is still a job you lose money on. Pricing errors compound, but missed scope is just gone.
That second problem is the one BidWalk exists for, and it is also why the trades with unpredictable scope are which trades need it while roofers and HVAC techs are not. If you want a rough sense of what slow, hand-built estimates cost you across a year, the quoting calculator does that arithmetic too.