August 31, 2026 · 7 min read · by Quanta Calculator

Percent Off, Percent Change and the Discount Stack Trap

Why 20% off then 10% off is 28% off, not 30 — the one-line percent-off formula, a 10% mental-math anchor, and how stacked discounts and sales tax compound

Minimalist geometric illustration of a sale tag, stacked percent signs and a shrinking price staircase in warm amber tones

"Percent off" is a single multiplication wearing a marketing costume. Take the advertised discount away from 100, treat what's left as cents kept per dollar, and multiply:

sale price = original price × (1 − discount ÷ 100)

An $80 hoodie at 25% off keeps 75 cents of every sticker dollar: 80 × 0.75 = $60, which is $20 saved. That one line is everything a percent off calculator does for a single discount — what the tool adds is exact decimal arithmetic at the cent boundary and a second, optional discount field for stacked offers, which is where this post is headed, because stacking is where almost everyone's mental math quietly breaks.

If you searched "20 percent off then 10 percent," here is the answer before anything else: it is 28% off, not 30%. A $100 item falls to 100 × 0.80 = $80 after the first markdown, then to 80 × 0.90 = $72 after the extra coupon. You keep 72% of the original, so the two discounts together removed 28%. The sections below give the general rule for any stacked pair, a table of how far the add-them-up guess drifts, and the two neighboring calculations — percent change and sales tax — that spring the same trap from other directions.

Finding 10% is the whole mental game

Single discounts rarely need a device if you can anchor on 10%: shift the decimal one place left. Ten percent of $45 is $4.50, so 20% off is double the anchor — $9.00 off, $36.00 to pay. Cross-check with the formula: 45 × 0.80 = 36. Five percent is half the anchor, which unlocks the awkward-looking tags: 15% off a $60 dinner is $6 + $3 = $9 off, leaving $51, and 60 × 0.85 = 51 confirms it. This is not a novelty trick; it is the proportional-reasoning skill the Common Core standards file under 7.RP.A.3, which deliberately groups markdowns with sales tax, tips and commissions — one skill, four costumes.

Why 20% off then 10% off is 28% off

The second discount never sees the original price. It is calculated against whatever survived the first discount, so each link in the chain works from a smaller base than the one before.

Run the classic clearance-plus-coupon case: a $200 jacket marked 30% off, with a 20%-off coupon stacked on top. The markdown leaves 200 × 0.70 = $140. The coupon then takes 20% of $140 — not of $200 — leaving 140 × 0.80 = $112. Total saved: 200 − 112 = $88, and 88 ÷ 200 × 100 = 44%. Not the 50% the two tags suggest when read side by side. The store did nothing sneaky; chained percentages compound multiplicatively, the way interest does, rather than adding.

Order changes nothing, because multiplication commutes: applying the coupon first gives 0.80 × 0.70 = 0.56 of the sticker either way — the same 56 cents kept per dollar. What matters is only that both factors are applied, each to the running total. The percent-off tool reports the result as a "combined effective discount" for exactly this reason: it turns a stacked offer into a single flat percentage you can compare against a plain one-tag sale.

How far wrong "just add them" drifts

Advertised stack Add-them-up guess True combined discount Fraction of price kept
20% then 10% 30% 28% 0.80 × 0.90 = 0.72
20% then 20% 40% 36% 0.80 × 0.80 = 0.64
30% then 20% 50% 44% 0.70 × 0.80 = 0.56
50% then 30% 80% 65% 0.50 × 0.70 = 0.35
50% then 50% 100% 75% 0.50 × 0.50 = 0.25

The bottom row is the tell. Two half-off coupons do not make an item free — they make it quarter-price, since 0.50 × 0.50 = 0.25 of the sticker survives. And the gap between guess and truth widens as the discounts steepen: 2 percentage points on a mild 20-and-10 stack, a full 25 points on the double-half-off fantasy. Steep clearance events are precisely where the wrong intuition costs the most.

There is a clean correction formula hiding in the algebra. Expanding (1 − a)(1 − b) shows the combined discount is:

d₁ + d₂ − (d₁ × d₂ ÷ 100)

The subtracted term is the overlap — the second discount trying to remove dollars the first discount already removed. Check it against the table: 20 + 10 − (20 × 10 ÷ 100) = 30 − 2 = 28. And 30 + 20 − (30 × 20 ÷ 100) = 50 − 6 = 44. At the extreme, 50 + 50 − (50 × 50 ÷ 100) = 100 − 25 = 75. If you remember one portable fact from this post, make it this: stacked discounts always come in under the sum, and the shortfall is the product of the two rates divided by 100.

The same trap in percent-change clothing

Flip the question around — "the $120 tag rang up at $90, so what percent off did I actually get?" — and you are doing percent change: the saving measured against the original base. You saved $30, and 30 ÷ 120 × 100 = 25%. That reverse direction is the "what percent" and "percent change" territory of the percentage calculator, and it demands the same base-awareness as stacking does.

Base-switching also explains why sale prices cannot bounce back symmetrically. Mark $100 down 20% and it sits at $80. Restoring it takes a 25% rise, because the recovery is measured against the smaller number: (100 − 80) ÷ 80 × 100 = 25. Raise $80 by only 20% and you reach just 80 × 1.20 = $96 — four dollars short, which is 4% of the original price. So when a sale ends and the shelf price "jumps 25%," nothing dishonest happened; the markdown and the markup were the same $20 standing on different bases.

The register runs one more percentage — upward

Sales tax is a stacked percentage too, pointed the other way, and it joins the same multiplication chain. The discounts come off the pre-tax price first; tax then applies to what remains. Send the $112 jacket through a New York City register, where the combined rate is 8.875% — 4.000% state, 4.500% city, 0.375% commuter-district levy — and the tax is 112 × 0.08875 = $9.94, for a receipt total of $121.94. The entire checkout is one product: 200 × 0.70 × 0.80 × 1.08875.

The tax leg carries its own base trap: pulling tax back out of a tax-inclusive total is a division, not a subtraction. A $100 purchase at 8.875% totals $108.88, and recovering the pre-tax figure means 108.88 ÷ 1.08875 ≈ $100.00. Taking 8.875% of the total instead wrongly claims $9.66 of tax when only $8.88 was charged — the percentage was quoted on the smaller pre-tax base, not the bigger all-in one. The sales tax calculator ships a dedicated extract mode because that exact mistake is endemic in receipt bookkeeping.

The one number no formula audits

Everything above trusts the sticker. U.S. advertising law does not take that on faith: the FTC's Guides Against Deceptive Pricing (16 CFR § 233.1) require that a "was $X, now Y% off" claim rest on a price the item was genuinely offered at for a reasonably substantial period — not one inflated the week before the sale to fatten the percentage. Arithmetic can tell you exactly what an advertised discount does to a price; it cannot tell you whether the price deserved your trust in the first place.

Every checkout puzzle in this post reduces to one discipline: know which base the percentage is standing on. The three tools above cover the chain from sticker to receipt, and the rest of Quanta's calculator library applies the same rule everywhere else a percentage hides — interest, tips, markups, grade curves. The genuinely weird end of retail — BOGO hybrids, loyalty credits applied after tax, coupons capped at a dollar figure — still sits outside these three formulas. Those promotions get built into calculators in the order readers request them, and requests land on the contact page.

Sources

More guides