Quick answer
Successive discounts are multiplied, not added: the second one applies to the already reduced price. 20% off then 10% off takes €100 to €80, then to €72: a total discount of 28%, not 30%. Formula: total discount = 1 − (1 − d1) × (1 − d2). In France, during a single promotion with successive reductions, the reference price stays the price before the first reduction.
Your final prices vs your competitors’
Compare what your customers actually pay, product by product.
Test 3 URLs for freeSales markdowns, a promo code on top of a strikethrough price, “an extra 10% off at checkout”: stacked discounts are everywhere, especially on Black Friday and during the sales. The calculation is simple, but intuition often gets it wrong. Here is the formula, a ready-to-use table, the reverse calculation and what the law says about the strikethrough price.
Why is 20% off then 10% off not 30% off?
Because each discount applies to the current price. The first one takes 20% off €100, i.e. €20: the price drops to €80. The second takes 10% off €80, i.e. €8, not €10: the final price is €72. In total, the customer saves €28, which is 28%.
The order makes no difference: 10% off then 20% off also gives €72. And the larger the discounts, the bigger the gap with a simple sum: 50% off then 50% off makes 75% off, not a free product.
What is the formula for successive discounts?
Each discount d corresponds to a multiplier (1 − d): 20% off means multiplying by 0.8, 10% off by 0.9. Multiply the multipliers together:
Example: 1 − 0.8 × 0.9 = 1 − 0.72 = 0.28, i.e. 28% off.
The formula extends to three or more discounts: 20%, then 10%, then 5% off gives 1 − 0.8 × 0.9 × 0.95 = 0.316, i.e. 31.6% off.
Table of the most common successive discounts
| Successive discounts | Final price for €100 | Total discount | Not |
|---|---|---|---|
| −10% then −10% | €81 | −19% | −20% |
| −20% then −10% | €72 | −28% | −30% |
| −30% then −20% | €56 | −44% | −50% |
| −40% then −20% | €48 | −52% | −60% |
| −50% then −20% | €40 | −60% | −70% |
| −50% then −50% | €25 | −75% | −100% |
Which second discount reaches a given total?
You are aiming for a total discount D and a first discount d1 is already displayed? The second discount is:
- For 30% off in total after 20% off: 1 − 0.7 ÷ 0.8 = 12.5%.
- For 40% off in total after 20% off: 1 − 0.6 ÷ 0.8 = 25%.
- For 50% off in total after 30% off: 1 − 0.5 ÷ 0.7 ≈ 28.6%.
In other words, to announce “30% off” on an item already reduced by 20%, the second discount must be 12.5%, not 10%.
Which strikethrough price should you show with successive discounts?
In the EU, the strikethrough price must as a rule be the lowest price applied in the 30 days before the reduction (see the 30-day rule). Article 6a of Directive 98/6/EC lets member states provide that, when a price reduction is progressively increased, the prior price is the price before the first reduction. France does so in Article L112-1-1 of its Consumer Code: “in the event of successive price reductions during a set period”, the prior price is the one applied before the first reduction.
In practice, in France and during a single promotion, for example the second markdown of the official sales, you can keep €100 as the reference price and display €72. Outside that framework, for example a new promotion launched after a previous one has ended, the general rule applies: the reduced price of the previous promotion can become your reference price if it dates from the last 30 days.
For the percentage, announce the real total: €100 struck through, €72, i.e. −28%. In France, false or misleading information about a price or a price reduction can be a misleading commercial practice (Article L121-2 of the Consumer Code). And since a judgment of the Court of Justice of the European Union of 26 September 2024, the announced reduction must be calculated on the prior price: showing the total discount calculated on the reference price is the safest presentation.
Promo code on a strikethrough price: the stacking trap
A common case in e-commerce: a product that is already discounted and a promo code valid across the whole store. The code applies to the reduced price, not the original one. If your banner says “up to 60% off with the code”, redo the calculation with both multipliers: 50% then 20% off gives 60% off, but 50% then 15% off only gives 57.5%.
Stacking also weighs on your margin. With a 30% margin, 20% then 10% off leaves €2 of margin on a product sold for €100 excluding VAT (a €72 price and a €70 cost): you would need to sell fifteen times as much to earn the same (see how a discount affects your margin). And in France, below your effective purchase price the sale becomes illegal outside the official sales and other exceptions (see selling below cost in France).
Compare final prices, not percentages
A competitor’s “40% off” is not necessarily cheaper than your “30% off”: it all depends on the starting price. To know where you stand, compare the final displayed prices, product by product, delivery included. Our price benchmark method explains how to organise that comparison.
Competiprice checks the price displayed on your competitors’ product pages and shows it next to yours in the dashboard. A discount applied only in the basket, such as a promo code, does not appear on the product page, so a product page check cannot see it.
No account needed: paste up to 3 competitor URLs and check the detected prices.
Frequently asked questions about successive discounts
How do you calculate two successive discounts?
Multiply the multipliers (1 − d1) × (1 − d2), then subtract the result from 1. For 20% then 10% off: 1 − 0.8 × 0.9 = 0.28, a total discount of 28%.
Do two 50% discounts make 100% off?
No. The second discount applies to the price already halved: €100 becomes €50, then €25. The total discount is 75%.
Does the order of the discounts change the final price?
No. 10% then 20% off and 20% then 10% off give the same final price: €72 for a €100 item.
Which strikethrough price should you show for a second markdown?
In France, for successive reductions during a set period, such as markdowns during the official sales, the reference price is the price applied before the first reduction (Article L112-1-1 of the Consumer Code). Show the total discount calculated on that price.
How do you find the second discount needed to reach a total percentage?
Use d2 = 1 − (1 − D) ÷ (1 − d1). To reach 30% off after a first 20% discount: 1 − 0.7 ÷ 0.8 = 12.5%.
Sources consulted on 30 September 2026: Directive 98/6/EC, consolidated text, Article 6a; French Consumer Code, Article L112-1-1 and Article L121-2 (in French); French Ministry for the Economy, Legal Affairs Directorate, summary of the CJEU judgment of 26 September 2024 (in French). Calculations checked on fictitious example prices. This article is general information, not legal advice.