Percentage Decrease Calculator
The percentage decrease calculator finds the fall between an initial and a final value as a percentage. The page also works as a percent decrease calculator and a percent reduction calculator, with the formula, a 10% to 90% table and worked examples.
Example values are filled in. Replace them with your own.
Percentage decrease
20%
Decrease
Working
- 100 − 80 = 20
- 20 ÷ 100 × 100 = 20%
- Amount of the decrease
- 20
- Rise needed to get back to the start
- +25%
This is a relative change, a share of the starting value. If both values are rates, the gap between them is measured in percentage points, a different measure. See the percentage points calculator.
A phone drops from $800 to $680, or monthly revenue falls from $2.4 million to $1.8 million. How much did it fall, as a percentage? The answer is measured against the starting value, and for positive values a decrease can never be more than 100%.
Enter the initial value and the final value into this percentage decrease calculator and it returns the percent decrease with the working shown, for prices, populations, scores or any measurement. A second mode reduces a number by a percent, so this percent decrease calculator also shows what 240 less 15% comes to. A table of 10% to 90% decreases sits below for quick checks.
How percentage decrease works
Quick answer: subtract the final value from the initial value, divide by the initial value and multiply by 100. Going from 80 to 68 is (80 − 68) ÷ 80 × 100 = 15%.
Percentage decrease formula
percentage decrease = (initial value - final value) / abs(initial value) * 100This is the percentage decrease calculation formula. A positive result is a fall; a negative result means the value actually rose.
How to calculate percentage decrease
- Subtract the final value from the initial value to get the drop.
- Divide the drop by the initial value, not the final value.
- Multiply by 100 and add the percent sign.
To calculate a decrease in percentage terms between two numbers, the starting value is always the base. From 100 to 80 is a 20% decrease, but a drop from 80 to 60 is 25%, because the same gap of 20 is measured against a smaller start.
Where percentage decrease is used
Calculating percentages decrease is routine for price drops, falling sales, population decline, weight loss and fuel costs, and a percentage reduction calculator answers exactly the same question. How do you calculate a decrease in percentage when the numbers come from a report? Pick the earlier figure as the initial value and the later figure as the final value, then follow the steps above. The percentage lets you compare a fall in a small series with a fall in a large one.
How to decrease a number by a percentage
To reduce a number by a percent, multiply it by 1 minus the percent as a decimal. Decreasing 240 by 15% is 240 × 0.85 = 204. The table below applies the same method to 500. This is the second mode of the calculator above.
A quick mental check
For a 10% decrease, move the decimal point one place left and subtract: 10% of 250 is 25, so the new value is 225. For 20%, double the tenth and subtract; for 25%, take off a quarter; for 50%, halve it. Use the check to catch a slipped decimal, and the calculator for awkward figures such as 7.5%.
A decrease cannot exceed 100%
A 100% decrease takes the value to zero, so nothing can fall further. A percentage increase has no such cap, which is one reason the two are not mirror images. A result above 100% can only happen when the final value is below zero, so check the inputs. For example, 50 to −10 is a 120% decrease. Entering the values the wrong way round gives a negative result, not one above 100%.
Why recovering takes a bigger rise
Because the base shrinks after a fall, winning back the loss needs a larger percentage on the lower value. A 20% decrease is undone by a 25% increase, a 50% decrease needs a 100% increase, and a 10% decrease needs 11.1%. The general rule is decrease ÷ (100 − decrease) × 100.
Successive decreases multiply
Two decreases in a row do not add. A 20% decrease followed by a 10% decrease leaves 0.80 × 0.90 = 0.72 of the original, which is 28% less in total, not 30%.
Percentage decrease vs reduction, drop, loss and percent off
Reduction, drop, decline and loss are different words for the same arithmetic, so a percent reduction calculator, a percentage loss calculator and a percent loss calculator all do exactly what this page does. Percent off is the same calculation applied to a shop price; see the percent off calculator for stacked discounts and sales tax.
Increase and decrease together
Here is how to calculate increase and decrease percentage when you do not know the direction in advance: use (final − initial) ÷ initial × 100 and read the sign. The percentage change calculator works as a percent increase and decrease calculator. When you know the value rose, use the percentage increase calculator.
Percentage decrease in Excel and Google Sheets
With the old value in A2 and the new value in B2, type =(A2-B2)/A2 or the shorter =1-B2/A2 and format the cell as a percentage. The Excel guide has copy-ready versions for increase, change and difference.
Percentage decrease examples
Decreasing 500 by each percentage from 10% to 90%:
| Decrease | Amount removed | New value |
|---|---|---|
| 10% | 50 | 450 |
| 20% | 100 | 400 |
| 30% | 150 | 350 |
| 40% | 200 | 300 |
| 50% | 250 | 250 |
| 60% | 300 | 200 |
| 70% | 350 | 150 |
| 80% | 400 | 100 |
| 90% | 450 | 50 |
Example 1: price drop from $80 to $68
Given
Step 1
The drop is $12, and 12 ÷ 80 = 0.15.
Answer
Example 2: population decline from 12,500 to 11,875
Given
Step 1
The town lost 625 people, and 625 ÷ 12,500 = 0.05.
Answer
Example 3: exam score from 90 to 72
Given
Step 1
The drop is 18 marks, and 18 ÷ 90 = 0.20.
Answer
Example 4: revenue from $2.4 million to $1.8 million
Given
Step 1
The drop is $0.6 million, and 0.6 ÷ 2.4 = 0.25.
Answer
Example 5: weight from 92 kg to 82.8 kg
Given
Step 1
The drop is 9.2 kg, and 9.2 ÷ 92 = 0.10.
Answer
Example 6: fuel price from $3.60 to $3.33 a gallon
Given
Step 1
The drop is $0.27, and 0.27 ÷ 3.60 = 0.075.
Answer
Example 7: reduce 1,200 by 12.5%
Given
Step 1
This is the second mode.
Answer
Percentage decrease code
Both versions reproduce the examples above (15%, 5%, 20%, 25%, 10%, 7.5% and 1,050), reject non-numeric input, refuse a starting value of 0 and keep the decrease-by percent between 0 and 100.
JavaScript
function finite(name, v) { if (typeof v !== "number" || !Number.isFinite(v)) throw new TypeError(`${name} must be a finite number`);}function share(percent) { finite("percent", percent); if (percent < 0 || percent > 100) throw new RangeError("percent must be between 0 and 100"); return percent / 100;}export function percentDecrease(initial, final) { finite("initial", initial); finite("final", final); if (initial === 0) throw new RangeError("initial must not be 0: the decrease from zero is undefined"); return ((initial - final) / Math.abs(initial)) * 100; // negative means the value actually rose}export function decreaseBy(value, percent) { finite("value", value); return value * (1 - share(percent));}export function recoveryIncrease(percentDecrease) { const s = share(percentDecrease); if (s === 1) throw new RangeError("a 100% decrease cannot be recovered by a percentage rise"); return (s / (1 - s)) * 100;}Python
from decimal import Decimalimport mathdef _num(name, v): if isinstance(v, bool) or not isinstance(v, (int, float, Decimal)) or not math.isfinite(float(v)): raise ValueError(f"{name} must be a finite number") return Decimal(str(v))def _share(percent): percent = _num("percent", percent) if percent < 0 or percent > 100: raise ValueError("percent must be between 0 and 100") return percent / 100def percent_decrease(initial, final): initial, final = _num("initial", initial), _num("final", final) if initial == 0: raise ValueError("initial must not be 0: the decrease from zero is undefined") return (initial - final) / abs(initial) * 100 # negative means the value actually rosedef decrease_by(value, percent): return _num("value", value) * (1 - _share(percent))def recovery_increase(percent_decrease): s = _share(percent_decrease) if s == 1: raise ValueError("a 100% decrease cannot be recovered by a percentage rise") return s / (1 - s) * 100recoveryIncrease(20) returns 25 and recoveryIncrease(50) returns 100, the recovery figures above. Round only for display: in JavaScript, decreaseBy(500, 70) returns 150.00000000000003, so format results with toFixed(2). The Python version uses Decimal and avoids the artefact.
Privacy and input safety
Values are calculated in your browser. The numbers you enter are not sent to a server or stored.
- Fields accept numbers only. Text, empty fields, NaN and Infinity are rejected with a message, and nothing you type is ever evaluated as code.
- In the decrease-by mode the percent must be between 0 and 100. A decrease of more than 100% would give a negative value, so it is refused.
- A comma followed by exactly three digits is read as a thousands separator, so 1,200 is 1200. Any other comma is a decimal point, so 12,50 is 12.50, and a number starting with 0, such as 0,500, is read as a decimal. Mixed formats such as 1.234,5 and ambiguous entries such as 1,2,3 are refused instead of guessed. Spaces, including no-break spaces, between digit groups are ignored.
Common percentage decrease mistakes
| Mistake | What goes wrong | What the calculator does |
|---|---|---|
| Dividing by the final value | 80 to 68 gives 17.6% instead of 15% | Always divides by the initial value |
| Adding successive decreases | 20% then 10% read as 30%; the true figure is 28% | Multiplies the remaining shares |
| Undoing a decrease with the same percent | A 20% fall is undone by a 25% rise, not 20% | Shows the recovery rise on request |
| Expecting more than 100% | A result above 100% only happens when the final value is negative; 50 to −10 is a 120% decrease | Flags a negative final value, and refuses a decrease-by percent above 100 |
| Subtracting the percent as a number | 240 reduced by 15% read as 240 − 15 = 225 instead of 204 | Converts the percent to a share of the value |
| Reading a negative result as a fall | 100 to 150 returns −50%, which is really a 50% rise | Labels the direction and points to the change calculator |
| Starting from zero | Division by zero, or a meaningless infinite percentage | Refuses with a message |
| Rounding the percent first | Taking 7.5% as 8% turns $3.33 into $3.31 | Rounds only the displayed result |
| Mixing percent and percentage points | A rate falling from 5% to 4% is 1 point, or a 20% decrease | Labels the result as relative |
Percentage decrease vs change vs increase vs percent off
| Measure | Formula | Base | Direction | Best for |
|---|---|---|---|---|
| Percentage decrease | (initial − final) ÷ initial × 100 | Initial value | Down only | Any fall in a value |
| Percentage increase | (final − initial) ÷ initial × 100 | Initial value | Up only | Any rise in a value |
| Percentage change | (final − initial) ÷ abs(initial) × 100 | Initial value | Either, by sign | Direction unknown |
| Percent off | original × percent ÷ 100 | Original price | Down only | Shop discounts, stacked offers, tax |
| Reverse percentage | final ÷ (1 − decrease ÷ 100) | Unknown original | Down only | Finding the original from a reduced value |
| Percentage points | new rate − old rate | Not applicable | Either | Gaps between two percentages |