GDP per capita growth (annual %)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 1.29 -165% 114
Albania Albania 5.16 +0.494% 15
Andorra Andorra 2.01 +78.7% 93
United Arab Emirates United Arab Emirates 0.0104 -102% 145
Argentina Argentina -2.06 +8.74% 167
Armenia Armenia 3.48 -58.9% 46
Antigua & Barbuda Antigua & Barbuda 3.82 +101% 36
Australia Australia -0.627 -165% 151
Austria Austria -1.68 -13.1% 164
Azerbaijan Azerbaijan 3.57 +190% 44
Burundi Burundi 0.849 -976% 122
Belgium Belgium 0.258 -8.14% 138
Benin Benin 4.84 +30.7% 19
Burkina Faso Burkina Faso 2.65 +308% 71
Bangladesh Bangladesh 2.96 -34% 65
Bulgaria Bulgaria 2.85 +30.6% 69
Bahrain Bahrain 2.26 +428% 79
Bahamas Bahamas 2.9 +13.5% 67
Bosnia & Herzegovina Bosnia & Herzegovina 3.15 +20.1% 58
Belarus Belarus 4.52 -3.7% 28
Belize Belize 6.6 -825% 8
Bermuda Bermuda 2.2 -55.9% 82
Bolivia Bolivia 0.00312 -99.8% 146
Brazil Brazil 2.98 +5.07% 61
Barbados Barbados 3.75 -8.2% 38
Brunei Brunei 3.35 +888% 50
Botswana Botswana -4.56 -398% 175
Central African Republic Central African Republic -1.86 +411% 165
Canada Canada -1.44 +4.16% 160
Switzerland Switzerland -0.335 -41.7% 148
Chile Chile 2.09 -10,777% 90
China China 5.11 -7.56% 16
Côte d’Ivoire Côte d’Ivoire 3.4 -11% 48
Cameroon Cameroon 0.997 +79.4% 119
Congo - Kinshasa Congo - Kinshasa 3.27 -36.2% 53
Congo - Brazzaville Congo - Brazzaville 0.149 -128% 142
Colombia Colombia 0.656 -260% 130
Comoros Comoros 1.45 +31.8% 110
Cape Verde Cape Verde 6.75 +38.7% 7
Costa Rica Costa Rica 3.83 -17.2% 35
Czechia Czechia 0.952 -152% 121
Germany Germany 0.229 -159% 141
Djibouti Djibouti 4.52 -23.3% 27
Dominica Dominica 2.52 -39.1% 75
Denmark Denmark 3.16 +81.5% 57
Dominican Republic Dominican Republic 4.07 +216% 33
Algeria Algeria 1.87 -26.9% 98
Ecuador Ecuador -2.84 -358% 171
Egypt Egypt 0.64 -68.4% 131
Spain Spain 2.18 +47% 86
Estonia Estonia -0.385 -91.5% 149
Ethiopia Ethiopia 4.58 +18.8% 26
Finland Finland -1.1 -23.7% 157
Fiji Fiji 3.31 -52.5% 51
France France 0.828 +36.2% 123
Micronesia (Federated States of) Micronesia (Federated States of) 0.247 +1,035% 139
Gabon Gabon 1.18 +441% 115
United Kingdom United Kingdom 0.0287 -103% 144
Georgia Georgia 10.7 +37.7% 3
Ghana Ghana 3.72 +213% 39
Guinea Guinea 3.17 +6.45% 56
Gambia Gambia 3.37 +39.5% 49
Guinea-Bissau Guinea-Bissau 2.53 +17.9% 74
Equatorial Guinea Equatorial Guinea -1.49 -79.7% 161
Greece Greece 2.44 -7.69% 77
Grenada Grenada 3.58 -20.9% 43
Guatemala Guatemala 2.07 +5.92% 91
Guyana Guyana 42.6 +28.8% 1
Hong Kong SAR China Hong Kong SAR China 2.7 +342% 70
Honduras Honduras 1.82 +0.503% 99
Croatia Croatia 3.64 +13.9% 41
Haiti Haiti -5.27 +76.1% 177
Hungary Hungary 0.826 -216% 124
Indonesia Indonesia 4.18 +0.275% 32
India India 5.54 -32.7% 14
Ireland Ireland -0.146 -98% 147
Iran Iran 1.96 -48.2% 96
Iraq Iraq -3.62 +110% 173
Iceland Iceland -2.28 -188% 168
Israel Israel -0.396 -66.6% 150
Italy Italy 0.739 -1.51% 127
Jamaica Jamaica -0.697 -127% 154
Jordan Jordan 1.48 +19.5% 109
Japan Japan 0.521 -73.6% 133
Kazakhstan Kazakhstan 3.46 -3.03% 47
Kenya Kenya 2.47 -29.1% 76
Kyrgyzstan Kyrgyzstan 7.16 +0.766% 6
Cambodia Cambodia 4.72 +28.8% 25
Kiribati Kiribati 3.71 +252% 40
St. Kitts & Nevis St. Kitts & Nevis 0.983 -76.7% 120
Kuwait Kuwait -4.92 -29.8% 176
Laos Laos 2.85 +23.4% 68
Liberia Liberia 2.56 +6.44% 73
Libya Libya -1.62 -118% 162
St. Lucia St. Lucia 3.63 +88.6% 42
Sri Lanka Sri Lanka 5.59 -430% 13
Lesotho Lesotho 1.62 +129% 106
Lithuania Lithuania 2.19 -308% 84
Luxembourg Luxembourg -0.651 -75.7% 152
Latvia Latvia 0.36 -87.9% 136
Macao SAR China Macao SAR China 7.51 -89.9% 5
Moldova Moldova 2.97 -27.8% 62
Madagascar Madagascar 1.69 +1.45% 102
Maldives Maldives 4.77 +9.74% 24
Mexico Mexico 0.585 -75.6% 132
Marshall Islands Marshall Islands 6.27 -845% 12
North Macedonia North Macedonia 4.8 +110% 22
Mali Mali 1.96 +19% 95
Malta Malta 1.98 -24.2% 94
Myanmar (Burma) Myanmar (Burma) -1.64 -741% 163
Montenegro Montenegro 2.99 -52.9% 60
Mongolia Mongolia 3.57 -40.2% 45
Mozambique Mozambique -1.08 -146% 156
Mauritania Mauritania 2.21 -34.9% 81
Mauritius Mauritius 4.82 -6.04% 21
Malawi Malawi -0.763 +9.93% 155
Malaysia Malaysia 3.84 +68% 34
Namibia Namibia 1.42 -23.6% 111
Niger Niger 4.92 -402% 17
Nigeria Nigeria 1.29 +78.7% 113
Nicaragua Nicaragua 2.2 -26.7% 83
Netherlands Netherlands 0.322 -135% 137
Norway Norway 1.14 -207% 118
Nepal Nepal 3.82 +85.9% 37
Nauru Nauru 1.15 +5,866% 117
New Zealand New Zealand -1.88 +74% 166
Oman Oman -2.8 -46.3% 169
Pakistan Pakistan 1.69 -207% 103
Panama Panama 1.57 -73.9% 108
Peru Peru 2.18 -246% 85
Philippines Philippines 4.82 +3.33% 20
Papua New Guinea Papua New Guinea 2.26 +15.8% 80
Poland Poland 3.3 +434% 52
Puerto Rico Puerto Rico 3.24 +221% 55
Portugal Portugal 0.753 -38.2% 126
Paraguay Paraguay 2.97 -20% 63
Palestinian Territories Palestinian Territories -28.3 +315% 178
Qatar Qatar -4.49 -463% 174
Romania Romania 0.762 -67.5% 125
Rwanda Rwanda 6.58 +11.7% 9
Saudi Arabia Saudi Arabia -2.8 -30.3% 170
Senegal Senegal 4.44 +147% 30
Singapore Singapore 2.33 -177% 78
Solomon Islands Solomon Islands 0.137 -39.4% 143
Sierra Leone Sierra Leone 1.82 -46.8% 100
El Salvador El Salvador 2.14 -30% 88
Somalia Somalia 0.414 -60.8% 135
Serbia Serbia 4.45 -1.09% 29
São Tomé & Príncipe São Tomé & Príncipe -1.1 -31.9% 158
Suriname Suriname 1.94 +20.8% 97
Slovakia Slovakia 2.15 -4.99% 87
Slovenia Slovenia 1.31 -23.3% 112
Sweden Sweden 0.658 -212% 129
Eswatini Eswatini 1.62 -34.3% 105
Sint Maarten Sint Maarten 2.07 -10.9% 92
Seychelles Seychelles 2.12 -9.84% 89
Turks & Caicos Islands Turks & Caicos Islands 4.87 -62.1% 18
Chad Chad -1.35 +151% 159
Togo Togo 2.97 -25% 64
Thailand Thailand 2.58 +24.7% 72
Tajikistan Tajikistan 6.34 +3.34% 11
Turkmenistan Turkmenistan 0.489 -88.8% 134
Timor-Leste Timor-Leste -3.33 -82.5% 172
Trinidad & Tobago Trinidad & Tobago 1.59 +22.2% 107
Tunisia Tunisia 0.718 -215% 128
Turkey Turkey 2.95 -37% 66
Uganda Uganda 3.25 +34% 54
Uruguay Uruguay 3.15 +282% 59
United States United States 1.8 -11.7% 101
Uzbekistan Uzbekistan 4.42 +6.17% 31
St. Vincent & Grenadines St. Vincent & Grenadines 4.79 -21.1% 23
Vietnam Vietnam 6.42 +47.1% 10
Vanuatu Vanuatu 1.63 -150% 104
Samoa Samoa 8.74 +2.82% 4
Kosovo Kosovo 15 +60.8% 2
South Africa South Africa -0.669 +6.2% 153
Zambia Zambia 1.16 -53% 116
Zimbabwe Zimbabwe 0.229 -93.6% 140

The indicator of GDP per capita growth (annual %) is a critical measure used to assess the economic health of a country or region. It reflects the annual percentage change in GDP per capita, which is derived by dividing the gross domestic product (GDP) by the total population. By evaluating this indicator, one can ascertain how much individual economic output is growing over time, offering insights into the standard of living and overall economic well-being of the population. In 2023, the global median value for GDP per capita growth stands at 1.92%, suggesting modest economic growth across various regions.

Understanding the importance of GDP per capita growth is essential for various stakeholders, including policymakers, economists, and international organizations. A higher GDP per capita growth rate typically correlates with improved living standards, better access to healthcare and education, and overall quality of life for citizens. On the opposite end, stagnant or declining growth rates might indicate economic difficulties, leading to heightened poverty levels and reduced public services. When closely monitored, GDP per capita growth can act as a barometer for future investment opportunities, economic strategies, and social momentum.

This indicator is often related to several other key economic indicators, such as unemployment rates, inflation rates, and income distribution. For instance, rising GDP per capita growth usually coincides with declining unemployment numbers, as businesses expand and create more job opportunities. Furthermore, a closer inspection of income distribution reveals that while GDP per capita might rise, its growth may not be equally experienced among different income groups, leading to inequality. Therefore, observing GDP per capita growth alongside other metrics can provide a more comprehensive view of economic conditions.

Several factors can affect GDP per capita growth. Economic policies and political stability play dominant roles, as uncertainty and poor governance can deter investment and stifle growth. Additionally, external factors such as global economic trends, changes in commodity prices, and trade relationships significantly influence a country's GDP performance. For example, the top-performing regions in 2023, like Macao SAR China at 74.67% and Guyana at 33.04%, likely benefit from unique economic conditions, such as booming industries or favorable trade agreements, contributing to their exceptional growth rates.

Conversely, regions facing economic distress, such as Timor-Leste (-19.0%), Sudan (-14.3%), and Kuwait (-8.88%), experience negative GDP per capita growth. These declines can stem from various issues, including political instability, conflict, economic mismanagement, and global market shifts affecting local economies. The fluctuation between the top and bottom performers underscores the disparity in economic resilience and growth strategies across diverse contexts.

To enhance GDP per capita growth, countries can implement several strategies. Investing in infrastructure boosts productivity by improving logistics and transportation, while education and workforce development programs empower individuals with skills necessary for high-demand jobs. Moreover, governments can foster innovation and entrepreneurship by providing access to capital, reducing regulatory barriers, and encouraging the development of new technologies. Involving public-private partnerships can create synergies that enhance economic potential.

Despite the positive implications of GDP per capita growth, the indicator does present some flaws. It does not account for income inequality; thus, a country might report increased per capita GDP while the wealth remains concentrated within a small population segment. Moreover, it overlooks environmental factors, failing to consider the sustainable use of resources in generating economic growth. Relying solely on this metric without contextualizing it can lead policymakers to adopt strategies that may not be beneficial for the long-term economic health of a nation.

Examining historical data further aids in understanding the trajectory of GDP per capita growth. Between 1961 and recent years, the world has seen fluctuations from as high as 4.37% in 1964 to a dramatic downturn of -3.86% in 2020, likely a consequence of the COVID-19 pandemic. Such volatility reflects the interconnectedness of global economies. In recent years, the recovery is palpable, as indicated by the growth rates of 5.48% in 2021 and 2.35% in 2022. The 1.92% growth in 2023 signals continued recovery, though at a slow pace, amidst global uncertainties.

In summary, GDP per capita growth (annual %) serves as a pivotal indicator of economic performance and individual prosperity across nations. Monitoring this metric, alongside related indicators, is crucial for understanding the broader economic landscape and implementing effective policies. By appreciating the complexities surrounding GDP per capita growth, stakeholders can strategize ways to overcome barriers, reverse negative trends, and enhance economic potential for a more equitable and prosperous future.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'NY.GDP.PCAP.KD.ZG'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'NY.GDP.PCAP.KD.ZG'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))