Adjusted net national income per capita (annual % growth)

Source: worldbank.org, 03.09.2025

Year: 2021

Flag Country Value Value change, % Rank
Afghanistan Afghanistan -21.4 141
Angola Angola -4.37 -18.8% 124
Albania Albania 12.3 -568% 12
Argentina Argentina 12.2 -247% 13
Armenia Armenia 2.38 -126% 84
Austria Austria 3.2 -147% 75
Burundi Burundi -1.95 +88.1% 112
Belgium Belgium 5.51 -178% 53
Benin Benin 5.53 +14,335% 52
Burkina Faso Burkina Faso -7.92 +405% 136
Bangladesh Bangladesh 6.53 +97.6% 41
Bulgaria Bulgaria 8.82 -965% 22
Bahamas Bahamas 13.5 -151% 10
Bosnia & Herzegovina Bosnia & Herzegovina 10.8 -641% 16
Belarus Belarus 4 -425% 66
Belize Belize 12.1 -199% 14
Bolivia Bolivia -1.87 -79.6% 111
Brazil Brazil 0.93 -129% 95
Brunei Brunei -3.24 -31.5% 121
Bhutan Bhutan -0.315 -94% 105
Botswana Botswana 1.7 -234% 91
Central African Republic Central African Republic -2.29 -30% 115
Canada Canada 8.2 -197% 26
Switzerland Switzerland 7.43 -221% 30
Chile Chile 5.8 -157% 48
China China 6.79 +7,940% 35
Côte d’Ivoire Côte d’Ivoire 0.812 +37.3% 96
Cameroon Cameroon -3.7 -272% 122
Congo - Kinshasa Congo - Kinshasa -9.35 -819% 137
Congo - Brazzaville Congo - Brazzaville 32.5 -260% 2
Colombia Colombia 6.48 -197% 42
Comoros Comoros 2.81 -263% 77
Cape Verde Cape Verde 6.87 -142% 33
Costa Rica Costa Rica 4.77 -189% 59
Cyprus Cyprus 4.39 -145% 64
Czechia Czechia 5.72 -200% 49
Germany Germany 2.5 -152% 82
Djibouti Djibouti 7.44 +325% 29
Denmark Denmark 6.18 -731% 44
Dominican Republic Dominican Republic 6.4 -180% 43
Algeria Algeria 1.95 -125% 89
Ecuador Ecuador 0.291 -105% 98
Egypt Egypt 0.0471 -98.6% 101
Spain Spain 5.68 -142% 50
Estonia Estonia 8.79 -277% 23
Ethiopia Ethiopia 3.65 -32.7% 70
Finland Finland 3.74 -404% 68
France France 8.67 -186% 24
Gabon Gabon 2.55 -126% 81
Georgia Georgia 7.53 -288% 28
Ghana Ghana -5.35 -223% 128
Guinea Guinea -2.34 -74.3% 116
Gambia Gambia -1.61 -271% 110
Guinea-Bissau Guinea-Bissau 3.59 -146% 71
Equatorial Guinea Equatorial Guinea 13.2 -295% 11
Greece Greece 9.85 -200% 19
Guatemala Guatemala 2.28 -244% 85
Honduras Honduras 5.24 -214% 57
Croatia Croatia 11.3 -215% 15
Haiti Haiti -2.35 -65.6% 117
Hungary Hungary 3.68 -185% 69
Indonesia Indonesia 4.63 -230% 61
India India 9.57 -223% 20
Ireland Ireland 16 -347% 7
Iran Iran 9.16 -28.4% 21
Iraq Iraq 18.6 -188% 5
Iceland Iceland 0.943 -108% 93
Israel Israel 6.94 -253% 32
Italy Italy 6.75 -175% 36
Japan Japan -0.802 -84.2% 107
Kazakhstan Kazakhstan -7.22 +4,437% 134
Kenya Kenya 7.88 -464% 27
Kyrgyzstan Kyrgyzstan -7.11 +1,483% 133
Cambodia Cambodia -2.42 -283% 118
Kiribati Kiribati -6.39 -49.9% 132
South Korea South Korea 3.26 -336% 74
Lebanon Lebanon -16.4 -32.6% 140
Libya Libya 29.9 +164% 3
Sri Lanka Sri Lanka 0.657 -118% 97
Lesotho Lesotho -2 +1.17% 113
Lithuania Lithuania 2.17 +219% 87
Luxembourg Luxembourg 10.4 +256% 17
Latvia Latvia 6.09 -684% 45
Morocco Morocco 6.08 -185% 46
Moldova Moldova 10.3 -258% 18
Madagascar Madagascar 3.47 -146% 72
Maldives Maldives 21.4 -160% 4
Mexico Mexico 1.74 -114% 90
North Macedonia North Macedonia 2.45 -230% 83
Mali Mali -10.2 -2,029% 138
Montenegro Montenegro 14.4 -195% 9
Mongolia Mongolia -10.6 +222% 139
Mozambique Mozambique -0.9 -84.6% 108
Mauritania Mauritania -4.52 -202% 126
Malaysia Malaysia -0.448 -91% 106
Namibia Namibia -4.46 -55.6% 125
Niger Niger 2.86 -133% 76
Nicaragua Nicaragua 0.123 -103% 99
Netherlands Netherlands 4.75 -164% 60
Norway Norway 15.1 -287% 8
Nepal Nepal 5.57 -170% 51
New Zealand New Zealand 2.27 -198% 86
Oman Oman -2.93 +57.8% 119
Pakistan Pakistan 5.85 -374% 47
Panama Panama -1.51 -86.4% 109
Peru Peru 2.06 -119% 88
Philippines Philippines -3.08 -74.7% 120
Poland Poland 6.59 +1,521% 39
Portugal Portugal 4.07 -145% 65
Paraguay Paraguay 5.43 -361% 55
Romania Romania 4.57 +3,589% 62
Russia Russia -2.2 -29.3% 114
Rwanda Rwanda 8.47 -250% 25
Sudan Sudan -4.36 -412% 123
Senegal Senegal 2.57 -2,231% 80
Singapore Singapore 17.7 -286% 6
Solomon Islands Solomon Islands -5.76 -31.5% 130
Sierra Leone Sierra Leone -5.94 -18.3% 131
El Salvador El Salvador 7.14 -171% 31
Somalia Somalia 1.61 -181% 92
Serbia Serbia 6.69 +88.7% 37
Slovakia Slovakia 2.63 -182% 79
Slovenia Slovenia 6.85 -238% 34
Sweden Sweden 3.9 -245% 67
Eswatini Eswatini 2.77 -187% 78
Seychelles Seychelles 6.61 -162% 38
Chad Chad 5.48 -138% 54
Togo Togo 0.118 -104% 100
Tajikistan Tajikistan -0.307 +7.89% 104
Timor-Leste Timor-Leste -66.3 +383% 142
Tonga Tonga -7.64 -1,034% 135
Tunisia Tunisia 4.4 -138% 63
Tanzania Tanzania 0.934 -178% 94
Uganda Uganda -0.301 -78.2% 103
Ukraine Ukraine 6.57 +234% 40
Uruguay Uruguay 3.27 -147% 73
United States United States 5.34 -224% 56
Vietnam Vietnam -0.28 -109% 102
Vanuatu Vanuatu -5.65 -56% 129
Samoa Samoa -5.07 -11.4% 127
South Africa South Africa 5.2 -185% 58
Zimbabwe Zimbabwe 36.6 -325% 1

The indicator 'Adjusted Net National Income per capita (annual % growth)' serves as a crucial metric for evaluating the economic wellbeing of nations. This measure reflects the annual percentage change in the net national income, adjusted for depreciation of capital and taking into account the income earned by the residents of a country both domestically and abroad. By providing insight into how much income is available for consumption and savings per capita, this indicator allows for an effective understanding of overall economic health.

Understanding the importance of adjusted net national income per capita is vital, as it directly impacts policy decisions and economic strategies. A consistent growth in this indicator signifies enhanced living standards, increased economic opportunities, and a more favorable investment climate. Conversely, a declining value may point to economic stagnation or contraction, which could adversely affect employment rates, social stability, and the quality of life for citizens. Growth in adjusted net national income helps in assessing the effectiveness of economic policies, programs, and international trade agreements.

This indicator does not exist in isolation; it is intricately connected to several macroeconomic indicators. For example, gross domestic product (GDP) growth, employment rates, and inflation can all influence or be influenced by changes in adjusted net national income per capita. An expanding economy represented by strong GDP growth typically aligns with a rise in net national income, which translates to higher per capita income levels. Moreover, employment rates are closely watched, as increased employment generally leads to higher income levels and thus contributes to growth in adjusted net national income.

Several factors affect the growth of adjusted net national income per capita. The primary factor is economic growth, which is influenced by investments in infrastructure, education, and technology. A nation that actively invests in these areas tends to see improvements in productivity, leading to higher income levels. External factors like global economic conditions, trade relations, and demand for exports also play a role. For instance, countries reliant on specific commodities may experience volatility affecting income levels due to global price fluctuations.

In the latest report from 2021, the median growth value stood at 3.21%. This suggests that many nations experienced modest growth recovering from the economic disruptions caused by the COVID-19 pandemic. Disturbing trends, however, emerged from the top and bottom performing regions. The top-five areas, which include Zimbabwe at 36.6%, Congo - Brazzaville at 32.46%, and Libya at 29.89%, demonstrate outsized growth, which can often be attributed to unique circumstances such as recovery from past economic crises or exploitation of natural resources. These countries may have benefited from external investments or market corrections that significantly boosted their income levels.

In contrast, the bottom-five areas—including Timor-Leste at -66.27% and Afghanistan at -21.38%—highlight severe economic challenges. Regions experiencing negative growth rates typically undergo political turmoil, conflict, or significant economic disruptions, making it difficult for citizens to attain stable income levels. The stark difference in the growth rates illustrates the inequality that exists on a global scale, revealing the disparate economic realities faced by different regions.

Strategies to enhance adjusted net national income per capita should focus on fostering innovation, promoting investment, and ensuring political stability. Governments can implement tax incentives to attract investments while also prioritizing education to develop a skilled workforce adaptable to the changing global economy. Additionally, promoting small and medium-sized enterprises (SMEs) can also be a solution, as these entities often serve as the backbone of economic growth and job creation. Strengthening infrastructure, both digital and physical, will also ensure that economies can grow more efficiently.

Nonetheless, this indicator possesses flaws that merit attention. For example, it does not account for income inequality within a nation. A country could demonstrate strong growth in adjusted net national income yet still have a significant portion of its population living in poverty. Furthermore, fluctuations in income from foreign sources may distort the perceptions of domestic economic health. Consequently, policymakers must interpret this data in conjunction with other indicators, such as the Gini coefficient, to obtain a complete picture of economic wellbeing.

Looking back at historical data from 1972 to 2021 reveals remarkable trends that can guide future predictions. The worldwide adjusted net national income per capita has demonstrated both resilience and vulnerability to global economic shifts, with various peaks and troughs earning attention. For instance, the turn of the millennium witnessed growth reaching 2.02% in 2000, which was surpassed periodically in subsequent years until the stark drop during the financial crisis reflected in 2008 and 2009. The pandemic-induced disruption in 2020, marked by a -5.05% growth, exemplified the fragility of global interconnectedness and the far-reaching impacts of crises on national economies.

As we move forward, understanding and developing strategies that positively influence adjusted net national income growth is essential for fostering sustainable economic development. By addressing underlying issues that lead to discrepancies between nations, stakeholders can aim for more equitable growth, ultimately enhancing the quality of life for all citizens regardless of their geographic location.

                    
# 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.ADJ.NNTY.PC.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.ADJ.NNTY.PC.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))