MARKUP AND MARGIN ARE NOT THE SAME NUMBER. EVERY SUBCONTRACTOR USING THEM INTERCHANGEABLY IS UNDERPRICING.
Markup is gross profit as a percentage of cost. Margin is gross profit as a percentage of revenue. A 25% markup produces a 20% gross margin — not 25%. The formula is markup divided by (1 + markup). Every industry benchmark for healthy construction margins is stated as a percentage of revenue. If you are bidding in markup terms without converting, you are operating below every benchmark you think you are hitting.
The confusion is expensive and invisible. On a $4M subcontractor bidding at 25% markup thinking they are hitting 25% margin, the annual shortfall is $200,000 in gross profit that was never there. It does not show up as a single loss. It shows up as perpetual cash tightness, maxed LOC draws, and the feeling that growth is making things worse instead of better.
WHY EVERY SUBCONTRACTOR USING MARKUP THINKS THEY HAVE MORE MARGIN THAN THEY DO.
Markup is calculated on cost. Margin is calculated on revenue. They produce different percentages from the same dollar profit. A $25,000 gross profit on $100,000 in direct costs is a 25% markup. The same $25,000 gross profit on $125,000 in revenue is a 20% margin.
That 5-point gap is not a rounding issue. On a $4M subcontractor, it is $200,000 in missed gross profit per year. That is the difference between a business that is growing and healthy and one that is perpetually cash-tight despite a full calendar. Every hire, every piece of equipment, every overhead decision gets made against a margin number that does not exist.
The industry quotes margins, not markups. When a civil contractor says a healthy gross margin is 22–26%, they mean 22–26% of revenue. When you bid at 25% markup believing you are hitting 25% margin, you are actually delivering 20% margin. You are 5–8 points below every benchmark you are trying to hit.
HOW TO CONVERT BETWEEN MARKUP AND MARGIN — THE EXACT MATH.
Markup ÷ (1 + Markup) = Margin
25% markup: 0.25 ÷ 1.25 = 20.0% margin.
30% markup: 0.30 ÷ 1.30 = 23.1% margin.
33% markup: 0.33 ÷ 1.33 = 24.8% margin.
40% markup: 0.40 ÷ 1.40 = 28.6% margin.
50% markup: 0.50 ÷ 1.50 = 33.3% margin.
Every markup percentage produces a margin percentage that is lower. Always. There is no markup percentage that produces an equal margin percentage. The math is structural, not situational.
Margin ÷ (1 − Margin) = Markup
20% margin: 0.20 ÷ 0.80 = 25.0% markup.
22% margin: 0.22 ÷ 0.78 = 28.2% markup.
25% margin: 0.25 ÷ 0.75 = 33.3% markup.
28% margin: 0.28 ÷ 0.72 = 38.9% markup.
30% margin: 0.30 ÷ 0.70 = 42.9% markup.
If your target gross margin is 24% and you want to know what markup to apply to your direct costs: 0.24 ÷ 0.76 = 31.6% markup. That is the number that goes in your bid template.
Working backward from what the business actually needs
If your overhead rate is 14% and your target net margin is 10%, your required gross margin is 24%. The markup that delivers 24% gross margin is 0.24 ÷ 0.76 = 31.6%. That is the floor. Any bid below that markup is delivering below the minimum the business needs to cover overhead and generate profit. Most subcontractors running 25–28% markup are bidding below their own floor without knowing it.
WHAT THE GAP COSTS ON A $4M BOOK OF WORK.
On a $4M book of work at 25% markup the business delivers $800,000 in gross profit. If the overhead rate is 14% — $560,000 in overhead — net profit is $240,000 or 6%. Healthy on paper. But the owner believed they were bidding at 25% margin, which would have delivered $1,000,000 in gross profit and $440,000 in net profit — an 11% net margin. The $200,000 difference is real money that was never there.
Multiply that gap over 3–4 years of growth and the business has underfunded overhead by $600,000–$800,000 without ever knowing it. The LOC draws that seemed like cash flow problems were a pricing problem the whole time.
The fix is not to raise prices on existing GC relationships overnight. It is to identify which relationships can absorb the correction, which new work gets bid at the right number from day one, and which GC relationships are not worth the cost of estimating at correct margins. SPM rebuilds the bid template at every engagement start and calculates the correction plan by relationship.