Stacked discounts do not add up
The sign says 30% off. At the register the cashier applies another 20% with a promotional code. Almost everyone reads that as 50% off, and almost everyone is wrong — it is 44%.
The reason is that the second discount is taken from a price that has already shrunk. Thirty percent off $100 leaves $70; the extra 20% is 20% of $70, which is $14, not $20. You pay $56. Written as a formula, the combined discount is 1 − (1 − 0.30) × (1 − 0.20) = 0.44.
The error is never random and never in your favour. Stacked discounts always land below the sum, and the gap grows with every layer. Three 20% coupons feel like 60% off and are worth 48.8%. A 40% markdown followed by an extra 25% on clearance is 55% off, not 65%. This is not a trick anybody had to invent: multiplication simply behaves this way, and retail merchandising has understood it for a century.
| Stack | Looks like | Actually is |
|---|---|---|
| 20% + 10% | 30% | 28.0% |
| 30% + 20% | 50% | 44.0% |
| 40% + 25% | 65% | 55.0% |
| 50% + 20% | 70% | 60.0% |
| 20% + 20% + 20% | 60% | 48.8% |
| 40% + 30% + 10% | 80% | 62.2% |
One consolation: the order of the layers does not matter. Applying 30% then 20% gives exactly the same total as 20% then 30%, because multiplication is commutative. What changes is the intermediate price printed on your receipt, which is why the same purchase can look different on two different tills and still cost the same.
Working backwards from two prices
Shop windows advertise the money, not the percentage. "Was $249.90, now $149.90" sounds larger than "just over 40% off" — which is exactly what it is. To get the percentage, divide the saving by the original price: (249.90 − 149.90) ÷ 249.90 × 100 = 40.02%.
Dividing by the sale price instead is the classic mistake. It gives 66.7%, which is a real number but a different one: it is the markup needed to climb from the sale price back to the original. Discounts go down from the big number, markups go up from the small one, and the two never match. A 50% discount is a 100% markup to reverse.
The same asymmetry breaks the third question this tool answers: what was the price before the discount? If you pay $70 after 30% off, the original was $70 ÷ 0.70 = $100. Adding 30% back on top gives $91, and $91 was never the price of anything. Sellers hit this from the other side — to net a specific amount after advertising a 30% sale, the list price has to be the target divided by 0.70, not multiplied by 1.30.
BOGO, buy 3 pay 2, and the percentage nobody prints
Multi-buy offers hide their percentage on purpose, because the percentage is usually less impressive than the wording. Convert them and they become comparable:
- Buy one get one free — two items for the price of one: 50% off.
- Buy 3 pay 2 — you pay 2 of 3, so 66.7% of the value: 33.3% off.
- Buy 3 get the 4th free — 4 for the price of 3: 25% off.
- 50% off the second item — a pair costs 1.5 items: 25% off.
- Buy 2 get the 3rd half price — 2.5 items per 3: 16.7% off.
"Buy 3 pay 2" is the one people consistently overrate. The phrase "one free" sits next to "two" in the sentence, and the brain quietly turns that into half price. One free out of three is a third, and a third is 33.3%.
Then there is the quantity trap, which the comparison panel above models directly. A multi-buy percentage only materialises when you buy an exact multiple of the deal size. Under buy 3 pay 2, taking four items means paying for three: 25% off. Taking two means paying for two: nothing off. Meanwhile a straight 30% coupon applies to every unit, whatever the count. Which offer is better genuinely depends on how many items you were going to buy anyway — and buying a fourth shirt to unlock a discount is not saving money, it is spending more of it.
Where sales tax lands, and why the order matters
In the United States sales tax is added at the register rather than shown on the shelf, so a discount and a tax rate meet in a specific sequence. The normal rule: the discount comes off first, and tax is charged on the reduced price. A $100 item at 20% off with 8.25% tax is $80 plus $6.60 of tax — $86.60.
The exception is manufacturer coupons. Because the retailer is reimbursed by the manufacturer, many states treat the full price as the retailer's receipt and charge tax on it. The same purchase becomes $80 plus $8.25 — $88.25. The $1.65 difference is the tax on the discounted $20, and it appears on the receipt without explanation. Store coupons, loyalty discounts and ordinary markdowns reduce the taxable amount; manufacturer coupons often do not. Rules vary by state, so the calculator exposes both bases instead of picking one for you.
Where tax is included in the displayed price — Brazil, the EU, the UK — none of this applies. The shelf price already carries the tax, so a percentage discount reduces the goods and the tax together, and there is no ordering decision to get wrong. The calculator can still show how much tax was sitting inside what you paid, using value × rate ÷ (100 + rate).
Shipping is the other line that quietly eats the discount. A 20% saving on a $40 order is $8; a $9 delivery charge erases it. Free-shipping thresholds are built on exactly this arithmetic, which is why they sit just above the average basket.
A fixed coupon or a percentage code?
Checkouts often let you choose one. The two are equal at a single basket size, and it is easy to compute: divide the fixed amount by the percentage and multiply by 100. A $20 coupon matches a 15% code at $133.33. Below that the fixed amount wins; above it the percentage wins and keeps pulling away.
The underlying reason is that a fixed coupon's effective discount decays as you spend. Twenty dollars is 20% of a $100 order, 10% of $200 and 4% of $500. A percentage never decays, which is why stores hand out fixed-value coupons with minimum-spend requirements attached — the minimum caps how good the coupon can get.
The price you are discounting from
Every percentage on this page is computed against a reference price, and the reference is the part worth doubting. A discount is only as real as the number it is measured from.
Anchoring is one of the best-documented effects in consumer pricing: the first number a shopper sees sets the frame for everything after it, and a struck-through price does that work whether or not anything ever sold at it. This is why advertising regulators care. The US FTC guides against advertising a former price that was not a bona fide price offered to the public for a reasonably substantial period, and UK and EU pricing rules require the reference price to be the lowest price applied in the previous 30 days. Enforcement is uneven; the incentive to inflate is not.
The practical defence is a second reference. Check what the item actually sold for recently — price history sites, a competitor, the same item at another retailer — and run the reverse calculation against that number instead. An item "reduced" from $199.99 to $79.99 is 60% off the sticker. If it traded at $99 for most of the year, the honest figure is 19.2% off. Both numbers are arithmetically correct. Only one describes what happened.
The same caution applies to clearance sequences. Retailers mark down in stages — 30%, then an extra 20%, then a final 50% off the lowest ticketed price — and each stage is measured from the previous one. The stack behaves exactly like the table above, and the final "50% off" sign is 50% of a number that has already fallen twice, not 50% of what the item cost in season.
Privacy
The calculator is arithmetic running in this page. Prices, coupon codes and basket sizes stay in the browser: nothing is uploaded, nothing is logged, and there is no account. Reload the page and every field is gone.
Frequently asked questions
Is 30% off plus an extra 20% the same as 50% off?
No, and this is the most profitable misunderstanding in retail. The second discount applies to the already-reduced price, so the extra 20% is 20% of 70, not of 100. The combined discount is 1 − (0.70 × 0.80) = 0.44, or 44% off. On a $100 item you pay $56, not the $50 the addition suggests. Stacked discounts always come out lower than the sum, and the gap widens with every extra layer: three 20% coupons look like 60% off and are worth 48.8%.
How do I find the percentage discount from two prices?
Subtract the sale price from the original price, divide by the original price, and multiply by 100. An item marked down from $249.90 to $149.90 is (249.90 − 149.90) ÷ 249.90 = 40.02% off. Divide by the original price, never by the sale price — dividing by the smaller number gives 66.7%, which is the markup needed to go back up, not the discount that came down.
Is buy 3 get 1 free the same as 25% off?
Yes, and buy 3 pay 2 is 33.3% off, not 50%. You pay for 2 of the 3 items, so you pay 66.7% of the list value. The catch is quantity: the advertised percentage only materialises when you buy an exact multiple of the deal size. Take four items under buy 3 pay 2 and you pay for three — an effective 25% off, not 33.3%.
Is the discount applied before or after sales tax?
In the US the discount comes off first and tax is charged on the reduced price — for store coupons and normal markdowns. Manufacturer coupons are the exception in many states: the retailer is reimbursed by the manufacturer, so tax is calculated on the full pre-coupon price. On a $100 item at 20% off with 8.25% tax, that is $86.60 versus $88.25. In countries where tax is already inside the shelf price, such as Brazil, there is no ordering question at all.
Should I use a $20 coupon or a 15% off code?
It depends on the basket, and the crossover point is exact: divide the fixed amount by the percentage and multiply by 100. $20 ÷ 15 × 100 = $133.33. Below that the fixed coupon wins, above it the percentage wins, and the gap grows the larger the order gets. A fixed coupon's effective discount shrinks as you spend more — $20 is 20% of $100 and 4% of $500.
Are my numbers sent anywhere?
No. Every figure stays in your browser as arithmetic. Nothing is uploaded, nothing is stored and there is no account.