Global Wealth Distribution

A weekly series of quick random charts made in Python 🐍

The chart of this week is a stacked bar on the Global Wealth Distribution. The data for this chart was published by Credit Suisse in their Global wealth reports 2011 to 2021. In these reports, wealth or net worth, is define broadly as “the value of financial assets plus real assets (such as housing) owned by households, minus their debts”. Moreover, they consider the following particular inclusions and exclusions:

  • Private pension fund assets are included, but not entitlement to state pensions.
  • Human capital is excluded altogether, along with assets and debts owned by the state.
  • The relatively small amount of wealth owned by children is excluded. All the figures refer to the global adult population.

Why household wealth matters?

Wealth is a key component of the economic system. It is used as a store of resources for future consumption, particularly during retirement. It also enhances opportunities for informal sector and entrepreneurial activities when used either directly or as collateral for loans. But, most of all, wealth is valued for its capacity to reduce vulnerability to shocks such as unemployment, ill health, natural disasters or indeed a pandemic.

Credit Suisse

Extreme Inequality in Global Wealth

πŸ”· Only 1.1% of the population (around 56 million people) controls more than 45% of the total wealth in the world.

πŸ”· The people in the two upper wealth groups together — i.e. those adults with a wealth of more than \$100K — constitute only 12% of the total population but control almost 85% of the global wealth. In contrast, 55% o the adult population (around 2.9 billion people) hold only 1.3% of the total wealth in the world.

πŸ”· That is, if the world had only 100 people and a total wealth of $100, then

πŸ”Ά the 12 wealthiest individuals would own \$85 among them, ($7.1 each one in average)

πŸ”Ά the next 33 wealthiest individuals would own \$14 among them, ($0.42 each one in average)

πŸ”Ά the remaining 55 individuals would own only \$1among them, ($0.02 each one in average)

graphically this looks as follows.


πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅
πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅
πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅
πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅ πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅πŸ’΅
Global Wealth Distribution in 2020 in terms of percentages.
We can think this as follows, if the world 🌎 had only 100 people πŸ‘€ and the total wealth was $100πŸ’΅ then
the 12 wealthiest people would own \$85 together, 33 people would own \$14 together, and the rest 55 people all together would own only \$1 (that is like 2 cents each one in average).

Year on Year Change

πŸ”·Looking at the year on year figures we can observe that the wealthiest group (over $1M) was the only one which increased the percentage of owned wealth in the last year going from 43.4% to 45.8%. Credit Suisse also pointed out that 2020 marked the year when, for the first time more than 1% of all adults are dollar millionaires.

πŸ”·In contrasts, the less wealthy group (those adults with less than $10K) decreased their percentage of wealth owned — going from 1.4% in 2019 to 1.3% in 2020 — and increased in terms of the percentage of adults going from 53.6% to 55%. Credit Suisse notes that about 30% of adults in developed countries fall within this group. In lower-income countries, more than 80% of the population belongs to this group.

10 Years Change in Global Wealth

πŸ”·Finally, we looked at the change in the global wealth distribution over the last 10 years. The data shows that increase in inequality in the year on year comparison is not a one-off event but a phenomena which has been observed consistently over the last 10 years.

Python Code

# Author: @QuantGirl
# Title: Global Wealth Distribution
# Source: The Global Wealth report 2021 by Credit Suisse 
# Type: Stacked Bar Chart

from functools import reduce

import matplotlib.pyplot as plt
import operator
import pandas as pd

my_palette = ["#414287", "#1f858f", "#3fb971", "#7dc356"]

data = pd.DataFrame({"Less than $10K": [5.5, 1.3, 2879, 55],
                     "$10k - $100k": [57.3, 13.7, 1715, 32.8],
                     "$100k - $1M": [163.9, 39.1, 583, 11.1],
                     "Over $1M": [191.6, 45.8, 56, 1.1],
                     "Labels": ['Total Wealth', 'Share of Global Wealth',
                                'Number of Adults', 'Share of Adult Population']

font_title = {'family': 'serif',
              'fontname': 'PT Serif Caption',
              'weight': 'bold',
              'size': 28

font_labels = {'family': 'serif',
               'fontname': 'PT Serif Caption',
               'weight': 'bold',
               'color': 'black',
               'size': 16,

font_sublabels = {'fontname': 'Arial',
                  'weight': 'bold',
                  'color': 'white',
                  'size': 16,

fig, ax = plt.subplots(figsize=(14, 14), frameon=True)

plt.text(x=0.5, y=0.9, s="The Global Wealth Distribution", ha="center", transform=fig.transFigure,

ax.plot([0.05, 0.95], [0.87, 0.87], color="black", linewidth=1, clip_on=False, transform=fig.transFigure)

data.loc[['Share of Adult Population', 'Share of Global Wealth']].plot(kind='bar', stacked=True, ax=ax,

ax.spines[['top', 'right']].set_visible(False)

ax.tick_params(axis='y', direction='in',
               which='both', right=False, left=False, labelleft=False, labelright=False,

ax.tick_params(axis='x', direction='in', which='both',
               bottom=False, top=False,
               labelbottom=False, labeltop=True, pad=40, labelsize=16, labelcolor='black')

ax.set_xticklabels(['Adult Population\n Million People', 'Total Wealth \n USD', ])

for tick in ax.get_xticklabels():
    tick.set_fontname("PT Serif Caption")


plt.text(x=0.05, y=0.05, s="Source: Credit Suisse Global Wealth Databook, 2021", ha="left",
         fontdict={'fontname': 'Arial',
                   'color': 'grey',
                   'size': 14, })

plt.text(x=0.95, y=0.05, s="@QuantGirl", ha="right",
         fontdict={'fontsize': 18, 'fontweight': 'bold',
                   'family': 'sans-serif', 'fontname': 'PT Serif Caption',
                   'color': '#a70684'})

plt.subplots_adjust(top=0.75, bottom=0.1, left=0.2, right=0.90)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to top
%d bloggers like this: