Skip to main content
Back to Resources
Finance•14 min read

Markup vs Margin: The Mix-Up That Quietly Underprices Whole Catalogs

S
Siddharth Sharma·Aug 13, 2026
Calculator and pricing notes on a desk next to a laptop

Two sellers (an invented example) buy the same ceramic mug for $10, and both aim for "50%". One lists it at $15. The other lists it at $20. Each believes they hit the target, and on paper each did: the first priced to a 50% markup, the second to a 50% margin. The second keeps $10 on every mug. The first keeps $5.

Markup and margin measure the same profit against different bases. Markup is profit divided by what the product cost you. Margin is profit divided by what the customer paid. So a $10 mug sold for $15 earns $5, which is a 50% markup but only a 33.3% margin.

That gap is how whole catalogs end up underpriced. Say your plan calls for a 50% margin and someone builds the price rule as "cost plus 50%". Every SKU (each product variant you stock) then sells at $15 instead of $20, and the business earns half the gross profit it budgeted. This guide gives you both formulas and a conversion table you can price from. It also covers the math behind doubling your cost, and a fee-adjusted formula that tells you what to charge on each channel.

What's in this guide

  1. Markup vs margin: the two formulas
  2. How to calculate markup and price, step by step
  3. Markup to margin conversion table
  4. How the mix-up underprices a whole catalog
  5. Keystone pricing and what it earns
  6. Why channel fees come before either number
  7. What margins look like in practice
  8. Discounts and wholesale: where the math compounds
  9. How to audit and fix a mispriced catalog
  10. What to do this week

Markup vs margin: the two formulas

Both numbers start from the same gross profit per unit: selling price minus what the item cost you, before any other expenses. The only difference is what you divide by.

In plain English: markup compares your profit with what you paid, and margin compares it with what the customer paid.

Gross profit  = Price − Cost

Markup %      = (Price − Cost) ÷ Cost  × 100
Margin %      = (Price − Cost) ÷ Price × 100

Example: Cost $10, Price $15
  Profit  = $5
  Markup  = 5 ÷ 10 = 50%
  Margin  = 5 ÷ 15 = 33.3%

Because price is always larger than cost on a profitable item, the markup percentage is always larger than the margin percentage for the same product. Margin can never reach 100% (profit can't exceed price). Markup has no ceiling.

Part of the confusion is vocabulary. Monash Business School's marketing dictionary defines mark-up as the amount a wholesaler or retailer adds to cost to reach the selling price. Yet the same dictionary's entry on keystone markup describes it as doubling cost "or a markup of 50 percent of retail". Traditional retail buyers often quote "markup on retail", which works out as a margin. When two people say "50% markup", they may mean prices $5 apart on a $10 item.

So never pass a bare percentage between people or tools. Write it as "50% margin (price = cost ÷ 0.5)" or "50% markup (price = cost × 1.5)" so the formula travels with the number.

How to calculate markup and price, step by step

Most pricing questions come in one of four shapes. The table gives a formula for each, written so you can paste it into a spreadsheet.

You knowYou wantFormulaExample ($12 cost)
Cost and priceMarkup %(Price − Cost) ÷ Cost$18 price → 6 ÷ 12 = 50%
Cost and priceMargin %(Price − Cost) ÷ Price$18 price → 6 ÷ 18 = 33.3%
Cost and target markupPriceCost × (1 + Markup)40% markup → 12 × 1.40 = $16.80
Cost and target marginPriceCost ÷ (1 − Margin)40% margin → 12 ÷ 0.60 = $20.00

The last row is the one most people get wrong. A 40% margin on a $12 item is not $12 × 1.40. It is $12 ÷ 0.60, or $20. The markup that produces a 40% margin is 66.7%.

Two conversion formulas let you switch between the two without touching price at all. In plain English: one division turns a markup into a margin, or a margin back into a markup.

Margin = Markup ÷ (1 + Markup)      e.g. 0.50 ÷ 1.50 = 0.333 → 33.3%
Markup = Margin ÷ (1 − Margin)      e.g. 0.40 ÷ 0.60 = 0.667 → 66.7%

Spreadsheet (cost in A2, price in B2):
  Markup:            =(B2-A2)/A2
  Margin:            =(B2-A2)/B2
  Price from margin: =A2/(1-0.40)
  Price from markup: =A2*(1+0.40)

What counts as "cost" matters as much as the formula. The IRS small business guide lists freight-in and containers that are part of the product as components of cost of goods sold in Publication 334. Cost of goods sold (COGS) is what the products you sold cost you. For a seller, that means inbound freight, import duties and packaging belong in the cost you mark up. The full figure is called landed cost: what one unit costs by the time it reaches your shelf. If you only use the supplier's invoice price, every markup and margin you calculate is flattering. Our guides to calculating ecommerce COGS correctly and building a landed cost for imported goods walk through what to include.

Markup to margin conversion table

Use this table when a supplier, buyer or pricing tool hands you one number and you need the other. The multiplier column is what you multiply landed cost by to get the price.

Target marginMarkup neededPrice multiplierPrice for a $10 cost
20%25.0%1.25×$12.50
25%33.3%1.33×$13.33
30%42.9%1.43×$14.29
35%53.8%1.54×$15.38
40%66.7%1.67×$16.67
45%81.8%1.82×$18.18
50%100%2.00×$20.00
55%122.2%2.22×$22.22
60%150%2.50×$25.00
65%185.7%2.86×$28.57
70%233.3%3.33×$33.33
75%300%4.00×$40.00
80%400%5.00×$50.00

And the reverse, for when you are handed a markup and want to know what margin it delivers:

MarkupMargin it producesPrice for a $10 cost
10%9.1%$11.00
25%20.0%$12.50
30%23.1%$13.00
50%33.3%$15.00
75%42.9%$17.50
100%50.0%$20.00
150%60.0%$25.00
200%66.7%$30.00
300%75.0%$40.00

Notice how the gap widens. At 20% the two numbers are only 5 points apart. At 50% margin you need double the markup. At 80% margin you need five times the markup. The higher your target, the more expensive the mix-up becomes.

How the mix-up underprices a whole catalog

One mistaken formula rarely stays on one SKU. Pricing rules get applied in bulk: a spreadsheet column, the minimum price in a repricer (software that changes prices automatically), a "cost plus X%" rule in a store app. When the X was meant as a margin, every product it touches is underpriced by the same proportion.

This table shows how far below plan you land when a margin target is typed in as a markup:

Intended marginCorrect price ($10 cost)Price if used as markupMargin you getPrice shortfall
30%$14.29$13.0023.1%9%
40%$16.67$14.0028.6%16%
50%$20.00$15.0033.3%25%
60%$25.00$16.0037.5%36%
70%$33.33$17.0041.2%49%

Worked example: one rule, 400 SKUs

Example: Say you run a 400-SKU home goods catalog with an average landed cost of $12 and expect to sell 20,000 units this year. The plan says 50% gross margin.

  • Correct price: $12 ÷ (1 − 0.50) = $24.00. Gross profit per unit: $12.00.
  • Price from "cost + 50%": $12 × 1.50 = $18.00. Gross profit per unit: $6.00.
  • Realized margin: $6 ÷ $18 = 33.3%, not 50%.
  • Annual gross profit: 20,000 × $12 = $240,000 planned vs 20,000 × $6 = $120,000 actual. A $120,000 shortfall before a single fee, ad or shipping label.

The lower price will probably sell some extra units, but not enough to close that gap. To earn the same $240,000 at $6 per unit you would need 40,000 units, double the plan, with double the inventory, picking and returns that come with it.

The opposite error also happens. A buyer who wants a 50% markup but prices with the margin formula lands at $24 instead of $18, 33% above where they meant to be. That shows up as stock selling slowly rather than thin profit, so it tends to be misdiagnosed as a demand problem.

Quick sanity check: if a "50%" price is less than double your landed cost, it is a 50% markup, not a 50% margin. Any margin target of 50% or more must at least double the cost.

Keystone pricing and what it earns

Keystone pricing is the retail shortcut of setting price at twice cost. In markup terms that is 100%; in margin terms it is 50%. It became a default because it is easy to do in your head and leaves room for markdowns.

Keystone is a gross number, though. A 50% keystone margin assumes the only cost between you and the customer is the product itself. On a marketplace, a referral fee (the share of each sale the marketplace keeps) comes off the top before you see a dollar. On your own site, the payment processor takes a cut. Keystone on a marketplace is not a 50% business.

Take a product with a $20 landed cost, priced at keystone ($40), across five channels. The table uses each platform's published per-sale fees:

ChannelPer-sale fees usedFees on $40Profit after cost and feesMargin after fees
Amazon (Home and Kitchen)15% referral fee$6.00$14.0035.0%
Walmart Marketplace (Home)15% referral fee$6.00$14.0035.0%
eBay (most categories)13.6% final value fee + $0.40 per order$5.84$14.1635.4%
Etsy6.5% transaction + 3% + $0.25 processing + $0.20 listing$4.25$15.7539.4%
Own site via PayPal Checkout3.49% + $0.49$1.89$18.1145.3%

Fee sources: Amazon's referral fee table on its selling plans and pricing page lists 15% for Home and Kitchen. Walmart's referral fee schedule for contract categories lists 15% for Home, Kitchen, Decor and Garden. eBay's selling fees help page gives 13.6% for most categories plus $0.40 on orders over $10. Etsy's fee basics article sets the 6.5% transaction fee and $0.20 listing fee, and its payment processing fee page gives 3% + $0.25 for US sellers. PayPal's US merchant fee schedule lists 3.49% plus a $0.49 fixed fee for PayPal Checkout.

These are the minimum fees. The table ignores fulfillment, shipping labels, advertising and returns. It also calculates fees on the item price only, while eBay and Etsy charge theirs on totals that include shipping and sales tax. If you use Fulfillment by Amazon (FBA), where Amazon stores and ships your stock, its per-unit fee comes on top; our breakdown of Amazon FBA fulfillment fees covers those charges. Amazon's Professional plan also costs $39.99 a month, a fixed cost that shrinks per unit as volume grows.

Why channel fees come before either number

A markup or margin target only means something if you know what it is measured after. The useful target for a multichannel seller is margin after the channel's per-sale fees, because that is the money that reaches you from each order. Percentage fees grow with price, so you cannot cover them by adding a flat amount to cost. You have to take them out of the bottom of the division.

In plain English: subtract the fee percentage along with your target margin, then divide cost by what is left.

Price = (Landed cost + Fixed per-order fees) ÷ (1 − Target margin − Percentage fees)

Amazon, $20 cost, 50% target, 15% referral:
  Price = 20 ÷ (1 − 0.50 − 0.15) = 20 ÷ 0.35 = $57.14

Check: fee 57.14 × 0.15 = 8.57
       profit 57.14 − 8.57 − 20.00 = 28.57
       margin 28.57 ÷ 57.14 = 50.0%

Run the same formula for each channel and the same product needs a different price everywhere to earn the same margin:

ChannelPrice for 50% margin after fees ($20 cost)Markup on cost that impliesvs keystone ($40)
Amazon (15%)$57.14186%+43%
Walmart (15%)$57.14186%+43%
eBay (13.6% + $0.40)$56.04180%+40%
Etsy (9.5% + $0.45)$50.49152%+26%
Own site, PayPal (3.49% + $0.49)$44.06120%+10%

The formula also shows you where a target is impossible. If percentage fees plus your target margin reach 100%, the denominator hits zero and no price works. A 15% referral fee, ad spend equal to 30% of each sale and a 55% margin target add up to exactly 100%.

You rarely can charge $57 on Amazon when your own site sells the same item for $44. Some channels also have price parity rules, which penalise you for listing an item cheaper elsewhere. So the math forces a choice: accept a lower margin on high-fee channels, raise the base price everywhere, or keep some SKUs off the channels where the numbers don't work. Our guides on pricing differently across channels without starting a price war and how fees from multiple channels stack against your margin go deeper on those trade-offs.

If you want to run these numbers per SKU without building the spreadsheet, the free ecommerce profit calculator takes cost, price and fees and returns profit and margin per sale.

What margins look like in practice

There is no universal "good" markup, but public data shows the range most retailers work in, and how far gross margin sits from what a business keeps.

SegmentGross marginNet marginSource
US retail, all firms (2022)31.1%–Census ARTS
Electronic shopping and mail-order houses (2022)39.6%–Census ARTS
Clothing stores (2022)50.6%–Census ARTS
Retail (Special Lines), public companies35.30%5.19%NYU Stern, Jan 2026
Retail (General), public companies33.18%5.61%NYU Stern, Jan 2026
Apparel, public companies56.88%3.85%NYU Stern, Jan 2026

The Census Bureau's Annual Retail Trade Survey table of gross margin as a percentage of sales put electronic shopping and mail-order houses at 39.6% for 2022. Retail overall came in at 31.1%. In markup terms, 39.6% is roughly a 66% markup, well short of keystone.

Aswath Damodaran's industry margin dataset at NYU Stern, using data as of January 2026, shows the other half of the story. Apparel companies average a 56.88% gross margin but a 3.85% net margin. Most of the gross profit goes to operating costs. A seller who celebrates a 50% gross margin without subtracting fees, fulfillment and ads is looking at the wrong line.

That is why the per-SKU view matters more than the catalog average. A SKU margin map built on contribution profit will usually show a handful of products carrying the catalog and a long tail that barely clears its fees.

Discounts and wholesale: where the math compounds

A 20% discount does not cost you 20% of profit

Discounts come straight out of margin, so they hit profit much harder than revenue.

Example: A $40 item with a $20 landed cost (50% margin) goes on sale at 20% off.

  • Sale price: $32. Gross profit falls from $20 to $12, a 40% drop in profit for a 20% drop in price.
  • Units needed to earn the same gross profit: $20 ÷ $12 = 1.67×, so 67% more units.
  • On a channel with a 15% referral fee, profit goes from $14.00 ($40 − $6 − $20) to $7.20 ($32 − $4.80 − $20). Now you need $14.00 ÷ $7.20 = 1.94×, or 94% more units, to stand still.

As a rule, the extra volume a discount needs is discount ÷ (margin − discount). In plain English: the thinner your margin, the more extra sales every percent off has to buy. At a 50% margin, 20% off needs 0.20 ÷ 0.30 = 67% more units. If the discount is ever equal to or larger than your margin after fees, no volume makes it back. The per-SKU break-even guide shows how to set a discount floor for each product.

Wholesale: markup gets applied twice

If you sell wholesale, your price becomes someone else's cost, and they apply their own markup to it. That means you have to work backward from the shelf price, not forward from your cost.

Example: Your landed cost is $10. You want retailers to sell at a $40 MSRP (the manufacturer's suggested retail price, printed on the tag), and they expect keystone.

  • Wholesale price = MSRP × (1 − retailer margin) = $40 × 0.50 = $20.
  • Your wholesale margin: ($20 − $10) ÷ $20 = 50% (a 100% markup).
  • Your direct-to-consumer margin at the same $40 MSRP: ($40 − $10) ÷ $40 = 75% before fees.

If your landed cost is $14 instead, wholesale at $20 is only a 30% margin. Your only levers then are a higher MSRP, a lower cost, or a thinner wholesale margin. The free wholesale price calculator runs this backward math from MSRP, retailer margin and your cost.

How to audit and fix a mispriced catalog

If you suspect a markup-for-margin mix-up is already in your prices, the audit takes an afternoon.

  1. Export cost and price for every SKU on every channel. Use landed cost, not the supplier invoice. If costs differ between spreadsheets, solve that first.
  2. Calculate realized margin after fees, per SKU per channel: (price − landed cost − channel fees) ÷ price.
  3. Look for the tell-tale cluster. If many SKUs sit at exactly 23.1%, 28.6%, 33.3% or 37.5%, someone applied a 30%, 40%, 50% or 60% markup where a margin was intended.
  4. Reprice each channel with the fee-adjusted formula, then round to your usual price endings.
  5. Check the new prices against competitors and channel parity rules before publishing. Some SKUs will not survive the correct price on high-fee channels; decide on purpose whether to delist, bundle or accept a lower margin.
  6. Push the changes in one controlled batch and save the old prices so you can roll back.
  7. Re-run the audit every month and after every supplier cost change or fee update.

In plain English: these three cells show each SKU's margin after fees, the price it should carry, and a flag when it falls short.

Columns: A=Landed cost  B=Price  C=Fee %  D=Fixed fee  E=Target margin

Realized margin after fees:  =(B2-A2-B2*C2-D2)/B2
Price for target margin:     =(A2+D2)/(1-E2-C2)
Flag if below target:        =IF((B2-A2-B2*C2-D2)/B2<E2,"REPRICE","OK")

The audit is only as good as the cost column. When landed costs live in one spreadsheet, prices in each marketplace, and the repricer in a third place, the numbers drift apart every time a supplier invoice changes. Keep one landed cost per SKU in one place, and check every channel's price against that number.

What to do this week

  • Write your target down as a formula, not a bare percentage: "50% margin after fees = (cost + fixed fees) ÷ (0.50 − fee %)". Send it to everyone who sets prices.
  • Pull your 20 best-selling SKUs and calculate realized margin after fees on each channel. Compare the results with the conversion table above.
  • Open the pricing rules in your store apps, repricers and spreadsheets and search for "cost × (1 + X)" where X was meant as a margin.
  • Rebuild cost as landed cost (inbound freight, duties and packaging included) for any SKU where you only have the supplier price.
  • Set a discount floor per SKU using discount ÷ (margin − discount), so no promotion drops below break-even by accident.
  • Work wholesale prices backward from MSRP and confirm each one still clears your cost.

Pricing math only holds if every channel works from the same cost and the same stock count. Nventory keeps inventory and orders in sync across your channels. Its Free plan covers one channel with unlimited orders and no card, and the pricing page lists tiers for more channels.

Frequently Asked Questions

No. A 50% markup on a $10 item gives a $15 price and a 33.3% margin. A 50% margin needs a $20 price, which is a 100% markup. Markup divides profit by cost; margin divides the same profit by the selling price, so for any profitable product the markup percentage is always the bigger number.

Divide the margin by one minus the margin: markup = margin ÷ (1 − margin). A 40% margin needs 0.40 ÷ 0.60 = 66.7% markup. To go the other way, margin = markup ÷ (1 + markup), so a 25% markup equals 0.25 ÷ 1.25 = 20% margin. Always convert in decimals, not whole percentages.

No. Margin is profit as a share of the selling price, and profit can never exceed the price, so gross margin tops out just under 100%. Markup has no ceiling: a product that costs $5 and sells for $25 carries a 400% markup but an 80% margin. If a spreadsheet shows a margin above 100%, the formula is dividing by cost.

Landed cost. The IRS treats inbound freight as part of cost of goods sold, and duties, inbound shipping and prep labor are all real per-unit costs. Marking up only the supplier invoice price makes every margin look several points better than it is, and the gap grows on heavy or imported products.

Use price = (landed cost + fixed per-order fees) ÷ (1 − target margin − percentage fees). For a $20 product on a channel taking a 15% referral fee, a 50% margin after fees needs a $57.14 price, which is a 186% markup on cost. Keystone pricing at $40 would leave only 35%.

Buyers start from a known cost and need a price, so multiplying cost by a markup factor is the fastest route. Finance reports profit as a share of revenue, so margin lines up with the P&L. Both are fine; the damage happens when a target set in one unit is typed into a formula that expects the other.