Percent-Off vs. Dollar-Off: The Coupon Math That Decides Which Wins

Two codes sit in front of you: 20% off, or $20 off. It feels like it should be obvious which one saves more, but it isn’t — it depends entirely on what’s in the cart. Below a certain basket size, the flat $20 wins. Above that same size, the percentage wins. At exactly that size, they pay identically. Once you know how to find that number, comparing any percent-off code to any dollar-off code takes about five seconds of arithmetic.
The one number that decides it
A percentage discount scales with the basket; a flat discount doesn’t. That’s the entire mechanism. A 20%-off code saves more as the basket grows — 20% of $50 is $10, 20% of $200 is $40 — while a $20-off code saves exactly $20 no matter what’s in the cart. Since one line is flat and the other has a slope, they cross exactly once, at the basket size where both formulas produce the same number of dollars saved.
That crossing point — the break-even basket — is easy to solve for. Set the two discounts equal:
percent rate × basket = flat dollar amount
Rearranged, the break-even basket is simply:
break-even = flat amount ÷ percent rate
For 20% off vs. $20 off, that’s $20 ÷ 0.20 = $100. Below a $100 basket, the $20 flat code saves more. Above $100, the 20% code saves more. At exactly $100, both codes save exactly $20 — genuinely identical, not just close.
Working it both directions
The same formula runs either way, depending on which number you’re solving for.
You know both discounts, you want the break-even basket. Divide the dollar amount by the percentage (as a decimal). A $15-off code against a 10%-off code breaks even at $15 ÷ 0.10 = $150. Below $150, take the $15. Above $150, take the 10%.
You know your basket size, you want to know which code wins. Multiply your basket by the percentage rate, then compare that number directly to the flat dollar amount. A $75 cart against “15% off or $12 off”: 15% of $75 is $11.25, which is less than $12 — the flat code wins by 75 cents. Nudge that same cart to $85 and 15% becomes $12.75, and the percentage code takes over.
A short reference table for a few common pairings:
| Percent code | Dollar code | Break-even basket |
|---|---|---|
| 10% off | $10 off | $100 |
| 15% off | $15 off | $100 |
| 20% off | $20 off | $100 |
| 20% off | $10 off | $50 |
| 10% off | $25 off | $250 |
| 25% off | $10 off | $40 |
Notice the first three rows: whenever the dollar amount and the percentage number match (20-and-$20, 15-and-$15), the break-even basket is always $100. That’s just the math falling out of the formula — $20 ÷ 0.20, $15 ÷ 0.15, and $10 ÷ 0.10 all reduce to $100 — not a coincidence specific to any one retailer.
Why this matters more than picking the bigger-looking number
Coupon pages routinely present a percent-off and a dollar-off option side by side and let the shopper guess, and the instinct to reach for whichever number looks bigger — “20” feels bigger than “$20” once the % sign fades into the background — is exactly the instinct that gets it wrong on the wrong side of the break-even point. A shopper adding a single item well under $100 who defaults to “the 20% one, because 20 is a big number” is quietly leaving money on the table against the flat $20 code.
It also matters because percent-off and dollar-off aren’t just two flavors of the same discount — they’re different claims that a retailer is legally expected to back up with real math, not a bigger-sounding number chosen to look more generous. The FTC’s Guides Against Deceptive Pricing (16 CFR Part 233) set out the general principle that discount advertising has to reflect a genuine reduction from a real prior price, whichever way that reduction is expressed — see 16 CFR Part 233. That’s a separate question from which code saves you more on a given order, but the two sit next to each other: the retailer’s obligation is to make the discount real, and the shopper’s job is to figure out which real discount is bigger for their own basket. Neither one is solved by assuming the larger-looking digit wins.
Where this breaks down
The break-even formula assumes both discounts apply to the same base — the same subtotal, with the same exclusions. That assumption doesn’t always hold, and it’s worth checking before trusting the math:
- Percent-off codes are often capped. “20% off, up to $50” turns into a flat $50 discount the moment the 20% calculation would exceed that ceiling, which moves the effective break-even point lower than the uncapped formula predicts. Check the fine print for a maximum-discount clause before running the numbers.
- Category and item exclusions change the effective basket. If a percent-off code excludes sale items but the dollar-off code doesn’t, the two codes aren’t actually being compared on the same cart total, and the break-even basket calculated from the sticker rate won’t hold at checkout.
- Minimum-spend thresholds can rule a code out entirely before the comparison is relevant. A “$20 off $100+” code isn’t in play on a $60 basket at all — see minimum-deposit traps: what “fund your account” really requires for how these threshold requirements work more broadly, including in sign-up bonus offers rather than just coupons.
- Shipping, tax, and fees are usually outside the discount base, on both code types, which is a separate reason the sticker discount and the dollars actually saved at checkout can diverge — see what an Uber Eats promo code actually discounts for a worked example of how a percentage code that only touches the subtotal ends up smaller than it looks against a marked-up total.
None of that changes the underlying formula — it just means the “basket” in break-even = flat amount ÷ percent rate should be the actual discount-eligible subtotal, not the number on the receipt before exclusions are applied. Do that one check, run the division, and the bigger-looking percentage stops being a guess.