Field note · October 3, 2025
The average gdp per capita usd is not the typical one
A 29.9% gap between mean and median on one column, and which of the two answers the question you were asked.
Every skewed column has the same conversation attached to it, so here it is once, on gdp_per_capita_usd in world-indicators.
The mean is 26,959. The median is 20,761. That is a gap of 29.9%, and it is not noise — the p90 is 60,349 and the max is 140,012, so the top of the distribution is dragging the average somewhere a minority of rows actually live.
select
avg(gdp_per_capita_usd) as mean,
percentile_cont(0.5) within group (order by gdp_per_capita_usd) as median,
percentile_cont(0.9) within group (order by gdp_per_capita_usd) as p90,
max(gdp_per_capita_usd) as max
from world_indicators;The practical consequence is that "average gdp per capita usd" answers a question nobody asked. If someone wants to know what a typical row looks like, the median answers it. If someone is forecasting a total, the mean is the right tool and the skew does not matter, because the mean times the count is the total.
So the rule is not "never use the mean". It is: name which question you are answering, then pick the statistic that answers it. A report that shows 26,959 with no median next to it has quietly decided you meant the first question.
There is a longer version of this in Describing a column without lying, and the pattern is the short one.