Table of Contents
- What a percentage actually is
- How to find a percentage of a number
- The swap trick that makes awkward percentages easy
- Percentage increase and decrease
- Reverse percentages: finding the original amount
- Three traps that catch adults too
- Working out exam marks as a percentage
- How to practise percentages
- How we teach it
- Frequently asked questions
Percentages are the part of school maths that follows you into adult life. Exam marks, discounts, interest rates, tax, pay rises, battery levels and statistics in the news are all percentages. Yet many adults reach for a calculator for 15% of something, and most people get at least one of the classic percentage questions wrong: what was the price before the discount, or why a 20% rise followed by a 20% fall does not bring you back to where you started.
This guide covers every percentage calculation you are likely to need, in the order that builds understanding: what a percentage is, how to find any percentage in your head, a shortcut that makes some awkward ones easy, percentage change, reverse percentages, and the traps that catch students and adults alike. Every calculation was checked by running it in Python, and the code is included so you can check your own answers the same way.
What a percentage actually is
The word comes from the Latin per centum, meaning "by the hundred". A percentage is a fraction with 100 on the bottom. 37% means 37 out of every 100, or 37/100, or 0.37. That is all it is.
The reason percentages are so useful is that they let you compare things of different sizes. Scoring 42 out of 50 and 68 out of 80 is hard to compare at a glance. As percentages, 84% and 85%, it is easy. Turning everything into "out of 100" puts it on the same scale.
- Percentage to decimal: divide by 100. 37% = 0.37, 5% = 0.05, 150% = 1.5.
- Percentage to fraction: write it over 100 and simplify. 25% = 25/100 = 1/4.
- Fraction to percentage: divide, then multiply by 100. 3/8 = 0.375 = 37.5%.
How to find a percentage of a number
The formula is simple: percentage ÷ 100 × the number. So 17% of 240 is 17 ÷ 100 × 240 = 40.8. On a calculator, that is all you need.
In your head, there is a much friendlier method. Find two building blocks, 10% and 1%, and make everything else from them:
amount = 240
ten = amount / 10 # 10%: divide by 10
one = amount / 100 # 1%: divide by 100
print("10% of 240 =", ten)
print(" 5% of 240 =", ten / 2) # half of 10%
print("20% of 240 =", ten * 2) # double 10%
print("15% of 240 =", ten + ten / 2) # 10% + 5%
print(" 1% of 240 =", one)
print("17% of 240 =", ten + ten / 2 + 2 * one) # 10% + 5% + 1% + 1%
print("check: ", 240 * 17 / 100)
10% of 240 = 24.0
5% of 240 = 12.0
20% of 240 = 48.0
15% of 240 = 36.0
1% of 240 = 2.4
17% of 240 = 40.8
check: 40.8
- 10%: divide by 10. 10% of 240 is 24.
- 5%: half of 10%. That is 12.
- 20%, 30%, 40%: double, triple or quadruple 10%.
- 1%: divide by 100. 1% of 240 is 2.4.
- Anything else: add pieces together. 15% is 10% + 5%. 17% is 10% + 5% + 1% + 1%.
- 50%, 25%, 75%: half, a quarter, three quarters. No building blocks needed.
Working out a tip or tax in your head
For 15% of a bill of 480: 10% is 48, 5% is 24, so 15% is 72. For 18%: 20% is 96, take away 2% (9.6), leaving 86.4. Going over and coming back is often quicker than building up.
The swap trick that makes awkward percentages easy
Here is a genuine shortcut that most people are never taught. x% of y is always equal to y% of x. So 8% of 50, which sounds fiddly, is the same as 50% of 8, which is obviously 4.
examples = [(8, 50), (4, 75), (16, 25), (3, 200)]
for a, b in examples:
print(f"{a}% of {b} = {a * b / 100:g} and {b}% of {a} = {b * a / 100:g}")
# does it always work? check every pair of whole numbers from 1 to 200
always = all(a * b / 100 == b * a / 100 for a in range(1, 201) for b in range(1, 201))
print("true for all 40,000 pairs:", always)
8% of 50 = 4 and 50% of 8 = 4
4% of 75 = 3 and 75% of 4 = 3
16% of 25 = 4 and 25% of 16 = 4
3% of 200 = 6 and 200% of 3 = 6
true for all 40,000 pairs: True
It works because both are really the same multiplication: x × y ÷ 100. Multiplication gives the same answer in either order, so you can choose whichever version is easier to do in your head. The program checks it for all forty thousand pairs of whole numbers from 1 to 200, and it holds every time. It is not a coincidence. It is a property of multiplication.
Percentage increase and decrease
Percentage change tells you how much something has grown or shrunk, compared with where it started:
Percentage change = (new value − old value) ÷ old value × 100
A positive answer is an increase and a negative answer is a decrease. The part people get wrong is dividing by the wrong number. Always divide by the old value, the one you are comparing from. If marks go from 60 to 72, the change is 12, and 12 out of the original 60 is 20%.
Reverse percentages: finding the original amount
This is the question that catches almost everyone. A jacket costs 1,800 in a sale that takes 25% off. What was the original price? Many people add 25% of 1,800 back on, getting 2,250. That is wrong.
The trick is to ask what the 1,800 represents. After 25% off, you are paying 75% of the original. So 1,800 is 75% of the original, and the original is 1,800 ÷ 0.75 = 2,400. Check: 25% of 2,400 is 600, and 2,400 − 600 = 1,800. It works.
def percent_change(old, new):
return (new - old) / old * 100
print(f"Marks 60 -> 72: {percent_change(60, 72):+.1f}%")
print(f"Price 2400 -> 1800: {percent_change(2400, 1800):+.1f}%")
# reverse percentage: the price AFTER 25% off is 1800. What was it before?
after, discount = 1800, 25
before = after / (1 - discount / 100)
print("original price:", before)
# the trap: up 20%, then down 20%
price = 1000
price = price * 1.20
print("after +20%:", price)
price = price * 0.80
print("after -20%:", price, "(not back to 1000)")
Marks 60 -> 72: +20.0%
Price 2400 -> 1800: -25.0%
original price: 2400.0
after +20%: 1200.0
after -20%: 960.0 (not back to 1000)
Three traps that catch adults too
- Up and down by the same percentage. The last lines of the program above show it: 1,000 up 20% is 1,200, but down 20% from 1,200 is 960. The two 20%s are of different amounts. This is why a share that falls 50% needs to rise 100% to recover.
- Adding percentages that are of different things. A 20% discount followed by a further 10% off is not 30% off. The second 10% is taken from the already reduced price, so the total is 28% off.
- Percent versus percentage points. If an interest rate rises from 4% to 5%, it has gone up by one percentage point, but by 25% of its old value. News headlines mix these up constantly, sometimes on purpose.
Working out exam marks as a percentage
For students, the most common percentage calculation is marks. Divide the marks scored by the maximum, then multiply by 100. The trap is working out an overall percentage when subjects are marked out of different totals:
scores = {"Maths": (88, 100), "Science": (71, 80), "English": (46, 60), "Computer Science": (97, 100)}
total, out_of = 0, 0
for subject, (got, maximum) in scores.items():
total += got
out_of += maximum
print(f"{subject:<17} {got:>3}/{maximum:<3} = {got / maximum * 100:5.1f}%")
print(f"{'Overall':<17} {total:>3}/{out_of:<3} = {total / out_of * 100:5.1f}%")
average_of_percents = sum(g / m * 100 for g, m in scores.values()) / len(scores)
print(f"Average of the four percentages = {average_of_percents:.1f}% (not the same thing)")
Maths 88/100 = 88.0%
Science 71/80 = 88.8%
English 46/60 = 76.7%
Computer Science 97/100 = 97.0%
Overall 302/340 = 88.8%
Average of the four percentages = 87.6% (not the same thing)
The overall percentage adds up all the marks and divides by all the maximums. Averaging the four subject percentages gives a slightly different number, because it treats a paper out of 60 as if it counted the same as one out of 100. Which one is "right" depends on how your school or board calculates it, so always check the rule before comparing results.
How to practise percentages
- Shopping: estimate every discount before the till does. 30% off 1,450? 10% is 145, so 30% is 435.
- Restaurant bills: work out 10%, 15% and 20% of the total at the table.
- News: when a headline quotes a percentage, ask "of what?" and whether it means percent or percentage points.
- Code: write a tiny program, like the ones above, that checks your mental answers. It is also a gentle introduction to programming. Our guide to mental maths tricks has more number-sense techniques.
The same habit works for any calculation: round, estimate, then compare. Our guide to estimation in maths covers the method, Fermi problems and the quick check that catches most calculator mistakes.
Find 10%, find 1%, and you can find anything. Then ask: a percentage of what?
How we teach it
Our live online maths classes start from a question worth answering, such as whether a sale price is really a bargain, and only then reach the formula, in line with the approach on our how we teach page. For students who enjoy it, maths and code support each other, which is the idea behind learning coding and maths together. Classes are one to one or in small groups of 5 to 10, for ages 6 to 67.
Frequently asked questions
Multiply the number by the percentage and divide by 100. For example, 17% of 240 is 17 x 240 / 100 = 40.8. In your head, find 10% by dividing by 10 and 1% by dividing by 100, then add the pieces you need.
Divide the part by the whole and multiply by 100. For example, 42 out of 50 is 42 / 50 x 100 = 84%.
Percentage increase = (new value - old value) / old value x 100. Always divide by the original value. A rise from 60 to 72 is 12 / 60 x 100 = 20%.
Divide the sale price by the fraction of the original you actually paid. After 25% off you pay 75%, so divide by 0.75. A sale price of 1,800 means an original price of 1,800 / 0.75 = 2,400.
Because the two percentages are taken of different amounts. 20% of 1,000 is 200, taking you to 1,200. 20% of 1,200 is 240, taking you down to 960. You end 4% below where you started.
Yes, always. Both equal x times y divided by 100, and multiplication gives the same answer in either order. So 8% of 50 is the same as 50% of 8, which is 4.
Percentage points measure the simple difference between two percentages, while percent measures the relative change. A rate rising from 4% to 5% has risen by 1 percentage point, which is a 25% increase in the rate itself.