All posts

Markup vs Margin: The Difference That Costs You Money

9 min read

The short answer: Markup and margin describe the same dollar of profit from two different starting points — markup is profit as a percentage of your cost, margin is profit as a percentage of your price. They are never equal, and the gap is bigger than most people expect: a 50% markup is only a 33% margin. If you set prices with a markup number but you think you are earning that same number as margin, you are quietly under-earning on every job. Price to a target margin, then check the finished job against real cost. CRMb shows you the margin you actually landed — on your crew's punched hours and your true material cost — so you find out before the year is over, not after.

Almost every service business gets burned by this once. You mark everything up 20%, you feel like you are running a 20% business, and at year end the profit is not there. The numbers were fighting you the whole time and nobody told you. Here is exactly why, and how to stop it.


The two numbers, in plain terms

Both start from the same two facts about a job: what it cost you, and what you charged. The profit is the difference. Markup and margin just divide that profit by different denominators.

  • Markup = profit ÷ cost. "I paid $100, I charge $150, that is a 50% markup." You are measuring profit against what you spent.
  • Margin = profit ÷ price. "I charge $150, $50 of it is profit, that is a 33% margin." You are measuring profit against what you collected.

Same job. Same $50 of profit. Two very different percentages — because one divides by 100 and the other divides by 150. That is the whole trick. Markup always looks like the bigger, friendlier number, which is exactly why it is the one that fools people.


Why the gap matters: a 50% markup is a 33% margin

Line them up and the spread is impossible to ignore. Here is the same cost priced at common markups, with the margin each one actually produces:

Markup on costPrice on $100 costReal margin
15%$11513%
25%$12520%
35%$13526%
50%$15033%
67%$16740%
100%$20050%

Read the last two columns together. To keep half of every dollar — a 50% margin — you have to double your cost, a 100% markup. If you marked things up 50% believing you were a "50% shop," you are really a 33% shop, and the missing 17 points is profit you assumed you had and never collected.

The error compounds because it is invisible per job. Each invoice looks fine. It is only when you total the year that the gap between the margin you thought you ran and the margin you actually ran shows up as a number that does not match the bank.


The formulas, and how to convert between them

You only need three lines. Keep them where you build quotes.

Markup from cost and price: markup % = (price − cost) ÷ cost

Margin from cost and price: margin % = (price − cost) ÷ price

Price from cost and a target margin — this is the one that actually protects you: price = cost ÷ (1 − margin)

That last formula is the fix for the whole problem. Want a 40% margin on a job that costs you $600? Do not add 40%. Divide: 600 ÷ (1 − 0.40) = 600 ÷ 0.60 = $1,000. Adding 40% would give you $840 — a 40% markup and only a 29% margin. The division is what makes the margin you wanted actually land.

To convert a markup you already use into the margin it delivers: margin = markup ÷ (1 + markup). A 25% markup becomes 0.25 ÷ 1.25 = 20% margin. Going the other way: markup = margin ÷ (1 − margin).


Which one should you actually price with?

Price with margin. Here is why it is the honest number for a service business.

Margin answers the question that actually matters: of every dollar a customer pays me, how much do I keep? That is the number that has to cover your overhead, your slow months, your truck breaking down, and your own pay. Overhead and profit targets are always expressed as a share of revenue — a share of price — so building your prices from margin keeps the whole business speaking one language.

Markup is fine as a quick shop-floor shortcut for adding to a known cost, as long as you know the margin it produces. The danger is only ever confusing the two — using a markup number but reading it as if it were margin. Pick margin as your true target, convert to a markup if that is easier to apply at the counter, and never mix them up in your head.

There is a second reason margin wins: it is the only one of the two you can check after the fact. You can look at a finished job, see what you charged and what it truly cost, and read your margin directly. That is the loop that turns pricing from a guess into a system.


Where most contractors lose the margin they priced for

Setting the right price is only half the job. The other half is the cost side being wrong — because a margin is only as honest as the cost you divided into. Three leaks are common:

  • Labor costed at wage, not burden. The number that goes into your cost has to be the fully loaded cost of an hour — wage plus payroll taxes, insurance, vehicle, equipment, and overhead — which runs 25% to 40% above the raw wage. Price off the wage and your "40% margin" is fiction.
  • Estimated hours instead of real hours. You quoted three hours; the crew took four and a half. That extra hour and a half came straight out of the margin, and if you never compare estimate to actual, you will quote the same losing number next time.
  • Material cost guessed, not tracked. Prices drift, you forget a run to the supplier, and the material line on the invoice was never reconciled to what you actually paid.

CRMb closes all three. Your crew punches in and out on the job in Punch, and those real hours flow into the job's labor cost — actual time, not the estimate. Materials pulled from inventory are costed at their true average cost, so the material line is real too. Then Reports shows the margin you actually earned on each job against that real cost — the moment the numbers diverge from the margin you priced, you see it, on that job, not at tax time.


A worked example, start to finish

A landscaping install. You want a 35% margin.

  1. Labor cost. Two crew for a full day. Fully loaded cost is $48/hour each. 2 × 8 × $48 = $768.
  2. Materials. Plants, soil, edging at true average cost: $540.
  3. Total cost: $768 + $540 = $1,308.
  4. Price to a 35% margin: 1,308 ÷ (1 − 0.35) = 1,308 ÷ 0.65 = $2,012.

Quote $2,012 and, if your hours and materials hold, you keep 35%. If you had instead "added 35%," you would have quoted 1,308 × 1.35 = $1,766 — a 35% markup that is really a 26% margin, nearly nine points of profit gone on one job. And if the crew runs long or a plant order costs more, the finished-job margin in Reports tells you, so the next quote for the same install is built on a truer number.


FAQ

Is markup or margin bigger for the same job? Markup is always the bigger percentage, because it divides profit by the smaller number (cost) instead of the larger one (price). Any time someone quotes an impressive percentage, ask which one they mean.

What margin does a 50% markup give me? A 33% margin. To actually keep half of every dollar (50% margin), you need a 100% markup — you have to double your cost.

How do I convert markup to margin? margin = markup ÷ (1 + markup). A 30% markup is 0.30 ÷ 1.30 = 23% margin. To go the other way: markup = margin ÷ (1 − margin).

Why do accountants and lenders talk in margin? Because margin is profit as a share of revenue, and revenue is what every other target — overhead, net profit, break-even — is measured against. It keeps the whole financial picture in one consistent unit.

Can I just pick one and stick with it? Yes — pick margin as your target. Convert to a markup at the counter if that is faster to apply, but let margin be the number you aim for and the number you check every finished job against.


Getting started with CRMb

Knowing the formulas is the easy part. The hard part is knowing your true cost so the margin you price is the margin you keep. CRMb builds job cost from your crew's real punched hours and your true average material cost, then shows the margin you actually earned on every job in Reports — so pricing stops being a hope and becomes a number you can trust.

Start a 14-day free trial and price your next job to a margin you can prove.

More from the blog