How do you calculate an average percentage?
Short answer. Not by averaging the percentages. Turn each back into a count, add the parts, add the wholes, divide. 80% of 20 students plus 40% of 5 is 16 + 2 = 18 out of 25, so 72%, not the 60% the plain average gives. Averaging works only when every group is the same size.
A percentage is a fraction that has thrown away its denominator. 80% could be 4 out of 5 or 8,000 out of 10,000, and once it is written as 80% those two look identical. Averaging percentages is where that missing denominator comes back to collect.
The failure, in the smallest possible example
Two classes sit the same exam. One has 20 students and 80% of them pass. The other has 5 students and 40% pass. What percentage passed overall?
plain average of the rates (80 + 40) ÷ 2 = 60% rebuild the counts instead 80% of 20 = 0.80 × 20 = 16 passes 40% of 5 = 0.40 × 5 = 2 passes parts: 16 + 2 = 18 wholes: 20 + 5 = 25 18 ÷ 25 = 0.72 = 72%
Twelve points apart, and only one of them is a fact about anybody. Eighteen of the twenty five students in that room passed. Nobody passed at 60%. The plain average went wrong because it handed the class of 5 the same vote as the class of 20, even though it contains a quarter as many people.
The method
Add the parts, add the wholes, divide once. That is the whole procedure, and it works no matter how many groups you have or how lopsided they are:
average percentage = (sum of the parts) ÷ (sum of the wholes) × 100
The one thing it needs is the wholes. If someone hands you three percentages with no group sizes attached, the question is not hard, it is unanswerable. Ask for the counts.
A bigger one, with a table
Three email campaigns. The rates are all small, the difference is not:
| Campaign | Sent | Clicks | Rate |
|---|---|---|---|
| A | 1,200 | 60 | 5% |
| B | 300 | 30 | 10% |
| C | 500 | 20 | 4% |
| All three | 2,000 | 110 | 5.5% |
plain average (5 + 10 + 4) ÷ 3 = 19 ÷ 3 = 6.3333...% parts over wholes (60 + 30 + 20) ÷ (1200 + 300 + 500) = 110 ÷ 2000 = 0.055 = 5.5%
Campaign B is the one doing the damage. It has the best rate and the smallest audience: 300 of the 2,000 messages, so 15% of the send, given a third of the weight. Report 6.3333% and you have described a campaign that was never run.
When you only have the rates
Sometimes the counts are gone but the relative sizes survive. Then weight each percentage by its share of the total and add the products, which is the ordinary weighted average applied to rates:
class of 20 of 25 -> weight 20 ÷ 25 = 0.8
class of 5 of 25 -> weight 5 ÷ 25 = 0.2
80 × 0.8 = 64
40 × 0.2 = 8
-------
72%
campaigns, by share of the 2,000 sent
5 × 0.60 = 3
10 × 0.15 = 1.5
4 × 0.25 = 1
-------
5.5%
Same answers as before, which is the point: parts over wholes and a size weighted average are the same calculation wearing different clothes. The plain average is that calculation with every weight forced to be equal, which is a claim about your data, not a neutral default.
When the plain average is fine
Equal denominators, and only equal denominators. Four tests, each marked out of 25:
88%, 92%, 76%, 100% all out of 25 plain average (88 + 92 + 76 + 100) ÷ 4 = 356 ÷ 4 = 89% parts over wholes 22 + 23 + 19 + 25 = 89 marks 25 + 25 + 25 + 25 = 100 marks 89 ÷ 100 = 89%
Both routes give 89 because the wholes are identical, so weighting them changes nothing. Note that "each test is worth 25 marks" is a statement about the tests, not about the scores. If the final counted double, the equality is gone and you are back to weighting, which is what grade weights and GPA credit hours are for.
Percentage changes never average
A different trap wearing the same hat. Percentage changes multiply rather than add, so averaging them is wrong even when the groups are identical in size. Three years of growth at 10%, 20% and 30%:
true result 1.10 × 1.20 × 1.30 = 1.716 a 71.6% rise plain average, 20% a year 1.20 × 1.20 × 1.20 = 1.728 too high the honest yearly rate is the cube root 1.716 ^ (1÷3) = 1.1972157... -> about 19.7216% a year
And the classic: up 50%, then down 50%, is not zero. 1.5 × 0.5 = 0.75, a 25% loss. Percentages of different bases are not the same currency, and adding them up treats them as if they were.
The other reason your percentages do not add up
Even with the right method, the display can lie a little. Three equal shares of a total are 1/3 each, and 1/3 has no exact decimal:
1/3 + 1/3 + 1/3 = 1 exactly, as fractions 33.33% + 33.33% + 33.33% = 99.99% as rounded percentages
That missing hundredth is rounding, not arithmetic, and it compounds if you keep calculating with the rounded figures. It is the same thing that makes 0.1 + 0.2 miss 0.3 on most calculators. A calculator that works in exact rationals holds the thirds as thirds and only rounds when it draws the number on screen, so the total stays 100% until you ask it to be something else.
Three questions to ask before you average anything
Are the denominators the same? If yes, average away. If no, get the counts and divide the totals. And is this a rate or a change? Changes compound, so multiply them and take the root instead. Everything else about calculating an average is just sum over count.
Keep the parts and the wholes where you can see them
Prism's percentages tool turns a rate back into a count and back again, and every entry stays in a searchable history, so you can total two columns without retyping either one. Percentages and history are free forever, no ads and no subscription. See the app.