Guides

Markup vs margin: why a 30% markup is only a 23% margin

Markup and margin measure the same gap between cost and price against different bases, so a quote priced with one and judged by the other lands below the margin you meant.

You add 30% to your costs, send the quote and win the work. The project closes on budget, and the report shows a 23% margin. Nothing went wrong in delivery. The quote was built with markup and judged by margin, and the two give different percentages for the same dollars.

This guide covers both definitions, the two conversion formulas, a conversion table for your quote sheet, what a discount does to margin, and how to set a target margin from your loaded cost rate. All of it works in any spreadsheet.

Markup and margin, defined

Both start from the same gap: price minus cost. In dollars, that gap is the job's contribution. In this guide, cost means delivery cost: your team's hours at a loaded cost rate, plus direct costs such as freelancers and stock licenses bought for the job.

  • Markup is the gap as a share of cost: (price − cost) ÷ cost.
  • Margin is the gap as a share of price: (price − cost) ÷ price.

Margin measured this way is contribution margin, the figure the Client Profitability Tracker reports.

Take a delivery cost of US$10,000 and a price of US$13,000. The gap is US$3,000. As a markup, that is 3,000 ÷ 10,000 = 30%. As a margin, it is 3,000 ÷ 13,000 = 23.1%.

Whenever the price is above cost, margin is the smaller of the two, because price is the larger base.

Each has its use. As AccountingTools explains, markup is convenient for building a price from a known cost, and margin is better for checking whether that price meets a target. Most management reports, including the tracker's Summary, show margin. So if you price with markup, convert it before you compare the result with your target.

Better still, put the target margin on the quote sheet and calculate the price from it. Keep markup as a check.

The two conversion formulas

Each direction takes one line:

Margin = markup / (1 + markup)
Markup = margin / (1 - margin)

That is why a 30% markup is only a 23% margin: 0.30 ÷ 1.30 = 0.231. Going the other way, a 30% margin needs a 42.9% markup: 0.30 ÷ 0.70 = 0.429.

The same applies to markups on single costs. Add 15% to a freelancer's invoice and that line carries a 13.0% margin: 0.15 ÷ 1.15 = 0.130.

When you know the margin you want, price from it directly:

Price = delivery cost / (1 - target margin)

In a spreadsheet, six cells per quote cover it:

Cell What it holds Formula or value
B2 Delivery cost The sum of your cost lines
C2 Target margin 45%
D2 Price for the target =B2/(1-C2)
E2 Rounded price =CEILING(D2,100), which rounds up to the next 100
F2 Margin on the rounded price =(E2-B2)/E2
G2 Markup, as a check =(E2-B2)/B2

Format C2, F2 and G2 as percentages. F2 is the number to compare with your target. For the worked example below, D2 to G2 come out at US$18,181.82, US$18,200, 45.1% and 82%.

A conversion table

Each row is one price, read two ways. The last column is the multiplier: price divided by delivery cost.

Markup on cost Margin on price Price ÷ cost
20.0% 16.7% 1.20
25.0% 20.0% 1.25
30.0% 23.1% 1.30
42.9% 30.0% 1.43
50.0% 33.3% 1.50
66.7% 40.0% 1.67
81.8% 45.0% 1.82
100.0% 50.0% 2.00
150.0% 60.0% 2.50

Two rows are worth remembering. A 50% markup is a 33% margin. A 100% markup, which doubles your cost, is a 50% margin.

What a discount does to margin

A discount lowers the price. It doesn't lower the cost of the work. So every dollar of discount comes out of contribution, and the margin falls faster than the discount suggests.

With the discount as a share of the quoted price:

Margin after discount         = (margin - discount) / (1 - discount)
Share of contribution removed = discount / margin

For a quote priced at a 45% margin:

Discount Margin after discount Share of contribution removed
5% 42.1% 11%
10% 38.9% 22%
15% 35.3% 33%
20% 31.3% 44%

The thinner the margin, the more a discount takes. At the 23.1% margin that a 30% markup gives, 10% off leaves 14.5% and removes 43% of the contribution.

If you offer a standard discount, for example to nonprofits or for payment in advance, build it into the list price:

List price = delivery cost / ((1 - target margin) * (1 - discount))

For US$10,000 of delivery cost, a 45% target and a 10% standard discount, that is 10,000 ÷ (0.55 × 0.90) = US$20,202. After the discount the client pays US$18,182, and the margin is still 45%.

When a client asks for a lower price, trade scope instead. Take out work so that delivery cost falls by at least the same share as the price. The worked example below shows the difference.

Set a target margin from your loaded cost rate

A margin target should come from your own numbers. You need two.

  1. Your loaded cost rate. What one delivery hour costs you: pay plus employer costs, divided by the hours your team actually spends on client work. How to set an internal hourly cost rate walks through it.
  2. Your overhead as a share of fees. Rent, software, insurance, accounting and other running costs for the year, divided by the fees you expect to bill. Leave out any staff cost that is already inside your cost rate, so nothing is counted twice.

Your target margin is your overhead share plus what you want left after overhead. With overhead at 30% of fees and an aim of 15% left over, the target is 45%.

Then turn it into a minimum hourly price:

Minimum hourly price = loaded cost rate / (1 - target margin)

At a loaded cost rate of US$70, that is 70 ÷ 0.55 = US$127.27. Rounded up to US$130, each hour carries a margin of (130 − 70) ÷ 130 = 46.2%. The same hour at cost plus 30% would be US$91, a 23.1% margin, which doesn't cover 30% overhead.

Two cautions. Your overhead share rises when fees come in below plan, so check it each quarter against actual fees. And the target applies to the whole delivery cost, freelancers and other direct costs included. Any cost you pass through with no margin pulls down the margin on the whole quote.

A worked example (fictional)

Fictional example. Copper Beech Studio is not a real business. The figures are illustrative and are not a customer result.

Copper Beech is a five-person design studio with a blended loaded cost rate of US$70 an hour. Its overhead is US$168,000 a year against expected fees of US$560,000, which is 30%. It wants 15% left after overhead, so its target margin is 45%.

A website project needs 120 hours of team time and US$1,600 of freelance copywriting. Delivery cost is 120 × US$70 = US$8,400, plus US$1,600, for US$10,000. The owner's habit was cost plus 30%. Here is that price next to the alternatives:

Price basis Price Delivery cost Contribution Margin
Cost plus 30% US$13,000 US$10,000 US$3,000 23.1%
Cost plus 30%, then 10% off US$11,700 US$10,000 US$1,700 14.5%
Priced for a 45% margin US$18,200 US$10,000 US$8,200 45.1%
Discounted to the client's budget US$16,400 US$10,000 US$6,400 39.0%
Client's budget, 14 hours of scope removed US$16,400 US$9,020 US$7,380 45.0%

Row by row:

  • Cost plus 30% feels like "30% on the job". It is a 23.1% margin. Priced this way all year, each US$100 of fees would leave US$23.08 to cover US$30 of overhead.
  • A 10% discount on top leaves 14.5%. It removes US$1,300 of the US$3,000 contribution.
  • Pricing for 45% gives US$10,000 ÷ 0.55 = US$18,181.82, rounded up to US$18,200. That is an 82% markup.
  • The client's budget was US$16,400. Discounting to it removes US$1,800, about 22% of the US$8,200 contribution, and the margin falls to 39.0%.
  • Removing scope instead, the studio dropped the blog templates and the second revision round on the inner pages: 14 hours. Delivery cost fell to 106 × US$70 + US$1,600 = US$9,020. At US$16,400, the margin is 45.0%.

Both of the last two rows meet the client's budget. In the last one, the client gets less work, and the studio keeps US$980 more contribution: the cost of the 14 hours it no longer has to deliver.

What the studio sent back:

We can do US$16,400 if we leave out the blog templates and the second revision round on the inner pages. If you'd like to keep both, the price stays at US$18,200.

The client gets a choice between scope and price, and either answer keeps the studio at its target margin.

Mistakes that shrink a quoted margin

  • Calling a markup a margin. "30% on top" and "a 30% margin" are different prices. Write down which one you mean on the quote sheet.
  • Discounting without recalculating. Every time the price moves, recalculate the margin from the new price.
  • Starting from an unloaded cost. Pay divided by 2,080 hours leaves out employer costs and time spent off client work. Every markup and margin built on it looks better than it is.
  • Rounding down. Round the price up, then recalculate the margin from the rounded figure.

The rest of a quote, from scope lines to contingency and direct costs, is covered in how to price a project so it still pays.

A calculator for this

The Project Quote Calculator is in progress. It will build a quote from loaded rates, scope lines, contingency and direct costs, and show the quoted margin before you send it. There is no release date yet; its page describes what it will do. Until then, the formulas above work in any spreadsheet.

Once the work is delivered, the Client Profitability Tracker shows contribution before overhead and margin by client, month by month. A free lite edition of the tracker, for businesses working in one currency, is planned, also with no release date yet.

Sources

Common questions

Why is a 30% markup not a 30% margin?

Markup is measured against cost and margin against price. Adding 30% to a US$10,000 delivery cost gives a US$13,000 price. The US$3,000 gap is 30% of the cost but only 23.1% of the price.

How do you convert markup to margin, and back?

Margin = markup / (1 + markup), and markup = margin / (1 - margin). A 30% markup is 0.30 / 1.30 = 23.1% margin. A 45% margin needs a markup of 0.45 / 0.55 = 81.8%.

How much margin does a 10% discount take?

All of the discount comes out of margin, because the cost of delivering the work doesn't change. On a quote at a 45% margin, 10% off leaves (0.45 - 0.10) / 0.90 = 38.9%, and removes about 22% of the contribution.

All guides