You are currently viewing GDP problems, but what solutions?

GDP problems, but what solutions?

Suppose you want to measure how well a country is doing. If you’re an economist you will be immediately reaching for your trusted variant of the GDP per capita metric. There’s quite a few variants to choose from as multiple organizations estimate these, and there’s subtypes of these too. But what exactly is GDP? Gross Domestic Product is what exactly?

GDP is a metric that measures the production level of a country’s economy, commonly defined as the total annual value of the goods and services produced in that country. GDP is one of the well-known economic indicators, widely used by both investors and market analysts. It is intended to gauge the overall size, in terms of productive output, of an economy, as well as its current growth rate.

And the comparison to GNI (Gross National Income):

While gross domestic product (GDP) is among the most popular of economic indicators, gross national income (GNI), is quite possibly a better metric for the overall economic condition of a country whose economy includes substantial foreign investments. This is because the GNI calculates an economy’s total income, regardless of whether the income is earned by nationals within the country’s borders or derived from investments in foreign business. GNI and GDP may vary considerably because of the basic fact that they measure different things.

Does it matter much? Well, let’s look:

The data are from the World Bank, via OWID (GNI, GDP). They are based on the same correction for what money can buy (PPP):

The purchasing power parity indicator can be used to compare economies regarding their gross domestic product (GDP), labour productivity and actual individual consumption, and in some cases to analyse price convergence and to compare the cost of living between places.[3] The calculation of the PPP, according to the OECD, is made through a basket of goods that contains a “final product list [that] covers around 3,000 consumer goods and services, 30 occupations in government, 200 types of equipment goods and about 15 construction projects”.[4]

The correlation is near perfect, r = .99. Yet we see some weird outliers in Ireland, Luxembourg, and Puerto Rico. Ireland must have something to do with their tax haven, Luxembourg with EU headquarters, and Puerto Rico with being a quasi-independent dependency of USA. Aside from that, we see that GNI is generally larger than GDP, as would be expected based on the definitions given above.

We also note the first problem with these kinds of metrics, namely that they are somewhat desynchronized from the overall impression you get of a country by going there. Special economic factors like natural resources (chiefly oil), and tax haven status can have a big impact on the GDP/GNI metrics. Take the case of Ireland in particular:

There are multiple points to note:

  • Ireland’s performance is through the roof recently, becoming even richer than Norway, USA, and Saudi Arabia. But this is largely fake wealth, as the average, or even any, Irish person doesn’t see much change. We’ll get to that.
  • Similarly, Norway separated itself from Denmark and Sweden, largely because their oil and gas reserves are much larger.
  • Saudi Arabia is far wealthier than Jordan, its neighbor to the north, again, oil.
  • Japan is fairly wealthy, but basically lacks any kind of natural resources aside from fishing.

As a measure of the overall well-being, “how well a country is doing”, GDP/GNI are somewhat flawed as average citizens don’t generally benefit so much from tax haven status or natural resources. They benefit to some degree, but how can we better get at this idea? Well, we could look at something more concerned with the average citizen, incomes:

The correlation is still extremely strong, r = .94. Ireland is now looking much more sensible, being ranked among Belgium, United Kingdom, and Finland. It’s a big outlier, having a much higher GNI than average income. Yet we might still be concerned that the truly average person isn’t reflected by the average. Some billionaire who pays his taxes in Ireland would massively inflate the value for the regular Jack at the Irish pub. We can avoid this by looking at the median (50th centile) incomes:

There isn’t much difference overall, r = .99. The mean incomes are always always larger than the median incomes, which is really just saying that the distribution of income has a long tail of very high incomes. There are some anomalies, like China has a median income of 0 for some reason. The further right from the orange line a country lies, the more skewed the distribution, so the biggest outliers are USA, Australia, Panama, but not so much Ireland. Looking at the median income, we also note that USA’s advantage over Europe has shrunk quite a bit from the initial GDP/GNI plots.

Another issue with the metrics is that they are sensitive to the age distribution. Since people make the most money in their 40-50’s, and countries differ in their age distributions, we can expect some effect of this. The poor parts of the world has very high fertility and high mortality, hence a lot of people in their young ages where they earn little money. Similarly, the Western world is aging and will be decaying from having a lot of retired people, who don’t contribute. When that happens their average incomes will be decreased from what they would otherwise be. Unfortunately, I don’t know of any dataset that has tried to estimate the average/median income for countries for a specific age range.

But you might still ask, what does money buy? Does it relate that strongly to the overall well-being of a country. That leads us to ask how we could quantify this. The most famous attempt at this is the United Nations’ Human Development Index, which is composed of three indicators: educational attainment expectancy, GNI, and life expectancy. So really education, money, and health. Here’s how it relates to median income:

The correlation is decent, r = .78, but obviously, it is non-linear. More money buys you less in some sense as a function of how much money you already have. But actually we are cheating a bit here because HDI already includes GNI as one of it’s indicators and it has been log-transformed. Do we have a better alternative index of country well-being overall? Yes. My go-to resource is the Social Progress Index (SPI). It’s an index and a big collection of national indicators made by some sociologists who hate economic metrics:

Progress on social issues does not automatically accompany economic development. Rising income usually brings major improvements in areas such as access to clean water, sanitation, literacy, and basic education. But on average, personal security is no better in middle-income countries than in low-income ones and is often worse. And too many people—regardless of income—live without full rights and experience discrimination or even violence based on gender, religion, ethnicity, or sexual orientation. Traditional measures of national income, such as GDP per capita, fail to capture the overall progress of societies. [SPI executive summary, 2022]

Their index includes basically everything except for economics:

The 2022 Social Progress Index® uses 12 components and 60 indicators to measure the social performance of 169 countries fully and an additional 27 countries partially, it is our most extensive yet. By looking back on our progress since 2011 we are able to better understand the direction of travel so we can see clearly the strides we are making and where we are falling behind. It gives us a good picture of how people across the world are living, what their needs are and provides an indication of what needs to happen to improve lives.

How does it compare to median incomes?

It relates about the same as HDI above, and has the same nonlinear, diminishing returns function. So let’s fix that with a log transformation:

The correlation is much improved, from .78 to .92. I had to remove India and China as their median incomes were given as 0 in this dataset (the median ages in these countries are 28 and 38, so this doesn’t appear explainable by some age composition quirk). Now we see that United Arab Emirates isn’t doing quite as well as it’s income suggests. USA is also not ahead of the other Western countries. Here’s the top 25:

SPI rank Country Median income, 2021, log10 SPI 2019
1 Norway 4.36 90.78
2 Denmark 4.24 90.56
3 Finland 4.21 90.48
4 Switzerland 4.33 89.60
5 Iceland 4.23 89.50
6 Netherlands 4.23 89.39
7 Sweden 4.25 89.22
8 Germany 4.23 88.77
9 Australia 4.23 88.12
10 Canada 4.27 87.96
11 Luxembourg 4.42 87.92
12 Ireland 4.16 87.78
13 Japan 4.15 87.68
14 Austria 4.26 87.43
15 New Zealand 87.37
16 Belgium 4.21 87.12
17 United Kingdom 4.17 86.53
18 France 4.21 86.35
19 South Korea 4.10 85.64
20 Spain 4.07 85.49
21 Slovenia 4.07 85.35
22 Estonia 4.03 85.29
23 USA 4.29 85.14
24 Portugal 3.93 85.00
25 Czech Republic 4.00 84.48


I had to include the top 25 because USA is all the way down to rank 23 now! Now all the top countries are the top European countries ‘everybody’ is trying to imitate:

In his 2011 book, The Origins of Political Order, Francis Fukuyama says, “The problem of creating modern political institutions has been described as the problem of ‘Getting to Denmark.’” He goes on to explain, “Denmark is a mythical place that is known to have good political and economic institutions: it is stable, democratic, peaceful, prosperous, inclusive, and has extremely low levels of political corruption.” He notes that international development experts hold up Denmark as a model for what they are trying to achieve in countries like Iraq and Nigeria—but that none of them knows the slightest thing about how Denmark became Denmark. He later offers a short account of that process, featuring this key sentence: “If there is a single event that sent Denmark and other parts of Scandinavia off on a distinct development path, it was the Protestant Reformation.”

But one can certainly attack the SPI because it includes a lot of dubious leftist metrics as part of it, and no economics:

So the reason USA ranks poorly is because of crime (true), but also due to “political killings and torture” (defined as “Physical violence index is based on indicators that reflect violence committed by government agents and that are not directly referring to elections.”) which is basically nonexistent but which in the minds of Woke people is high. Somehow USA also gets a poor score for women’s property rights. Presumably this is also based on some semantic tricks where actual inequality is taken as measure of legal or cultural discrimination (nonexistent).

What can we do about this political bias problem? Well, instead of using their pre-made index, we could compute our own. We have some options. We could simply get rid of the indicators we consider politically biased, and then score the remaining variables. Scoring itself can be done using the average z-score, or exploratory factor analysis (EFA), or confirmatory factor analysis. The latter allows us to allow for group factors in the dataset. In this way, the data can be modeled as reflecting a general factor of socioeconomic status, or well-being, as well as having several orthogonal sub-components, say, freedom, economics, or equality. As far as I know, no one has tried modeling cross-national data this way. If we try the simplest approach first, namely EFA of the SPI indicators (60 variables), it looks like this:

There is a strong general factor (47% variance), and the loadings of the various indicators are more or less as expected. Child stunting is bad, child mortality bad; access to health care services is good, life expectancy is good. The leftist indicators don’t seem to particularly low factor loadings, and so there is no empirical justification here for just excluding them. Nevertheless, we can compare the scores on this factor analysis based score with the scores from their theoretical model:

It didn’t matter much in the global scheme of things, r = .99. Here’s the top list for comparison:

Country SPI 2019 SPI EFA SPI 2019 rank SPI EFA rank Rank diff
Netherlands 89.39 1.61 6 1 5
Norway 90.78 1.58 1 2 -1
Luxembourg 87.92 1.58 11 3 8
Germany 88.77 1.54 8 4 4
Sweden 89.22 1.54 7 5 2
Canada 87.96 1.53 10 6 4
Switzerland 89.60 1.50 4 7 -3
Finland 90.48 1.49 3 8 -5
France 86.35 1.48 18 9 9
Iceland 89.50 1.47 5 10 -5
Denmark 90.56 1.46 2 11 -9
Japan 87.68 1.46 13 12 1
Australia 88.12 1.41 9 13 -4
Ireland 87.78 1.40 12 14 -2
United Kingdom 86.53 1.40 17 15 2
Belgium 87.12 1.39 16 16 0
New Zealand 87.37 1.38 15 17 -2
Slovenia 85.35 1.35 21 18 3
Austria 87.43 1.35 14 19 -5
Czech Republic 84.48 1.27 25 20 5
Estonia 85.29 1.25 22 21 1
Italy 84.41 1.22 26 22 4
Spain 85.49 1.22 20 23 -3
Portugal 85.00 1.20 24 24 0
Cyprus 82.21 1.12 30 25 5
USA 85.14 1.12 23 26 -3
Singapore 83.36 1.12 27 27 0
Malta 83.23 1.11 28 28 0
South Korea 85.64 1.09 19 29 -10
Slovakia 80.55 1.05 36 30 6


I had to include top 30 to include USA, as it lost another 3 positions down to 26. The biggest losers from this theoretically better scoring method are South Korea, Denmark, Iceland, Finland. Looks like some kind of pro-Nordic bias in their theoretical scoring. The Nordic countries still have positions 2, 5, 8, 10, and 11 (mean of 7.2), vs. before of 1, 2, 3, 5, 7 (mean of 3.6).

But it isn’t really right to leave out economics from country well-being measurement, so let’s include it and rerun the results. I decided on GDP per capita (log10) as the indicator to include, as it’s the most widely discussed. We can’t easily include multiple economic indicators because their correlations are so high (>.93). In the results, GDP per capita had a factor loading of .93, the second highest of any indicator, so it was clearly a mistake to leave economics out to begin with. This didn’t change much in terms of the country rankings, though. USA remained at the 26th place, but Ireland moved 8 positions up. I’m not sure how this can happen considering USA’s high ranking on GDP per capita, similar to Ireland, but presumably it has something to do with the other factor loadings changing slightly as a result of its inclusion. Using the less biased alternative, median income, the changes are even smaller, and Ireland drops 2 positions instead of going up 8 positions (14 to 16); USA improves to the 25th place (from 26).

But even the exploratory factor analysis scores can be biased by the composition of a set of indicators. The reason for this is that including closely related indicators will resulting in that aspect being double counted. The way to get around this problem is to group related indicators and allow them to have some shared association that is independent of the general factor. This is the familiar situation from psychometrics, where typically there is a strong general factor — which might be the general intelligence factor, general factor of personality, general psychopathology factor — and some other factors causing indicators to covary. These non-general other factors are called group factors. The most obvious way to model the Social Progress Index data is to use their theoretical model. That model has a 3-level hierarchical structure, with 60 indicators, 12 first order factors, 3 second order factors, and a general factor on top. Now I tried hard to make their model work, but basically the model doesn’t fit the data very well and the models won’t converge no matter how much I torture them.

So I tried something else, namely the automatic bifactor model using psych package’s omega() function. If you suspected their model was a mess, try this one:

Uhhh. But actually what it does is fit a general factor that predicts every indicators, and 3 group factors that predict some indicators. Above, there are 3 group factors, but which number should we be using? Well, let’s try 3-10 and see if the scores agree:

We are in luck. The indifference not only of the indicator, but also of the number of group factors. Now let’s check again whether we still see a big ‘GDP bias’ in the results:

No big GDP bias in the scores. But USA has a rather low rank of 28.

We could go on and on with more models, but at some point we have to declare that there is no one correct way to construct an international ranking of countries’ well-being that isn’t arbitrary to some extent.

There is one final way we can try to figure out the best way to combine the data. We can see what correlates the most with other variables. I decided to use two external variables for this: 1) national intelligence, the main cause of the differences; 2) regional dummies, as everybody agrees that countries close to each other are more similar overall. So which metric is the best based on these criteria?

Metric cor national G cor continent cor macroregion cor region Final metric
medianIncome_log10 0.89 0.77 0.86 0.86 1.51
SPI3_EFA 0.90 0.79 0.84 0.85 1.42
SPI2_EFA 0.90 0.78 0.83 0.84 1.25
SPI_EFA 0.90 0.78 0.83 0.84 1.20
SPI_2019 0.89 0.77 0.83 0.83 0.70
meanIncome_log10 0.87 0.75 0.84 0.85 0.59
GNIpc_PPP_2019_log10 0.88 0.73 0.80 0.82 0.09
SPI_omega_10 0.86 0.74 0.82 0.83 -0.07
SPI_omega_9 0.86 0.74 0.82 0.83 -0.17
SPI_omega_8 0.85 0.73 0.82 0.83 -0.52
SPI_omega_3 0.85 0.73 0.81 0.82 -0.60
SPI_omega_4 0.84 0.73 0.81 0.82 -0.80
GDPpc_PPP_2019_log10 0.88 0.71 0.78 0.80 -0.84
SPI_omega_5 0.84 0.73 0.81 0.82 -1.00
SPI_omega_7 0.83 0.73 0.81 0.81 -1.25
SPI_omega_6 0.83 0.72 0.81 0.81 -1.51

(Final metric is the average of the z-scores of cor national G and cor region.)

Amusingly, it turns out that all the work with the SPI stuff seems unnecessary. We just need to look at the median income (PPP, log10), as the single metric that correlates the most with semi-objective external variables. Since this metric has some very odd datapoints (China and Indian at 0), and because it is hard to get, it probably cannot be used too much. The next best alternative is to use the SPI3 EFA, which, recall, is the SPI indicators combined with … the median income. In terms of the USA vs. North Europe “who is best”, the world rank for USA on these two alternatives is: 5 vs. 25, and Denmark is 10 vs. 15.


  • GDP/GNI data has bad biases from economics as a measure of overall country well-being.
  • But it is tricky to get at something better.
  • After much analysis, it appears that just using the median income (PPP, log10) is probably the best single variable, and it also works very well when combined with the SPI data in exploratory factor analysis.
  • Really though, there doesn’t seem to be any entirely non-arbitrary way to rank-order countries’ level of development or well-being.
  • It’s not possible to say whether, overall, USA or north Europe is the best country, as it depends heavily on the metrics used and the method of analysis.