A discount tag makes its promise in percent and collects it in dollars, and most pricing mistakes live in that translation. The single clean markdown is genuinely easy: 25% off an $80.00 jacket takes $20.00 off and leaves $60.00 to pay, and nearly everyone gets that right. The trouble starts one layer up, when the shelf says "take an extra 10% off already-reduced prices," or when the register adds sales tax and the total is not the number you worked out in the aisle.
Two errors do most of the damage. The first is adding stacked percentages. A sign offering 20% off plus an extra 10% off reads as 30% off, but the register charges you as if it were 28%, and those two missing points disappear so smoothly that most shoppers never notice their estimate was wrong rather than the store. The second is putting sales tax in the wrong place. Tax belongs after the discount, on the amount you actually pay, and mixing up that order overstates the bill every time you do the math by hand. This guide works through all three layers with the arithmetic shown to the cent: the single discount, the stack, and the tax on top.
The quick answer
For a single percent-off deal, you can skip the subtraction entirely: multiply the price by (100 minus the discount) divided by 100 and you have the sale price in one step.
| Discount | You pay | On an $80.00 item | On a $100.00 item |
|---|---|---|---|
| 10% off | price × 0.90 | $72.00 | $90.00 |
| 15% off | price × 0.85 | $68.00 | $85.00 |
| 20% off | price × 0.80 | $64.00 | $80.00 |
| 25% off | price × 0.75 | $60.00 | $75.00 |
| 30% off | price × 0.70 | $56.00 | $70.00 |
| 40% off | price × 0.60 | $48.00 | $60.00 |
| 50% off | price × 0.50 | $40.00 | $50.00 |
That table covers one discount, before tax. Stacked deals and the tax line follow rules of their own, and they are where the real money hides. The rest of the guide takes them in order.
The formula the register runs
Strip a sale down to its arithmetic and there are three lines, in a fixed order:
- saved = price × (discount% ÷ 100)
- after discount = price − saved
- final = after discount × (1 + tax% ÷ 100)
Run the calculator's defaults through it. An $80.00 item at 25% off: 80 × 0.25 = $20.00 saved, so the price after discount is 80 − 20 = $60.00. Add an 8% sales tax and the final is 60 × 1.08 = $64.80. Leave the tax field at 0% and the third line does nothing, so the final is just the discounted $60.00; set the discount to 0% and nothing changes at all, with the final staying at the original $80.00.
Two details about how the tool runs this. The discount slider covers 0% to 90%, which spans every "% off" tag you will actually meet, and under the hood the engine clamps the rate to the 0 to 100 range and refuses negative prices and tax rates, so a typo cannot produce a store that pays you. And the tax line is optional by design: at 0% it stays out of the math entirely, which is the right setting when you only want the sale price, or when you are comparing two offers and the tax would land equally on both anyway.
"Percent off" means off the sticker
A "25% off" tag means 25% of the original price is removed. Not 25% of some already-lowered figure, not 25% of what you end up paying: 25% of the sticker. On the $80.00 item that is $20.00, full stop. The percentage is always measured against the original, and holding onto that anchor is what makes every harder case in this guide solvable.
The fastest way to use it is the multiplier trick from the quick-answer table. If 25% comes off, then 75% remains, so the sale price is the sticker times 0.75. One multiplication, no subtraction step to fumble: 80 × 0.75 = $60.00. Every discount has its complement: 30% off means you pay 70%, 40% off means you pay 60%, and this "what you pay per sticker dollar" framing is the piece that makes stacked discounts click in a moment.
For mental math, build from 10%, which is just the decimal point moving one place left. Ten percent of $80.00 is $8.00; 20% is double that, $16.00; 5% is half of it, $4.00; 25% is a quarter of the price, which for $80.00 is the same $20.00 the formula gives you. It is the identical percent-of arithmetic that sets a restaurant tip, and the same decimal-shift shortcut from the tipping guide works on any price tag in the store.
Why 20% plus an extra 10% is not 30%
Here is the mistake the signs are engineered around. Stacked discounts are sequential, not additive: each one applies to whatever price is left after the one before it, never to the original sticker.
Work the classic case, a $100.00 item with 20% off and an extra 10% off:
- First cut: 100 × 0.20 = $20.00 off, leaving $80.00
- Second cut: 10% of $80.00, not of $100.00, so 80 × 0.10 = $8.00 off, leaving $72.00
You paid $72.00 on a $100.00 sticker, which is an effective 28% off, not 30%. The two points did not get stolen; they never existed. The extra 10% coupon was only ever worth $8.00, because by the time it fired, the $20.00 from the first discount was already gone and there was nothing left for it to act on.
That is the whole mechanism. The second percentage is smaller in dollars because it works on a smaller number, so a stack always saves a little less than the sum of its rates suggests. The gap between "sounds like" and "is" grows with the size of the rates, which is exactly why clearance signs love to advertise an extra percentage off instead of restating the true combined rate.
The effective rate of any stack
You can price any stack without walking it step by step. Since each discount multiplies the price by its "you pay" fraction, the whole stack is one multiplication chain: pay 80% of the sticker, then 90% of that, and you have paid 0.80 × 0.90 = 0.72 of the original, a 28% effective discount.
There is an even quicker head version for two discounts: add the rates, then subtract their product divided by 100. For 20% and 10%: 20 + 10 − (20 × 10 ÷ 100) = 30 − 2 = 28%. The subtraction term is the overlap, the part of the second discount that would have applied to money the first discount already removed.
Run a few stacks through it and the pattern is hard to unsee:
- 15% + 15% sounds like 30%, is 27.75%
- 20% + 10% sounds like 30%, is 28%
- 30% + 25% sounds like 55%, is 47.5%
- 50% + 50% sounds like 100%, is 75%
That last row is the sanity check that proves the rule: two half-off coupons do not make the item free. The second 50% halves what is left, and half of a half is a quarter, so you still pay 25 cents on the sticker dollar.
Stacks longer than two follow the same chain, and the gap widens with every layer. A 20% storewide sale, a 10% member discount, and a 10% coupon multiply out to 0.80 × 0.90 × 0.90 = 0.648 of the sticker: an effective 35.2% off, well short of the 40 points the three signs add up to. On a $100.00 item that is $64.80 to pay, and the "missing" $4.80 is money the later discounts never had access to.
One genuinely useful property falls out of the multiplication: within a percent-only stack, order does not matter. Take 10% off first and then 20%, and the $100.00 item goes 100 to 90 to 72, the same $72.00 as before, because 0.90 × 0.80 equals 0.80 × 0.90. Whichever coupon the cashier scans first, a pure percentage stack lands in the same place.
Be careful not to extend that comfort to markdowns and markups, though. A 20% discount followed by a 20% increase does not return to the sticker: 0.80 × 1.20 = 0.96, so the price ends 4% short of where it started. Percentages up and percentages down are measured against different bases, which is the same asymmetry behind the markup-versus-margin confusion the markup and margin calculator exists to untangle.
Free calculator
Discount Calculator
The sale price after a percentage off — with optional sales tax applied after the discount.
Open the discount calculatorFlat 30% or 20% plus an extra 10%?
Now the comparison the stack math was building toward, and the one worth carrying into every sale season: a flat "30% off" really is better than "20% off plus an extra 10% off," even though both signs wave the same thirty points at you.
On a $100.00 item, the flat rate rings 100 × 0.70 = $70.00. The stack rings $72.00, as worked above. Two dollars apart on the same sticker, every time, and the flat offer wins because 30 whole points beat an effective 28.
This generalizes: a stack is always worth less than the flat discount built from the sum of its rates, because the subtraction term in the shortcut formula is always positive. So when two stores dangle competing offers, do not compare the headline digits. Price each offer out in dollars, on the actual item, and let the dollars decide. That is also the honest way to read a coupon that "stacks with sale prices": its real value is its rate applied to the sale price, not to the number crossed out on the tag.
Sales tax comes last, and that saves you money
Sales tax goes on after the discount, because you are taxed on what you actually pay, not on the sticker. The register order is always: discount first, then tax on the lower amount.
On the running example, the taxable amount is the discounted $60.00, so an 8% tax adds 60 × 0.08 = $4.80 and the out-the-door total is $64.80. Now run the order backward, the way hand math often goes wrong: tax the $80.00 sticker for $6.40, then take the $20.00 discount off the merchandise. That rings 60 + 6.40 = $66.40, overstating the bill by $1.60. The gap is no accident. It is exactly 8% of the $20.00 the discount removed, the tax that would have ridden on money you never spent.
Seen from the receipt's side, this means a discount is worth slightly more than its face value. Passing on the sale would have cost 80 × 1.08 = $86.40 out the door; taking it costs $64.80. The full saving is $21.60: the $20.00 markdown plus the $1.60 of tax it erased. In general, the out-the-door value of a discount is the amount saved times (1 + tax rate), which is a pleasant number to remember in a high-tax area.
The tax line itself has its own machinery: which rate applies where, what is exempt, and how to split a tax-inclusive receipt total back into price and tax. That is its own guide, how sales tax is calculated, and its own tool: the sales tax calculator both adds tax to a pre-tax price and backs it out of a gross total when the receipt only shows one number.
Related guide
What actually happens on the tax line
Rates, exemptions, and the reverse calculation that recovers the pre-tax price from a tax-inclusive total — the other half of every out-the-door number.
Read the guideDollar coupons break the symmetry
Everything so far concerned percentages, and percent-only stacks came with a comfort: order does not matter. Add a flat-dollar coupon to the mix and that comfort disappears immediately.
Take a $100.00 item carrying both a 20% discount and a $10.00 coupon:
- Percent first: 100 → 80, then minus $10.00 → $70.00
- Dollars first: 100 → 90, then minus 20% → $72.00
Same two coupons, two dollars apart, purely on sequencing. The pattern behind it: you want the percentage to act on the largest base it can. Applying 20% to $100.00 is worth $20.00; applying it to $90.00 is worth $18.00. So percent-before-dollars is the better order for you, dollars-before-percent is the better order for the store, and the register's programming, not your preference, decides which one runs. The receipt is where you find out, so read it before you leave the counter, and if a promotion's fine print spells the order out, now you know what the fine print is worth.
Flat-dollar coupons also resist comparison against percent offers until you convert one into the other. A "$15 off" coupon on an $80.00 item is 15 ÷ 80 = 0.1875 of the sticker, an 18.75% discount, so a competing 20% offer beats it there; on anything cheaper than $75.00, the same $15.00 coupon wins. A dollar coupon has a break-even price, and it is always the coupon divided by the competing rate.
Working backward from a sale price
Sale racks pose the formula in reverse. The tag shows $60.00 and says "25% off," and you want the original, or you know both prices and want the rate you actually got.
For the original price, resist the reflex to add the percentage back on. Since the sale price is the original times 0.75, the original is the sale price divided by 0.75: 60 ÷ 0.75 = $80.00. Adding 25% to $60.00 instead gives 60 × 1.25 = $75.00, which is wrong by five dollars, because the 25% was measured against the bigger sticker price, not against the sale price. Undoing a discount is always a division. The same move prices any tag: a $45.00 sale price marked 40% off came down from 45 ÷ 0.60 = $75.00, and the divisor is always the fraction of the sticker you are paying.
For the rate, divide the discount by the original: off% = (sticker − paid) ÷ sticker × 100. Pay $72.00 on a $100.00 sticker and you got (100 − 72) ÷ 100 = 0.28, a 28% discount, which is precisely how you audit a stacked deal's effective rate after the fact. Pay $51.00 on a $68.00 sticker and the rate is 17 ÷ 68 = 0.25, an even 25%, a number no one estimates correctly at the shelf. Both directions of this percent arithmetic, along with the plain "what is X% of Y," live in the percentage calculator when you want them without the shopping frame.
These reverse checks are worth thirty seconds at any clearance rack, because "was $80.00" claims are only as honest as the store's pricing history. The math cannot tell you whether the sticker was real, but it can tell you instantly whether the tag's own numbers agree with each other.
Related guide
The same percent math, at the dinner table
Percent-of is the atom of money math. The tipping guide runs it through rates, bases, and the split order that keeps 20% from eroding to 17.4%.
Read the guideChecking a stacked deal in the calculator
The calculator prices one discount per pass, which is exactly what a stack needs, since a stack is just single discounts run in sequence. To check a stacked offer:
- Enter the sticker price and the first rate. For the $100.00 example, $100.00 at 20% off returns $80.00. Leave tax at 0% for now.
- Feed the result back in as a new original price. Enter $80.00 with the second rate, 10%, and read $72.00.
- Put your tax rate on the final pass only. The register taxes once, on the last price, so tax belongs on the last step and nowhere earlier.
Then compare the final figure against the flat offer or the competing store, in dollars. The tool's own advice is the right note to end on: a deal is decided by the dollars, not the percentage signs, and two offers that sound identical can be several dollars apart once the sequence and the tax land where they actually land.
Common mistakes to avoid
- Adding stacked percentages. 20% plus an extra 10% is an effective 28%, never 30%. Multiply the "you pay" fractions or use add-the-rates-minus-their-product.
- Taking the second discount off the sticker. The extra 10% in the example is worth $8.00, not $10.00. It only ever sees the $80.00 that survived the first cut.
- Comparing a flat rate to a stack by their digits. Flat 30% beats 20%-then-10% by $2.00 on every $100.00. Price offers out; do not read them.
- Taxing the sticker instead of the sale price. That overstates the bill by the tax rate times the discount, $1.60 on the worked example. Discount first, tax last.
- Undoing a discount by adding the percent back. $60.00 at 25% off came from $80.00, found by dividing by 0.75. Multiplying by 1.25 gives $75.00 and a wrong answer.
- Ignoring order when a dollar coupon joins a percent discount. $70.00 or $72.00 on the same item, depending on which fires first. Check the receipt.
The whole subject compresses into three habits. Measure every percentage against its own base: the sticker for a single discount, the surviving price for each layer of a stack, the discounted price for tax. Convert offers to dollars before comparing them. And when you reverse the math, divide. Hold those and no sale sign, however stacked, can tell you anything the register won't confirm.
Free calculator
Price the deal before the register does
Enter the sticker price, drag the discount slider, and add your tax rate if you want the out-the-door number — it returns what you save and what you actually pay, in the order the register uses.
Open the discount calculator