Enter the two you know out of "Original price", "Discount (%)", "Amount off" and "Sale price", leave the others blank, and press "Calculate". The rest is calculated for you. Fill in the bottom field only when there is an extra % off on top.
Table of Contents
-
What you can do on this page
-
What is this calculation used for?
-
How to Use
-
Formula
-
Symbols and terms
-
Good to know before you start
-
How to calculate it in Excel
-
How to calculate it in Google Sheets
-
How to calculate it in Python
-
How to write it in LaTeX and other math languages (copy and paste)
-
How to have ChatGPT do the calculation
-
DataChef Features
-
Related Features
-
NumberChef Calculators List
What you can do on this page
- Enter any two of "original price", "discount (%)", "amount off" and "sale price", and the other two are found on the spot
- "What is 20% off $50?", "What percent off is $10 off?", "If it is $40 after 20% off, what was the original price?" - percent discounts and flat dollar discounts both work here
- For stacked discounts such as "20% off, then an extra 15% off" (like combining coupons), you also get the final price and the overall discount
- A plain-language explanation of the formulas and copy-and-paste formulas for Excel, Google Sheets and Python are all on this page
What is this calculation used for?
If a $60 jacket is 30% off, you pay \(60 \times 0.7 = 42\) dollars (30% off = pay 0.7 of the price).
Once you remember that "X% off" means "multiply by 1 minus the decimal", you can estimate the price the moment you see the tag or the coupon. It is the calculation shoppers use most. (Sales tax, if any, is added on top of the sale price.)
For a $60 item with a "$10 off" coupon and a "15% off" coupon, 15% off is \(60 \times 0.15 = 9\) dollars off, so the $10 coupon is the better deal. For an $80 item, though, 15% off is \(80 \times 0.15 = 12\) dollars off, and the answer flips.
With a percent discount, the amount off depends on the original price. Turning both coupons into dollars off and comparing them helps you pick the better one.
"20% off everything, plus an extra 15% off at checkout" is not 35% off. Multiplying the fractions you pay gives \(0.8 \times 0.85 = 0.68\), so it is 32% off overall.
Also, a discount "off the sale price" and a discount "off the list price" are different things. If you can redo the math with the discount formulas yourself, you can judge a deal by what you actually pay instead of by how the tag makes it look.
"10% back in store rewards" is not the same as 10% off. Say you spend $100, get a $10 reward and use all of it: you bought $110 worth of goods for $100. Using the discount formula, \((110 - 100) \div 110 \times 100 \approx 9.1\%\), so it is worth about 9.1% off (less if the reward goes unused or expires).
Putting rewards and discounts on the same scale (the discount rate) makes it easier to compare offers.
If you take 5% off a $5,000 quote, the amount off is \(5000 \times 0.05 = 250\) dollars, and the invoice is $4,750.
In sales and purchasing, people negotiate by working both ways: "how many dollars is X% off?" and "what percent is this amount off?" Turning a discount into dollars to see its effect on profit is a basic calculation for anyone who works with prices.
Formula
Symbols and terms
Symbols
| \(X\) | ex | The original price. The price before the discount (the list price or regular price). In discount math, the percentage is always taken from this original price. |
| \(P\) | pee | The discount. It tells what percent of the original price is taken off. This page uses a percentage from 0 to 100 (for 20% off, \(P = 20\)). |
| \(D\) | dee | The amount off. The money you actually save (a dollar amount, not a percentage). It is the "$10" in "$10 off". |
| \(Y\) | why | The sale price. The price you actually pay after the discount. |
| \(1 - P \div 100\) | one minus P over 100 | The fraction you pay. Taking the original price as 1, it is how much is left after the discount (20% off → 0.8). Multiply by it to get the sale price; divide by it to get back to the original price. |
| \(P_1,\ P_2\) | P sub one, P sub two | The first and second discounts in stacked discounts. The small number at the lower right (a subscript) tells which one it is. |
| \(\%\) | percent | The percent sign. It shows "how many out of 100". It comes from the Latin per centum ("by the hundred"). |
Terms
| discount rate | The percentage of the original price that is taken off. "20% off" and "save 20%" both mean a discount rate of 20%. On this page it is simply called the "discount". |
| list price | The normal selling price before any discount. Stores also call it the "regular price" or "MSRP" (manufacturer's suggested retail price). It is the "original price" on this page. |
| markdown | A price cut a store makes on an item, such as a clearance or seasonal sale price. A markdown can be written as a dollar amount ($10 off) or as a percentage (20% off). |
| fraction you pay | The part of the original price that is left after the discount. For 20% off, it is \(1 - 0.2 = 0.8\) (0.8 times the original price). Seeing discounts as multiplying or dividing by this fraction is the central idea of the formulas on this page. |
| stacked discounts | Applying one discount on top of another, such as "20% off, then an extra 15% off" (for example, combining a sale with a coupon). The percentages cannot be added; multiply the fractions you pay instead. |
| overall discount | Stacked discounts expressed as one discount - "in the end, what percent off the original price was it?" 20% off plus an extra 15% off is 32% off overall (not 35% off). |
| base amount | The amount a percentage is taken from. In discount math, the base amount is always the original price before the discount. Be careful, because it is easy to divide by the wrong number. |
| percentage | A part of a whole written as "out of 100", with the unit % (percent). Multiply a decimal by 100 to get a percentage (0.2 → 20%). |
Good to know before you start
Here is what helps you use the calculation on this page with real understanding, not just by pressing the button.
If you get stuck, going back over these topics is the quickest way forward.
| Percent of a quantity (Grade 6) |
|
| Percents, decimals and fractions (Grade 6) |
|
| Multiplying and dividing decimals (Grades 5–6) |
|
| Working backward with equations (Grade 7) |
|
How to calculate it in Excel
| Original price | 50 |
| Discount (%) | 20 |
| Amount off | =B1*B2/100 |
| Original price | 50 |
| Amount off | 10 |
| Sale price | =B1-B2 |
| Original price | 50 |
| Sale price | 40 |
| Discount (%) | =(B1-B2)/B1*100 |
| Sale price | 40 |
| Discount (%) | 20 |
| Original price | =B1/(1-B2/100) |
| Original price | 50 |
| First discount (%) | 20 |
| Second discount (%) | 15 |
| Final price | =B1*(1-B2/100)*(1-B3/100) |
"B1" and "B2" in a formula stand for "the number in that cell". "*" is multiplication and "/" is division.
The results are 10 in the first table, 40 in the second, 20 in the third, 50 in the fourth and 34 in the fifth. Just replace the numbers in column B with your own prices and discounts.
How to calculate it in Google Sheets
| Original price | 50 |
| Discount (%) | 20 |
| Amount off | =B1*B2/100 |
| Original price | 50 |
| Amount off | 10 |
| Sale price | =B1-B2 |
| Original price | 50 |
| Sale price | 40 |
| Discount (%) | =(B1-B2)/B1*100 |
| Sale price | 40 |
| Discount (%) | 20 |
| Original price | =B1/(1-B2/100) |
| Original price | 50 |
| First discount (%) | 20 |
| Second discount (%) | 15 |
| Final price | =B1*(1-B2/100)*(1-B3/100) |
How to calculate it in Python
# Amount off and sale price (20% off $50)
price_before = 50 # original price
discount_percent = 20 # discount (%)
discount_amount = price_before * discount_percent / 100
price_after = price_before - discount_amount
print(f"Amount off: ${discount_amount:.2f}, sale price: ${price_after:.2f}")
# Discount (what percent off is $50 down to $40?)
price_before = 50 # original price
price_after = 40 # sale price
discount_percent = (price_before - price_after) / price_before * 100
print(f"Discount: {discount_percent}%")
# Work back to the original price ($40 after 20% off)
price_after = 40 # sale price
discount_percent = 20 # discount (%)
price_before = price_after / (1 - discount_percent / 100)
print(f"Original price: ${price_before:.2f}")
# Final price with stacked discounts ($50, 20% off, then an extra 15% off)
price_before = 50 # original price
first_percent = 20 # first discount (%)
second_percent = 15 # second discount (%)
price_final = price_before * (1 - first_percent / 100) * (1 - second_percent / 100)
print(f"Final price: ${price_final:.2f}")
How to write it in LaTeX and other math languages (copy and paste)
D = X × P ÷ 100
D = X \times \frac{P}{100}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>D</mi>
<mo>=</mo>
<mi>X</mi>
<mo>×</mo>
<mfrac><mi>P</mi><mn>100</mn></mfrac>
</mrow>
</math>
D = X xx P/100
before*percent/100
amount := before*percent/100;
amount = before*percent/100;
D = X × P/100
Y = X − D
Y = X - D
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mi>X</mi>
<mo>−</mo>
<mi>D</mi>
</mrow>
</math>
Y = X - D
before - amount
after := before - amount;
after = before - amount;
Y = X - D
P = (X − Y) ÷ X × 100
P = \frac{X - Y}{X} \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>P</mi>
<mo>=</mo>
<mfrac>
<mrow><mi>X</mi><mo>−</mo><mi>Y</mi></mrow>
<mi>X</mi>
</mfrac>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
P = (X - Y)/X xx 100
(before - after)/before*100
percent := (before - after)/before*100;
percent = (before - after)/before*100;
P = (X - Y)/X × 100
X = Y ÷ (1 − P ÷ 100)
X = \frac{Y}{1 - \frac{P}{100}}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>X</mi>
<mo>=</mo>
<mfrac>
<mi>Y</mi>
<mrow>
<mn>1</mn>
<mo>−</mo>
<mfrac><mi>P</mi><mn>100</mn></mfrac>
</mrow>
</mfrac>
</mrow>
</math>
X = Y/(1 - P/100)
after/(1 - percent/100)
before := after/(1 - percent/100);
before = after/(1 - percent/100);
X = Y/(1 - P/100)
Y = X × (1 − P₁ ÷ 100) × (1 − P₂ ÷ 100)
Y = X \times \left(1 - \frac{P_1}{100}\right) \times \left(1 - \frac{P_2}{100}\right)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mi>X</mi>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>−</mo>
<mfrac><msub><mi>P</mi><mn>1</mn></msub><mn>100</mn></mfrac>
<mo>)</mo>
</mrow>
<mo>×</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>−</mo>
<mfrac><msub><mi>P</mi><mn>2</mn></msub><mn>100</mn></mfrac>
<mo>)</mo>
</mrow>
</mrow>
</math>
Y = X xx (1 - P_1/100) xx (1 - P_2/100)
before*(1 - p1/100)*(1 - p2/100)
final := before*(1 - p1/100)*(1 - p2/100);
final = before*(1 - p1/100)*(1 - p2/100);
Y = X × (1 - P_1/100) × (1 - P_2/100)
How to have ChatGPT do the calculation
You are a calculation assistant for discounts. Do the following calculations by actually running Python code, and base your answer only on the numbers from the execution result (do not answer by mental math or guessing). 1. The amount off and the sale price for 20% off a $50 item 2. The discount (%) when a $50 item sells for $40 3. The original price of an item that was $40 in a 20%-off sale 4. The final price and the overall discount (%) when you buy a $50 item at "20% off, then an extra 15% off" Show the formulas you used and the numbers from the execution result.
How to Use
-
1Enter your numbersType the numbers you want to calculate with into the input fields
-
2CalculatePress the "Calculate" button
-
3Check the resultThe result appears on the spot. The same page also explains the idea behind the calculation and the formula
DataChef Features
No technical knowledge required.
Intuitive and user-friendly operation.
Can be used without registering personal information.
Automatic file deletion by clicking "download".
and rapid file conversion.
No attribution required.
No need to contact us for commercial use permission.
