Skip to content
Start free

Can you average percentages?

Combine several stores' rates by adding first and dividing last, and see why an average of percentages misleads.

Free course. Your Maestro, an AI, .

The sales director wants a single number for the 2025 repeat purchase rate. Someone opens the spreadsheet, sees the column with the rate for each of the 24 stores and asks Excel for the average: 48.8%.

It's a calculation people make in thousands of offices every day. But on the percentage points page, the whole chain's repeat purchase rate came out to 39.0%. Which one is right?

Check yourself: The average of the 24 stores' repeat purchase rates is 48.8%. The chain's rate, counting all customers together, is 39.0%. Why are they so different?

You can't just average one percentage per store

Each store's percentage is a division with its own denominator: Centro divides by 10,400 customers, El Encino by 340. When you average the percentages, you throw the denominators away and treat the two stores as if they had the same number of customers.

For the percentage of the total, the rule is: add up the tops, add up the bottoms, and divide last.

chain repeat purchase rate = (sum of customers who bought again) ÷ (sum of customers) × 100

It's the same denominator rule: the chain's percentage is "of all the chain's customers," so the denominator is all the chain's customers.

Two stores together

Worked example · 5 steps

Centro has 10,400 cardholder customers, and 3,120 bought again (30.0%). El Encino has 340, and 220 came back (64.7%). What percentage of the two stores' customers combined bought again?

Work out the next step yourself, then open it to compare.

In the chart, each point is a store: across, how many customers it has; up, its 2025 repeat purchase rate. The stores with the most customers are at the bottom; the little ones are at the top. That's why the average of percentages, which counts them all equally, comes out higher than the total.

If you don't see why the total lands so close to the big store, ask your Maestro.

Synthetic course data: Tiendas La Ceiba, 2025.

If your work has a column of percentages by region, team or month that someone averages, ask your Maestro how to get the total.

Try it

The query below gets the average of the 24 repeat purchase rates: it calculates each store's percentage and then averages them with AVG. Add a second column, recompra_de_la_cadena, that adds first and divides last: SUM(recompraron_2025) * 100.0 / SUM(clientes_2025), inside ROUND(..., 1).

Return one row with promediodeporcentajes and recompradelacadena, both rounded to one decimal place. You're done when you see 48.8 and 39.0: almost ten points apart, from the same data.

Your turn

Return one row with promedio_de_porcentajes and recompra_de_la_cadena, both rounded to one decimal place. You're done when you see 48.8 and 39.0: almost ten points apart, from the same data.

Tables: sucursales (sucursal, municipio, ventas_2024, ventas_2025, clientes_2024, recompraron_2024, clientes_2025, recompraron_2025)

sucursales · 24 rows

ColumnType
sucursal Nombre de la sucursal.VARCHAR
municipio Municipio (ficticio) donde está.VARCHAR
ventas_2024 Ventas del año 2024, en pesos.BIGINT
ventas_2025 Ventas del año 2025, en pesos.BIGINT
clientes_2024 Clientes con tarjeta que compraron en 2024.BIGINT
recompraron_2024 De esos clientes, cuántos volvieron a comprar en menos de 90 días (2024).BIGINT
clientes_2025 Clientes con tarjeta que compraron en 2025.BIGINT
recompraron_2025 De esos clientes, cuántos volvieron a comprar en menos de 90 días (2025).BIGINT

First rows

sucursalmunicipioventas_2024ventas_2025clientes_2024recompraron_2024clientes_2025recompraron_2025
CentroCiudad Ceiba412000004380000098002840104003120
ChapultepecCiudad Ceiba27900000261000007100220069002140
Plaza NorteCiudad Ceiba940000010100000260096027501070

Every run starts from fresh copies of the course's tables, so try anything.

Ready to run your query.

Run it yourself

So the 48.8% is useless?

It answers a different question: how is the typical store doing?, counting every store equally, whatever its size. If management wants to know whether the loyalty program works in the small-town stores, that question makes sense. What you can't do is present it as "the chain's repeat purchase rate."

The same trap shows up with averages of averages: each store's average ticket, each group's average rating, each route's average delivery time. If the groups are different sizes, the average of the averages is not the average of everyone. Add up the tops, add up the bottoms, divide last.

When you write the number, say which one it is:

The chain's repeat purchase rate was 39.0% (15,450 of 39,650 customers). The typical store does better: the average of the 24 is 48.8%, because the small stores have higher rates than the big ones.

Check yourself: Three regions report their percentage of late deliveries: 10%, 20% and 60%. What's the percentage of late deliveries for the whole company?

Think of a report at work that has percentages or averages by group (by region, by team, by month). Does anyone average them to get a total? How different are the sizes of those groups?

Reflect: Think of a report at work that has percentages or averages by group (by region, by team, by month). Does anyone average them to get a total? How different are the sizes of those groups?

Only you and your Maestro read this. It's kept on your account and deleted with it.

Write your answer