All articlesEstimating

Markup vs Margin for Contractors: Get the Math Right

The Trusso TeamOctober 12, 20265 min read

Ask ten contractors what they mark up and you'll get ten confident answers. Ask them what their actual profit margin is on that same job, and most will guess wrong — usually high. This isn't a vocabulary problem. It's a pricing problem that quietly drains profit out of every job you bid, because markup and margin are two different numbers that measure two different things, and treating them as the same thing means you're probably charging less than you think you are.

If you've ever finished a job, looked at the bank account, and wondered where the money went, this is very likely part of the answer.

{"h2":"The Difference, in One Sentence"}

Markup is profit calculated as a percentage of your cost. Margin is profit calculated as a percentage of your selling price. Same dollars, different denominator — and that difference gets bigger the higher your percentages go.

Here's the formula for each:

{"ul":["Markup = (Selling Price − Cost) ÷ Cost","Margin = (Selling Price − Cost) ÷ Selling Price"]}

Notice the denominator changes. Markup divides by your cost (the smaller number). Margin divides by your price (the bigger number). Dividing the same profit dollars by a smaller number always gives you a bigger percentage — which is exactly why a 50% markup feels like a 50% margin but isn't even close.

{"h2":"The $10,000 Job Example"}

Say a job costs you $10,000 in materials, labor, and subs to deliver. You decide to mark it up 50%, so you add $5,000 and price the job at $15,000.

{"ul":["Cost: $10,000","Markup: 50% → add $5,000","Selling price: $15,000","Profit: $5,000"]}

Now check your actual margin on that $15,000 job: $5,000 profit ÷ $15,000 price = 33.3%. You thought you built in a 50% cushion. You actually built in 33%. That 17-point gap is the difference between a job that funds your growth and a job that barely covers your overhead once insurance, vehicle costs, software, and a slow week get factored in.

Run it the other way to see how far off things get at higher markups. Mark up that same $10,000 job by 100% — doubling your cost — and you price it at $20,000. Profit is $10,000. Margin is $10,000 ÷ $20,000 = 50%. A 100% markup only gets you a 50% margin. Most contractors assume

doubled cost = double profit percentage,

which is true for markup but never true for margin.

{"h2":"The Markup-to-Margin Conversion Table"}

Stop doing this math on the fly between jobs. Here's the conversion for common markup percentages:

{"table":{"headers":["Markup %","Resulting Margin %"],"rows":[["10%","9.1%"],["20%","16.7%"],["25%","20.0%"],["30%","23.1%"],["40%","28.6%"],["50%","33.3%"],["60%","37.5%"],["75%","42.9%"],["100%","50.0%"],["150%","60.0%"],["200%","66.7%"]]}}

The pattern to internalize: markup always overstates margin, and the gap widens as the percentage climbs. At low markups (10-20%) the two numbers are close enough that confusing them barely matters. At the markups most trades actually use — 40% to 60% — the gap is 10 to 20 points, which on a $15,000-$20,000 job is $1,500-$4,000 of profit you thought you had and don't.

{"h2":"Why This Matters More Than It Sounds Like It Should"}

This isn't academic. Two very common, very costly mistakes trace directly back to this confusion:

{"ul":["Setting a profit target in margin terms (\"I need 40% margin to hit my numbers\") but pricing jobs using a markup formula, which quietly delivers less margin than planned on every single job.","Comparing your pricing to a competitor's without knowing which number they're quoting. If a competitor says they \"mark up 40%\" and you've been targeting a 40% margin, you are not pricing the same way, and matching their number means underpricing yourself."]}

If you want to hit a specific margin target — say 35% because that's what your overhead and owner's pay actually require — you need to work backward using the margin formula, not the markup formula:

Selling Price = Cost ÷ (1 − Target Margin)

So for a $10,000 cost job with a 35% margin target: $10,000 ÷ (1 − 0.35) = $10,000 ÷ 0.65 = $15,385. That's your price. The equivalent markup is about 53.8% — not 35%. If you'd just marked the job up 35% instead, you'd have priced it at $13,500 and landed a margin of only 25.9%. On that one job alone, the mix-up cost you roughly $1,900 in profit you needed and didn't get.

{"h2":"Which One Should You Actually Use?"}

Use margin as your planning number and markup as your pricing tool. Decide what margin you need to run a healthy business — covering overhead, owner pay, a reserve for slow months, and actual profit, not just break-even — then convert that margin target into the correct markup percentage using the formula above, and apply that markup consistently to your cost on every estimate. Don't pick a markup percentage because it "sounds right" or because that's what you've always used. Work it backward from the margin you actually need, every time your cost structure changes.

It's also worth separating material markup from labor markup in your price book, since they carry very different risk and overhead burden — a point covered in more detail in how to price contractor jobs without losing money, which walks through building a pricing structure that protects margin instead of just hitting a markup number.

{"h2":"Where Software Helps"}

The reason this mistake is so common isn't that contractors are bad at math — it's that recalculating margin by hand on every line item, for every estimate, on a jobsite between calls, doesn't happen. Most contractors set a markup once, years ago, and never revisit whether it's actually hitting their margin target as material costs, labor rates, and overhead change. A job pricing app that's built around your own price book can apply the right markup automatically and show you the resulting margin on every estimate before you send it, so you're not finding out six weeks later, over a beer, that the job barely broke even.

Run your business the simple way

Try Trusso free for 14 days and send your first estimate in minutes.

Start 14-Day Free Trial