Closlyo

Margin or markup: why 30% is not 30%

Adding 30% to your cost does not give you a 30% margin. The gap is hundreds of dollars per job.

This is the most expensive quiet mistake in a roofing quote. Markup and margin are calculated on different bases: markup on cost, margin on the selling price.

The arithmetic, side by side

Take $10,000 of cost — materials, labour, dumpster, permit.

Result
Cost$10,000.00
Cost plus 30% markup$13,000.00
Margin actually yielded23.08%
Price at a true 30% margin$14,285.71
What the confusion costs$1,285.71

On $13,000 you keep $3,000. Three thousand divided by thirteen thousand is 23.08%, not 30%. To hold a true 30% margin the price has to be cost divided by 0.70 — $14,285.71.

The formula

Price = cost ÷ (1 − target margin). For 30%: 10,000 ÷ 0.70 = $14,285.71. For 40%: 10,000 ÷ 0.60 = $16,666.67.

Across twenty jobs a season, a $1,285.71 gap per job is more than $25,000. That is the difference between a profitable season and a busy one.

Closlyo derives the price from the margin instead of adding a markup. You name the margin you want to hold and the price is calculated backwards from it.

Common questions

What is the difference between margin and markup?

Markup is calculated on cost, margin on the selling price. A 30% markup produces a 23.08% margin.

How do I price from a target margin?

Divide the cost by (1 minus the margin). For a 30% margin on $10,000 of cost: 10,000 ÷ 0.70 = $14,285.71.

What margin should a roofing company target?

It depends on your overhead, your market and the type of work. What matters first is knowing which of the two you are actually calculating.

Closlyo derives the price from the margin you set, on every line of the quote.

Apply for a beta spot

Updated 2026-09-22

More guides