A reader wrote in last month with a problem that sounded trivial and turned out not to be. She had $84 of books in her cart, a 20% off single-code offer, and a stack of smaller coupons — 10% off one item, $5 off $40, free shipping — that the store's checkout would only let her use two of. Which combination actually saved her the most? She ran the 20% code, felt clever, and then spent an evening wondering if she'd left money on the table. She had.
The Arithmetic Almost Nobody Runs
Most shoppers treat a discount as a single number. A 20% code "beats" a 10% code, so you use the 20% code. This is a reasonable heuristic and it is frequently wrong, because coupons don't stack additively — they stack multiplicatively, and order of application matters.
Take the $84 cart. A 20% code takes $16.80 off, leaving $67.20. Now consider the stack: $5 off $40 first, then 10% off the remainder. That's $84 − $5 = $79, then $79 × 0.9 = $71.10, a total saving of $12.90. Worse. But reverse the order — 10% off first, then the $5 — and you get $84 × 0.9 = $75.60, minus $5 = $70.60, or $13.40 saved. Still worse than the single code.
The stack only wins when the smaller coupons attach to different line items or trigger thresholds the big code can't reach. Add a $10-off-$75 threshold coupon to the mix and the picture flips: $84 − $10 = $74, then 10% off leaves $66.60. Total saving: $17.40. That beats the 20% code by $0.60 — and if free shipping (typically $4–6) rides along on the threshold coupon, the gap widens to roughly 24% of the cart.
Why the Big Code Feels Better Than It Is
This is a clean case of what Kahneman and Tversky called the anchoring effect, compounded by loss aversion. The 20% figure is a vivid anchor. Once you've seen it, using a 10% coupon registers as a loss — you're "giving up" the bigger number. The stack of small coupons never presents itself as a single salient quantity, so it doesn't compete emotionally, only arithmetically. And arithmetic loses that fight most of the time.
There's a second force at work: variable-ratio reinforcement. Coupon sites and retailer apps deliver unpredictable wins — sometimes a code works, sometimes it's expired, sometimes a threshold coupon appears in your inbox the day after you buy. That intermittent schedule is the same one that makes slot machines and social media feeds compelling, and it trains shoppers to grab the loudest available code rather than compute the best combination. The behavior is reinforced, but the payoff isn't optimal.
The Three-Coupon Rule
A simple discipline covers most carts:
- Apply threshold coupons first. Dollar-off-minimum coupons get consumed by the subtotal before percentage codes shrink it. Reversing this order can cost you the threshold entirely.
- Check whether percentage codes are item-level or cart-level. Item-level codes on your most expensive book often beat a cart-wide code on a mixed cart.
- Value shipping separately. Free shipping is worth $4–6 and is invisible in the percentage math. Include it as a dollar figure when you compare.
Run the numbers in a notes app before checkout. It takes ninety seconds and, on a $75–100 book cart, routinely finds $10–20 that the single big code leaves behind.
What's Coming
Retailers are already deploying checkout logic that auto-optimizes coupon combinations for you — and quietly reserving the best stacks for loyalty tiers. The shopper who understands multiplicative stacking will be the one who notices when the "optimized" default isn't optimized for them. Learn the arithmetic now, while it's still your advantage.