Skip to main content
CalcMax

Discount Calculator

Range: 0.01 – 1,000,000,000

Range: 0 – 100

Range: 0 – 100

Result

72.00

Price you pay

After the first discount
80.00
You save
28.00
Combined discount
28.00%

A calculator for one discount is easy to find. The one worth having is the calculator for two, because two is where the arithmetic stops being obvious: twenty percent off and then another ten percent off is a reduction of twenty-eight percent, not thirty. The second discount is taken off the price that the first one left behind, so that ten percent is ten percent of eighty rather than ten percent of a hundred, and it removes eight points from the original price instead of ten. That distance between the rate you were quoted and the rate you actually received is the reason this page exists, and the panel gives it a row of its own.

A second discount on top of 20 percent off a price of 100

Second discountCombined ratePrice you pay
02080
102872
203664
304456

Every row locks the original price at 100 and the first discount at 20 percent, so the only thing moving is the second rate. The middle column is the two rates expressed as one, and reading down it is the whole point of the table: a second discount of 10 percent takes the combined rate to 28 rather than to 30, a second 20 percent takes it to 36 rather than to 40, and a second 30 percent takes it to 44 rather than to 50. The shortfall widens as the second rate grows, and it is always the second rate multiplied by the fraction the first discount has already removed — 10 percent of the 80 that remains is 8, which is the two points missing from the first row. The table holds no currency and no tax, the first row is the single-discount case with nothing stacked on it, and the last column is the first column's rate applied to the same original price throughout.

Formula

Price after the first discount = list price × (1 − first discount ÷ 100) | Price you pay = that × (1 − second discount ÷ 100)

listPrice
The price before any discount. Every figure on the panel is derived from it, which is why a price of zero is refused: it would produce a panel of zeroes rather than an answer
discountPercent
The first discount, taken off the full price. It is the larger of the two cuts in effect, because the second one has less left to work on
additionalDiscountPercent
The second discount, taken off the price the first one left. It is a smaller cut than its own rate suggests, and that is the arithmetic the page is about
priceAfterFirstDiscount
What the price is once the first discount has come off. It is the base the second discount works on, which is why a second ten percent is worth eight
finalPrice
What you pay. It is the main figure on the panel and the one the second discount is applied to reach
savings
The price minus what you pay, taken as a subtraction between the two figures shown rather than as the two discount rates added together
effectiveDiscountPercent
The two rates expressed as one. It is always smaller than their sum, and on twenty then ten it is twenty-eight rather than thirty

Use it when two successive reductions apply to the same price and you want to know what they come to together: a sale price with a further markdown at the till, a coupon that comes off after the seasonal reduction, a loyalty rate stacked on a promotional one. Use the single-discount page instead when there is only one rate, because the intermediate row this page prints has nothing to show there.

Worked examples

  1. Default case: 100 with 20 percent off, then another 10 percent off

    1. After the first discount: 100 × (1 − 20 ÷ 100) = 80.00
    2. After the second: 80 × (1 − 10 ÷ 100) = 72.00
    3. Saved: 100.00 − 72.00 = 28.00
    4. Combined rate: 28.00 ÷ 100 × 100 = 28.00%

    Twenty then ten is the pair to read the whole page off, because the answer is twenty-eight rather than the thirty that the two rates add up to, and the two points of difference are the second discount landing on eighty instead of on a hundred. Check the addition rather than the multiplication: 100.00 minus 28.00 is 72.00 exactly, which is the identity the last two rows are built to preserve.

  2. A second discount of zero: 250 with 10 percent off

    1. After the first discount: 250 × (1 − 10 ÷ 100) = 225.00
    2. After the second: 225 × (1 − 0 ÷ 100) = 225.00
    3. Saved: 250.00 − 225.00 = 25.00
    4. Combined rate: 25.00 ÷ 250 × 100 = 10.00%

    A second discount of zero is a legitimate entry rather than an empty one, and the two price rows collapse onto each other when it is used — which is the check that the second stage is a genuine multiplication rather than an extra charge dressed up as one. It is also what makes this page a superset of the single-discount page: with the second rate at zero the two agree figure for figure.

  3. A price with cents: 49.99 with 15 percent, then 5 percent

    1. After the first discount: 49.99 × 0.85 = 42.4915, rounded to two decimals = 42.49
    2. After the second: 42.49 × 0.95 = 40.3655, rounded to two decimals = 40.37
    3. Saved: 49.99 − 40.37 = 9.62
    4. Combined rate: 9.62 ÷ 49.99 × 100 = 19.2448… = 19.24%

    This is where rounding to the cent at each step becomes visible, and where it is worth looking at the intermediate row. The unrounded first step is 42.4915, so the second discount is computed on 42.49 rather than on the value a single multiplication would have carried forward. The combined rate lands at 19.24 rather than the 20 that 15 and 5 add up to, and the second discount is the smaller half of the difference.

  4. Two equal rates where the two conventions disagree

    1. After the first discount: 10 × (1 − 33.33 ÷ 100) = 6.667, rounded to two decimals = 6.67
    2. After the second: 6.67 × (1 − 33.33 ÷ 100) = 4.446889, rounded to two decimals = 4.45
    3. Saved: 10.00 − 4.45 = 5.55
    4. Combined rate: 5.55 ÷ 10 × 100 = 55.50%

    A price of ten and two rates of one third is the case that separates the two ways of doing this. Multiplying both rates in one go gives 10 × 0.6667 × 0.6667 = 4.444889, which rounds to 4.44; rounding after each step gives 4.45. The page takes the step-by-step version and the difference is a cent, but it is a cent that a reader with a receipt in hand can see, which is why the page says which one it uses rather than leaving it to be discovered.

  5. The smallest price the field accepts, with two halves

    1. After the first discount: 0.01 × 0.5 = 0.005, rounded to two decimals = 0.01
    2. After the second: 0.01 × 0.5 = 0.005, rounded to two decimals = 0.01
    3. Saved: 0.01 − 0.01 = 0.00
    4. Combined rate: 0.00 ÷ 0.01 × 100 = 0.00%

    Half of one cent is not a price, and rounding it up is what a price is required to do. Each step therefore leaves the price where it was, the panel reports nothing saved across two fifty-percent discounts, and the combined rate reads zero. It looks like a fault and it is the arithmetic of a cent: the page cannot print a price below its smallest unit, so the deepest discount it can express on the smallest price is none at all.

Limitations

Two conventions of the arithmetic are worth knowing before the numbers are taken too literally. The first is that each step is rounded to the cent as it happens, the way a till does it, rather than multiplying both rates together and rounding once. On most prices the two agree; on some they differ by a cent, and the page picks the step-by-step version because that is the one whose figures add up on screen — the price minus the money saved equals the price paid, exactly, on what is printed. If you are reconciling this page against a receipt and land a cent apart, that is the likely reason, and the receipt is the authority on which order the two reductions were applied in. The second is that a price cannot go below its smallest unit, so a deep enough pair of discounts on a small enough price will stop reducing anything at all: two fifty-percent discounts on a hundredth leave it at a hundredth and report nothing saved. That is not a bug in the discount, it is the floor. Nothing here judges whether the discount is real or good. The original price is a number you type in, and this page has no second source to compare it against, so it can tell you what a reduction from that price comes to and cannot tell you whether the price it was reduced from was ever charged. In the United States that question is the subject of the Federal Trade Commission's guides against deceptive pricing, two sections of which are cited below; they are about what a seller may advertise, not about arithmetic, and this page makes no attempt to check an input against them. Everything is a gross figure. No currency is attached, because the arithmetic is identical in every one, and no tax, shipping or fee is modelled — if a sales tax applies it applies to what is left after the discounts rather than to the original price, and that calculation is a different page. The two rates are also assumed to be independent of each other. Some promotions are not: a coupon whose terms say it cannot be combined with other offers is a single discount, and putting it in the second field will produce a bigger reduction than the terms allow, because this page has no way to know what the terms say.

Frequently asked questions

Is 20 percent off then another 10 percent off the same as 30 percent off?
No, and the gap is the reason this page exists. The second ten percent is taken off the price the first one left, which on a hundred is eighty, so it removes 8.00 rather than 10.00 and the two together come to 28 percent. The further apart the two rates are, the further the combined rate falls short of their sum; two rates of fifty percent come to 75 rather than 100, and two rates of ten percent come to 19 rather than 20. The panel prints the combined rate on its own row so that the number you were quoted and the number you received can be read side by side.
Does the order of the two discounts matter?
Not for the result, given how this page rounds. The same two rates applied in the other order land on the same price, and the reason is that the two steps are the same two multiplications in the other order — multiplication commutes even when rounding is applied between them, because each step rounds the same intermediate value. What does change with the order is the intermediate row, which is the price after the first discount rather than after the second, so a discount described as being applied at the till should go in the second field if you want the rows to follow the order you experienced them in.
Why is the saved amount a subtraction rather than the two discounts added together?
Because the panel has to add up on the figures it prints. The two discounts added together would double-count the part of the original price that the first discount already removed, and the result would not reconcile with the price row. Taking the original price minus the price paid gives a figure that a reader can verify with one subtraction, and it is that subtraction the last two rows are built around: price minus saved equals price paid, exactly, on what is on screen.
Why does the page round after each discount instead of at the end?
Because that is what applying two discounts in sequence does, and because it is the version whose figures reconcile on screen. A till takes the first discount off, arrives at a price, and takes the second off that price. The two conventions agree on most prices and can differ by a cent: on a price of ten with two discounts of 33.33 percent, rounding at each step gives 4.45 and multiplying both rates in one go gives 4.44. The page uses the step-by-step version and there is an example demonstrating it, so the convention is visible rather than something to be discovered by disagreeing with it.
Why does a price of one cent show nothing saved after two fifty-percent discounts?
Because half of one cent is not a price, and a price rounds up to the smallest unit it has. A hundredth of a unit discounted by half is half a hundredth, which rounds back up to a hundredth, and the second discount does the same thing again. The page cannot print a price below its smallest unit, so on the smallest price the deepest discounts it can express come to nothing. This is the floor of the arithmetic rather than an error in it, and it is the same floor that makes 4.45 rather than 4.44 in the example above.
Can I use this for a discount that cannot be combined with others?
Only if the two reductions genuinely both apply, which is a question about the terms rather than about arithmetic. A coupon that says it cannot be combined with other offers is a single discount, and entering it in the second field will produce a reduction larger than the terms allow, because this page has no field for what the terms say and no way to check an input against them. The page computes the arithmetic of two sequential reductions and takes both rates at face value; whether both of them are actually available to you is something to settle with the seller rather than here.

References

Related calculators