Skip to main content
Free calculator · Retail and Shopify

Markdown calculator: how deep can a sale go before it loses money?

Enter a price and what the item cost you. The calculator adds the card fee, the shipping you pay, returns and VAT, and gives you the margin floor: the lowest price that still keeps the margin you want. Then it shows the deepest safe markdown and what every 5% step leaves you per unit.

Your product
Your floor
Costs on every order
Payment feeper order: rate + fixed fee
VAT
Prices include VAT?as in the EU, UK and Australia

Margin floor$38.83the lowest price that keeps 10% over cost after fees
Deepest safe markdown51.4%50% is the deepest 5% step
Kept a unit at full price$43.3854.2% margin after fees · markup 135.3% on cost
Money stuck at cost$1,360.0040 units × $34.00 cost

Your floor is $38.83. You can take up to 51.4% off and still keep 10% over cost after fees. The deepest 5% step is 50% off at $40.00, which keeps $4.54 a unit.

Price against your floor

Each line runs from zero to the price.

$38.83your floor
0$80.00
New price$56.00
You keep a unit$20.08
Margin35.9%

$17.17 above your floor: this price keeps your minimum margin, with $17.17 of room to go lower.

What each 5% step leaves you

Per unit sold, after cost, card fee, shipping and returns. A step under your floor is blocked.

OffNew priceKept a unitMarginBack if all 40 sellAgainst your floorFloor
None$80.00$43.3854.2%$3,095.20Safe
5%$76.00$39.5052.0%$2,939.84Safe
10%$72.00$35.6149.5%$2,784.48Safe
15%$68.00$31.7346.7%$2,629.12Safe
20%$64.00$27.8443.5%$2,473.76Safe
25%$60.00$23.9639.9%$2,318.40Safe
30%$56.00$20.0835.9%$2,163.04Safe
35%$52.00$16.1931.1%$2,007.68Safe
40%$48.00$12.3125.6%$1,852.32Safe
45%$44.00$8.4219.1%$1,696.96Safe
50%$40.00$4.5411.3%$1,541.60Deepest
55%$36.00$0.661.8%$1,386.24Blocked
60%$32.00−$3.23−10.1%$1,230.88Blocked
65%$28.00−$7.11−25.4%$1,075.52Blocked
70%$24.00−$11.00−45.8%$920.16Blocked

"Kept a unit" is the price without VAT, less the unit cost, less the fees and shipping of the orders it takes to keep one unit sold. "Margin" is that amount as a share of the price without VAT. "Back if all sell" is what reaches your bank for the stock: the cost you already paid comes back, plus what each unit keeps. Nothing you type leaves your browser.

In brief

  • The margin floor is the lowest price that still keeps a margin you choose over unit cost, after the card fee, the shipping you pay and the cost of expected returns. No markdown should go under it.
  • Without returns or VAT: floor = (cost × (1 + minimum margin) + fixed fee + shipping) ÷ (1 − fee rate). The deepest safe markdown is 1 − floor ÷ price.
  • An $80 product that cost $34, with fees of 2.9% + 30¢ and a 10% minimum margin, has a floor of $38.83: up to 51.4% off is safe, and 50% is the deepest 5% step.
  • Where prices include VAT, margins are worked out on the price without it, and the card fee is charged on the VAT too, so the floor is a little more than the net floor plus VAT.

Work out a markdown floor by hand

You need five numbers for each product: the price, the unit cost, the card fee (a rate and a fixed amount per order), the shipping you pay per order if you do not charge it, and the share of orders that come back. Then pick a minimum margin over cost: 0% means break even, 10% means every sale must leave at least a tenth of the cost on top.

Each unit you sell has to cover four things: its own cost and your margin, the card fee on its price, the shipping, and its share of the returns. A returned order still paid its card fee, which is not refunded, and costs shipping again to handle; the returned unit goes back into stock, so its cost is not lost.1 With a return rate r, each unit a customer keeps takes 1 ÷ (1 − r) orders.

floor = ((1 − r) × cost × (1 + m) + fixed fee + (1 + r) × shipping) ÷ ((1 − r) − fee rate)m is the minimum margin over cost, r the return rate. Round up to the next cent. With no returns it is (cost × (1 + m) + fixed fee + shipping) ÷ (1 − fee rate).

A worked example. A throw sells for $59.00 and cost $18.00. Card fees are 2.9% + 30¢, you pay $4.50 shipping on every order, 5% of orders come back, and you want to keep at least 10% over cost.

  • Top line: 0.95 × $18.00 × 1.10 + $0.30 + 1.05 × $4.50 = $18.81 + $0.30 + $4.725 = $23.835.
  • Bottom line: 0.95 − 0.029 = 0.921.
  • Floor: $23.835 ÷ 0.921 = $25.879, so $25.88.
  • Deepest safe markdown: 1 − 25.88 ÷ 59.00 = 56.1%. The deepest 5% step is 55% off, at $26.55.

To check a price, work out what one kept unit leaves you: price − cost − (fee rate × price + fixed fee + shipping × (1 + r)) ÷ (1 − r). At $26.55 that is $26.55 − $18.00 − ($0.77 + $0.30 + $4.725) ÷ 0.95 = $2.45, just above the $1.80 your 10% asks for. At 60% off, $23.60, it is −$0.41: a loss on every unit.

Shopify Payments on the Basic plan in the US charges 2.9% + 30¢ for online card payments; other plans, countries and payment providers differ, and the fees calculator has the published rates.2 If you keep unit costs in Shopify, the cost per item column in a product export gives you every cost at once.3

With VAT in the price

In the EU, the UK, Australia and most of the world outside North America, shelf prices include VAT or GST. Part of every price is tax you pass on, so your margin is worked out on the price without it: a $100 price with 10% tax in it is $90.91 to you.4 The card fee, though, is charged on the whole amount the customer pays, VAT included. So the floor is the net floor with the VAT put back on, and a little more:

floor = ((1 − r) × cost × (1 + m) + fixed fee + (1 + r) × shipping) ÷ ((1 − r) ÷ (1 + VAT rate) − fee rate)

The same throw at £59.00 with 20% VAT included: the bottom line is 0.95 ÷ 1.2 − 0.029 = 0.7617, so the floor is £23.835 ÷ 0.7617 = £31.26, and the deepest safe markdown is 47.0%, not 56.1%. Treating a VAT-inclusive price as if it were all yours is the most common way a "safe" markdown turns into a loss.

Markup, margin and markdown

The three words are easy to mix up, and the mix-up is expensive, because they are measured against different numbers.

TermMeasured against$34 cost, $80 price
MarkupCost: (price − cost) ÷ cost135.3%
Gross marginPrice: (price − cost) ÷ price57.5%
MarkdownThe old price: (old − new) ÷ old$80 → $60 is 25%
Margin after a markdownThe new price($60 − $34) ÷ $60 = 43.3%, before fees

Margin = markup ÷ (1 + markup), and markup = margin ÷ (1 − margin). A 100% markup is a 50% margin.

The minimum margin in the calculator is a markup on cost, because that is how a floor is easiest to think about: "never sell for less than cost plus 10%". The margins in the table are shares of the price without VAT, after fees, which is what is left of each sale.

The useful rule: a markdown of the same size as your gross margin takes you to zero before fees. A product with a 57.5% gross margin breaks even somewhere under 57.5% off, and later still once fees, shipping and returns are counted.

How deep to go

The floor tells you how far a markdown can go, not how far it should. A markdown recovers cash that is already stuck; it should not add a new loss to it. A few rules of thumb from clearing stock:

  • Start shallow. Around 15% is the least most shoppers notice. Beyond about 50%, more depth rarely sells much more and gives away a lot.
  • Step down on a timetable. For example 15%, then 25%, then 40%, a few weeks apart, and stop at the floor. The dead stock guide sets the starting points by how long stock has gone without a sale.
  • If the floor is too close to the price, a markdown is the wrong tool. Bundle it with a steady seller, move it to an outlet collection or a wholesale lot, and stop reordering it.
  • Before you change any price, record the old prices and preview the new ones. The safe sale checklist walks through it, including how to put prices back when the sale ends. Selling in the EU, the compare-at price must be the lowest price of the 30 days before the sale: the 30-day lowest price checker works it out.
  • Waiting is not free either. Stock that sits costs money every day it is held; the holding cost calculator puts a figure on it and shows when waiting costs more than a markdown gives up.

For every product at once

The calculator handles one product. To find which products need a markdown at all, you need units in stock, unit cost and the date of each variant's last sale, product by product. The free dead stock checker works that out from your Shopify product and order exports, in your browser, and suggests a markdown for every variant that stays above cost plus 5%.

Store Diagnosis is our free, read-only Shopify app, live on the Shopify App Store. It finds the stock that has stopped selling, values it at cost, ranks it by the cash tied up and suggests a markdown for each product that never prices below cost plus 5%, with the arithmetic shown. It never changes a price.

Store Diagnosis, free and read-only.

  • Dead and slow stock valued at cost
  • A suggested markdown per product
  • Best-sellers about to run out
  • Discounts and refunds that cost margin

Mufatech Clearance is the app that changes the prices, using this same floor: it marks stock down as it ages, previews every change, blocks any price under your floor and puts back exactly the prices it changed when a sale ends. It is coming to the Shopify App Store and cannot be installed yet. When it is listed it will have a Free plan, and Pro at $3.99 a month.

Frequently asked questions

How do you calculate the deepest markdown you can afford?

Work out the margin floor first: the lowest price that still covers the unit cost, your minimum margin, the payment fee, the shipping you pay and the cost of expected returns. Without returns or VAT it is (cost × (1 + minimum margin) + fixed fee + shipping) ÷ (1 − fee rate). The deepest safe markdown is then 1 − floor ÷ price. For an $80 product costing $34, with 2.9% + 30¢ fees and a 10% minimum margin, the floor is $38.83 and the deepest safe markdown is 51.4%.

What is the difference between markup, margin and markdown?

Markup is profit as a share of cost: a $34 item sold at $80 has a markup of 135%. Margin is profit as a share of the price: the same sale has a gross margin of 57.5%. A markdown is a cut in the price, as a share of the old price: $80 to $60 is a 25% markdown. A markdown takes money straight out of margin, so a 25% markdown on a 57.5% margin leaves 43.3%, before fees.

Why does the calculator block a markdown that still makes a profit?

Because it is under your floor. The floor keeps the minimum margin you chose, for example 10% over cost. A markdown that leaves 2% over cost still makes money, but less than you said you would accept, so it is marked as blocked. Set the minimum margin to 0% to see the break-even floor instead.

How does VAT change the markdown floor?

Where prices include VAT, part of every price is tax you pass on, so margins are worked out on the price without VAT, and the floor is that net floor with the VAT put back on. The card fee is charged on the whole amount, VAT included, so the floor ends up slightly above the net floor plus VAT.

Why are returns in the floor?

A returned order still paid its card fee, which is not refunded, and costs shipping again to handle. So each unit a customer keeps carries part of the cost of the orders that came back. With a 10% return rate, a kept unit takes 1.11 orders. The returned units go back into stock, so their cost of goods is not lost.

Is this the same calculation Mufatech Clearance uses?

Yes. The calculator runs the floor formula from Clearance's pricing code, with the same handling of fees, shipping, returns and VAT, and its tests compare the two over thousands of inputs. Clearance is coming to the Shopify App Store and is not listed yet.

Sources

  1. Shopify Help Center. Shopify Payments refunds: the original credit card transaction fee is not refunded to you when you issue a refund, checked 10 Oct 2026. Other payment providers set their own terms; the calculator assumes the fee is lost, which is the cautious case. vendor-published
  2. Mufatech Studio. Shopify pricing history: Shopify Payments online card rates by plan since 2019, each dated from Shopify's archived pricing pages, including 2.9% + 30¢ on Basic in the US. compiled
  3. Shopify Help Center. Using CSV files to import and export products: the Cost per item column, "how much it costs you to make or acquire the product or variant", checked 10 Oct 2026. vendor-published
  4. Shopify Help Center. Include taxes in product prices: how a tax-inclusive price splits into tax and product, with the $100 at 10% example ($9.09 tax, $90.91 product), checked 10 Oct 2026. vendor-published