Stairkey
Blog/For Contractors

Markup vs margin: the contractor math that decides whether you make money

Brian Guy, founder of Stairkey
Brian Guy
Founder — working contractor & realtor · June 19, 2026 · 4 min read

Ask two contractors to add "20 percent" to a job and you'll often get two different prices — and one of them is quietly losing money. Markup and margin sound interchangeable, and treating them as the same number is one of the most common, and most expensive, mistakes in the trade.

It isn't complicated once you see it side by side. Here's the difference in plain numbers, and why getting it wrong shaves real money off every single job.

Same percentage, different paycheque

Say a job costs you $1,000 in materials and labour. Add 20 percent markup and you charge $1,200 — a $200 profit. But that $200 is only about 16.7 percent of the $1,200 the client paid. So your margin isn't 20 percent; it's 16.7. You thought you made twenty and you made under seventeen.

Now run it the other way. To actually keep a 20 percent margin, you price at $1,250 — cost divided by 0.8 — which is a 25 percent markup. Same job, same "twenty," but a $50 swing on a $1,000 job. Scale that across a year of work and the gap between markup-20 and margin-20 is a serious amount of money you either kept or gave away.

Tip: Markup is measured against your cost. Margin is measured against the price the client pays. They're never the same number — and margin is the one that pays your bills.

The two definitions, plainly

Markup is the amount you add on top of your cost, expressed as a percentage of that cost. Cost $1,000, charge $1,200, that's a 20 percent markup.

Margin is your profit as a percentage of the final price. Charge $1,200 with $200 of profit in it, and that's a 16.7 percent margin. If you want to think in margins — and you should, because margin is what's actually left over — convert with one move: price = cost ÷ (1 − margin). A 30 percent margin means dividing your cost by 0.7.

Why the mix-up quietly drains a business

Nobody notices this on one job. You feel busy, the deposits come in, the work gets done. The leak shows up at year end, when the volume was high and the bank balance wasn't — because every job was priced a few points thinner than you believed, and a few points across every invoice is the difference between a good year and a stressful one.

The fix isn't charging more out of nowhere. It's pricing on purpose: decide the margin you need to actually run the business, then back into the price every time, instead of slapping a markup on and hoping. Spell that pricing out where the client can see it — a detailed quote that lists the work is also where your margin quietly lives.

Decide it once, let the estimate carry it

The reliable way to hold your margin is to stop doing the math by hand on every quote. In the Takeoff Builder, quantities flow into a priced estimate where your pricing is applied consistently — so the number that reaches the client reflects the margin you set, not whatever you eyeballed at 9pm.

Price it once, correctly, and let the system reproduce it on every job. That's the whole point of construction estimating software — the profit you planned shows up in the invoice instead of evaporating between the quote and the cheque.

Every step. Handled.

Put it to work on your own jobs — every feature unlocked, first month free, no card required.