DEV Community

Michael Lip
Michael Lip

Posted on • Originally published at zovo.one

Sale Math That Saves Real Money

A 40 percent off sale followed by an additional 20 percent off is not 60 percent off. It is 52 percent off. Stacked discounts multiply they do not add. This basic math error costs consumers and confuses retail employees daily.

Stacked discounts

"40% off plus an additional 20% off" means:

Original: $100
After 40% off: $100 * 0.60 = $60
After additional 20% off: $60 * 0.80 = $48

Total discount: $52 off = 52% off
NOT 60% off
Enter fullscreen mode Exit fullscreen mode

The formula for stacked discounts:

function stackedDiscount(price, ...discounts) {
  let final = price;
  for (const d of discounts) {
    final *= (1 - d / 100);
  }
  return {
    finalPrice: final,
    totalSaved: price - final,
    effectiveDiscount: ((price - final) / price * 100)
  };
}

stackedDiscount(100, 40, 20);
// { finalPrice: 48, totalSaved: 52, effectiveDiscount: 52 }
Enter fullscreen mode Exit fullscreen mode

The "percentage off" vs. "dollars off" decision

Retailers choose between "30% off" and "$15 off" strategically. Research shows consumers prefer whichever sounds bigger:

  • Under $100: percentage sounds bigger ("30% off" vs. "$15 off")
  • Over $100: dollar amount sounds bigger ("$50 off" vs. "20% off")

This is called the "Rule of 100" in pricing psychology. Both represent the same savings, but perception differs.

Calculating the original price

If you know the sale price and the discount percentage, the original price is:

Original = Sale price / (1 - Discount%)

$48 at 20% off: Original = $48 / 0.80 = $60
Enter fullscreen mode Exit fullscreen mode

Common mistake: adding the discount percentage to the sale price.

WRONG: $48 + 20% of $48 = $48 + $9.60 = $57.60
RIGHT: $48 / 0.80 = $60
Enter fullscreen mode Exit fullscreen mode

For calculating discounts, stacked sales, and reverse-engineering original prices, I built a calculator at zovo.one/free-tools/percent-off-calculator. It handles single discounts, stacked discounts, and calculates the effective total discount.


I'm Michael Lip. I build free developer tools at zovo.one. 500+ tools, all private, all free.

Top comments (0)