TL;DR: 20% off then 10% off is pay 80% then pay 90% of that: 0.80 × 0.90 = 0.72, so 28% off the original, not 30%. The second percent is of a smaller ticket. Adding 20+10 is the confusion. Stores sometimes advertise the additive dream. Registers usually do the product.

One original, shrinking bases

$100 jacket. 20% off → $80. 10% off the $80 → $8 off → $72. Total off $28, which is 28% of $100. The 10% never saw the $100 unless the coupon said “extra 10% off original.” Extra-off-original is a different coupon. Extra-off-sale-price is the default of many POS systems.

If both coupons say off original, some systems apply the better one only, some apply both to original (pay 70%). That would be $70, not $72. The $2 gap is policy. Read both coupons. Do not assume generosity.

Employee plus promotional

30% employee of original, then 20% promo of remainder: 0.70 × 0.80 = 0.56, 44% off, not 50%. HR manuals often forbid combining, or they apply employee last on the already promoted price. Last vs first changes dollars when a dollar-off coupon sits in the middle. Percents-only chains still commute; inserting $10 off does not.

If policy is “cannot combine,” the register takes max($30 off, $20 off) on $100 = $30 off, pay $70. Combining in your head to 50% is how you argue with a cashier who is correctly following a max rule.

Percent off vs percent of remaining

Language: “take 10% more off” might mean 10 percentage points (20% off becomes 30% off original) or another 10% of the current price. Percentage points vs another factor. The word more is doing too much work. Ask, or compute both and see which matches the displayed total. Displayed totals are the law of that purchase.

Ads that show 20% + 10% = 30% with an asterisk “on selected styles, discounts applied sequentially” are telling you the 30% is decorative. The asterisk is the math. Believe asterisks more than plus signs in ads.

Reverse a double discount

Paid $72 after 20% then 10% sequential of remainders: original = 72 / 0.72 = $100. If you only reverse 30%, 72/0.70 ≈ $102.86, a ghost original. Reverse with the factors you actually suffered, in reverse order (divide by 0.90 then by 0.80: 72/0.90=80, 80/0.80=100).

If you forgot the order but both were percent remainders on one quantity, order did not matter. If a $10 coupon sat between them, order mattered and you need the receipt’s line order, not a vibe.

Tax after stacked discounts

Tax usually hits the post-discount taxable amount. $72 + 8% tax is not 8% of $100. People who add 20+10+8 into a soup percent should sit down. Three different events, two of them discounts on shrinking bases, one of them a tax on the remainder. Use percent of a number three times if you want, with three different wholes.

Tax-exempt discounts (some food) can make part of a cart sequential and part not. Split the cart. Stacked coupons that only apply to apparel should not shrink grocery lines. Category-limited stack is a fourth policy. The 0.80×0.90 cartoon assumed one eligible item.

Teaching the add-to-30 instinct to sit down

Show $100 → $80 → $72 on a whiteboard with dollars, then percents. Dollars first. Once $28 off is visible, 28% is obvious and 30% looks like a wish. Wishes are for birthdays. POS firmware is for 0.80 × 0.90.

If a friend insists 30% because “it is basically the same,” $2 on $100 is 2% of original, which is a separate coupon’s worth. On a $2,000 sofa, the “basically” is $40. Basically does not scale. Compute.

BOGO and percents that are not a second coupon

Buy one $40, get one 50% off: you pay $40 + $20 = $60 for two, which is 25% off the $80 pair, not 50% off the pair, not 50% off one plus 20% extra. BOGO 50% is a 25% off two identical items. People add the 50% to another 20% sitewide code; some carts apply 20% to both, some to the paid one only. The line items decide. A mental 70% off two is a fantasy unless both discounts were of the pair original and stacked as factors on the pair.

If items differ in price, “50% off the cheaper” is a named base. Using 50% off the expensive is a cashier error you should not copy in your reconstruction. Named cheaper is the whole for that 50%.

Stacking with gift cards is not a percent

A $25 gift card after 20% then 10% off $100 (pay $72) is dollars off the already stacked price, not a third percent. $72 − $25 = $47 cash. Treating $25 as 25% because the card says 25 is digit collage. Gift cards have no percent unless a promotion adds one. Do not insert 0.75 into the factor chain for a $25 card on a $72 remainder—$25 is not 25% of 100 anymore, and not 25% of 72 either ($18). Dollars stay dollars.

Clearance sticker, then the employee badge

A coat is tagged $160. The rack sticker is 25% off. The employee badge then takes 15% off the price that remains, and the store does not let the badge touch the original tag. First factor 0.75 times 160 = $120. Second factor 0.85 times 120 = $102. Combined, the coat is 102/160 = 63.75% of the tag, which is 36.25% off, not 40% off. A coworker who adds 25 and 15 and then multiplies 160 by 0.60 gets $96 and underpays the mental receipt by six dollars. The register will not honor that addition. If a manager override really does apply both percents to the original, the ticket would be 160 times 0.60 = $96 only when the policy says “off original,” and the receipt will show two discounts of $40 and $24. Read the two lines. Do not infer the policy from the sum of the percents.

Intro price, then the loyalty cut, on a streaming plan

A plan is $16 a month. An intro deal is 50% off for three months, so you pay $8. A loyalty code then offers 20% off “the current price,” which during the intro is the $8, not the $16. You pay 0.80 times 8 = $6.40 in those months, which is 60% off the list price, not 70%. When the intro ends, the loyalty code if it survives now hits $16 and the bill becomes $12.80. People who lock 0.50 times 0.80 into a permanent factor are surprised in month four. The second percent did not change. The whole underneath it did. Write which months each whole is allowed to live in, or the budget spreadsheet will stay loyal to a discount that already expired.