Ask ten contractors what margin they run and most will give you a number they got by adding a percentage to their costs. That number is their markup, not their margin, and the gap between the two is real money that never makes it to the bank.

It’s the most common pricing mistake in the trades, and one of the easiest to fix.

The difference in one sentence each

Markup is how much you add on top of your cost, as a percentage of the cost.

Margin is how much of the selling price you keep, as a percentage of the price.

Same dollars, different number to divide by. That’s why the two never match.

Example

A job costs you $10,000 in materials, labor, disposal and permits. You add 30% and sell it for $13,000. You made $3,000.

Your markup is $3,000 ÷ $10,000 = 30%.
Your margin is $3,000 ÷ $13,000 = 23.1%.

If you thought you were running a 30% margin, you’re almost seven points short on every job. Over a year of work, that’s the difference between a business that pays you and one that just keeps you busy.

Why margin is the number that matters

Your overhead and your profit come out of the selling price, not out of your costs. Your accountant, your profit and loss statement and your bank all talk in margin. If overhead runs 15% of revenue and you want 10% profit, then 25% of every dollar you collect has to be left after job costs. That’s a margin target.

Price with markup while thinking in margin and you’ll always come up short without knowing why. The jobs feel fine. The crew is busy. The money just isn’t there at the end of the year.

The formula to price for a margin

To hit a target margin, divide your cost by one minus the margin:

Price = Cost ÷ (1 − Target margin)

For a 30% margin on a $10,000 job: $10,000 ÷ 0.70 = $14,286.

Check it: $14,286 − $10,000 = $4,286, and $4,286 ÷ $14,286 = 30%. That’s $1,286 more than the “add 30%” price, and every dollar of the difference is profit or overhead you were leaving on the table.

Markup to margin chart

Tape this up wherever you write estimates.

Margin you want Markup you need $10,000 cost sells for
20% 25% $12,500
25% 33.3% $13,333
30% 42.9% $14,286
33.3% 50% $15,000
35% 53.8% $15,385
40% 66.7% $16,667
50% 100% $20,000

Doubling your cost gives you a 50% margin, not 100%. Margin can never go over 100%, while markup has no ceiling at all, which is one more reason margin is the honest number.

Three places this mistake hides

1. Your pricing spreadsheet. If there’s a cell that says “multiply by 1.3,” you’re pricing on markup. Change it to divide by 0.7 (or whatever your margin target is) and nothing else in the sheet has to change.

2. Change orders. Plenty of contractors price the main job carefully, then add “cost plus 20%” for extras. That’s a 16.7% margin on work that’s often more disruptive than the original scope. Price change orders with the same formula as everything else.

3. Your subs’ numbers. When you mark up a subcontractor’s bid, the same math applies. A 15% markup on a sub is a 13% margin, and that may not even cover your overhead on the work you’re managing.

What margin should you target?

There’s no single right number, and anyone who gives you one without seeing your books is guessing. The right target comes from two numbers specific to your business:

  1. Your overhead as a percentage of revenue. Rent, trucks, insurance, office staff, software, and your own salary if you’re not on the tools. (How to work out your overhead.)
  2. The net profit you want to keep. What’s left after every cost, and after you’ve paid yourself a fair wage.

Add the two together and you have your minimum gross margin. Price below it and every job you win digs the hole deeper. From there, build every price from your real costs, not from what the competition charges.

The five-minute check

Pull your last five finished jobs. For each one, write down what you collected and what the job actually cost you. Divide the difference by what you collected. That’s your real margin.

If it’s lower than you thought, you’re in good company, and now you know where to start. If you don’t know what those jobs actually cost, that’s the first thing to fix. Start with simple job costing.