GDP, PPP (current international US$)

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 316,269,278,905 +6.95% 62
Albania Albania 63,760,906,791 +9.22% 116
Andorra Andorra 6,140,390,670 +5.87% 165
United Arab Emirates United Arab Emirates 847,957,424,148 +6.27% 35
Argentina Argentina 1,378,906,089,397 +0.657% 27
Armenia Armenia 69,234,115,091 +8.46% 108
Antigua & Barbuda Antigua & Barbuda 3,150,959,939 +6.85% 170
Australia Australia 1,936,797,839,322 +3.06% 18
Austria Austria 657,343,622,087 +2.14% 43
Azerbaijan Azerbaijan 255,978,795,311 +6.59% 72
Burundi Burundi 13,343,073,380 +5.99% 154
Belgium Belgium 856,629,284,654 +5.23% 34
Benin Benin 64,135,878,351 +10.1% 115
Burkina Faso Burkina Faso 68,201,683,193 +7.52% 109
Bangladesh Bangladesh 1,674,316,179,059 +6.74% 22
Bulgaria Bulgaria 264,773,991,019 +9.52% 69
Bahrain Bahrain 106,776,082,045 +5.51% 95
Bahamas Bahamas 16,532,024,282 +5.88% 149
Bosnia & Herzegovina Bosnia & Herzegovina 69,521,962,129 -3.03% 107
Belarus Belarus 301,471,103,996 +6.52% 64
Belize Belize 6,294,776,297 +10.8% 164
Bermuda Bermuda 7,738,130,439 +4.57% 158
Bolivia Bolivia 138,902,580,581 +3.84% 89
Brazil Brazil 4,734,651,403,044 +5.9% 7
Barbados Barbados 6,404,076,765 +6.31% 163
Brunei Brunei 41,648,164,901 +6.72% 133
Botswana Botswana 51,779,485,613 -0.644% 127
Central African Republic Central African Republic 6,735,836,124 +3.99% 160
Canada Canada 2,702,879,648,010 +4.6% 15
Switzerland Switzerland 847,567,772,891 +5.36% 36
Chile Chile 684,594,682,204 +6.17% 41
China China 38,190,084,585,498 +7.52% 1
Côte d’Ivoire Côte d’Ivoire 244,407,043,373 +8.51% 74
Cameroon Cameroon 162,845,309,667 +6.18% 83
Congo - Kinshasa Congo - Kinshasa 186,833,135,552 +9.26% 79
Congo - Brazzaville Congo - Brazzaville 44,497,676,672 +5.06% 132
Colombia Colombia 1,136,771,232,492 +3.74% 30
Comoros Comoros 3,514,286,025 +5.89% 169
Cape Verde Cape Verde 5,911,044,393 +9.87% 166
Costa Rica Costa Rica 154,219,710,537 +7.59% 86
Cyprus Cyprus 57,562,280,959 +8.54% 122
Czechia Czechia 618,168,364,252 +6.92% 45
Germany Germany 6,037,851,748,487 +4.76% 6
Djibouti Djibouti 9,088,246,563 +8.52% 157
Dominica Dominica 1,410,211,842 +4.52% 179
Denmark Denmark 475,256,247,950 +8.38% 51
Dominican Republic Dominican Republic 314,728,445,100 +7.49% 63
Algeria Algeria 821,720,979,880 +5.8% 38
Ecuador Ecuador 287,270,811,095 +0.368% 66
Egypt Egypt 2,225,198,389,821 +4.88% 17
Spain Spain 2,778,406,789,839 +7.96% 14
Estonia Estonia 67,685,292,223 +5.57% 110
Ethiopia Ethiopia 432,956,582,273 +9.91% 54
Finland Finland 361,295,951,879 +5.02% 58
Fiji Fiji 14,890,504,165 +6.34% 150
France France 4,201,559,866,305 +5.5% 9
Micronesia (Federated States of) Micronesia (Federated States of) 491,818,179 +3.15% 182
Gabon Gabon 54,611,645,903 +5.88% 124
United Kingdom United Kingdom 4,196,506,479,513 +5.79% 10
Georgia Georgia 104,402,557,696 +12.1% 96
Ghana Ghana 276,354,650,562 +8.24% 68
Guinea Guinea 67,563,663,631 +8.22% 111
Gambia Gambia 9,508,853,052 +8.3% 156
Guinea-Bissau Guinea-Bissau 6,720,047,739 +7.35% 161
Equatorial Guinea Equatorial Guinea 33,245,374,422 +3.35% 140
Greece Greece 457,879,263,225 +6.85% 52
Grenada Grenada 2,363,736,937 +6.2% 171
Guatemala Guatemala 264,474,716,595 +6.16% 70
Guyana Guyana 66,408,625,273 +46.8% 113
Hong Kong SAR China Hong Kong SAR China 565,930,796,571 +5.02% 47
Honduras Honduras 81,041,415,057 +6.06% 104
Croatia Croatia 187,806,348,374 +6.72% 77
Haiti Haiti 37,477,453,598 -1.85% 138
Hungary Hungary 455,509,390,728 +4.67% 53
Indonesia Indonesia 4,662,887,595,103 +7.57% 8
India India 16,190,819,718,798 +9.06% 3
Ireland Ireland 705,755,786,878 +6.46% 40
Iran Iran 1,688,651,728,562 +5.53% 21
Iraq Iraq 665,966,378,219 +0.835% 42
Iceland Iceland 31,664,276,580 +5% 142
Israel Israel 555,481,708,110 +5.62% 49
Italy Italy 3,589,121,540,313 +5.09% 12
Jamaica Jamaica 33,111,437,467 +1.68% 141
Jordan Jordan 125,019,343,387 +4.97% 91
Japan Japan 6,407,671,854,497 +3.13% 5
Kazakhstan Kazakhstan 840,445,512,072 +7.33% 37
Kenya Kenya 373,549,891,750 +7.02% 57
Kyrgyzstan Kyrgyzstan 57,864,889,798 +11.7% 121
Cambodia Cambodia 140,580,072,944 +8.58% 88
Kiribati Kiribati 498,029,490 +7.81% 181
St. Kitts & Nevis St. Kitts & Nevis 1,665,025,420 +3.61% 177
Kuwait Kuwait 256,830,086,700 -0.204% 71
Laos Laos 76,049,830,545 +6.78% 106
Liberia Liberia 10,579,672,532 +7.33% 155
Libya Libya 102,993,304,184 +1.8% 97
St. Lucia St. Lucia 4,955,061,818 +6.4% 167
Sri Lanka Sri Lanka 342,603,896,901 +7.55% 60
Lesotho Lesotho 7,008,693,666 +5.25% 159
Lithuania Lithuania 157,150,520,997 +7.49% 85
Luxembourg Luxembourg 102,180,990,718 +7.65% 98
Latvia Latvia 81,699,623,488 +4.08% 103
Macao SAR China Macao SAR China 88,119,857,289 +11.4% 101
Morocco Morocco 398,513,761,721 +5.73% 56
Moldova Moldova 44,718,897,540 +2.52% 131
Madagascar Madagascar 60,207,191,111 +6.72% 118
Maldives Maldives 14,009,213,969 +7.68% 152
Mexico Mexico 3,361,570,175,386 +4.25% 13
Marshall Islands Marshall Islands 307,823,221 +5.26% 183
North Macedonia North Macedonia 47,648,721,475 +6.9% 130
Mali Mali 80,991,580,403 +7.54% 105
Malta Malta 38,690,348,766 +11% 136
Myanmar (Burma) Myanmar (Burma) 326,862,397,166 +1.42% 61
Montenegro Montenegro 20,823,256,232 +9.15% 148
Mongolia Mongolia 67,315,454,532 +7.4% 112
Mozambique Mozambique 58,863,787,008 +4.31% 120
Mauritania Mauritania 37,588,430,732 +7.74% 137
Mauritius Mauritius 39,108,930,780 +7.23% 135
Malawi Malawi 40,266,877,391 +4.29% 134
Malaysia Malaysia 1,377,111,092,001 +7.66% 28
Namibia Namibia 35,411,935,194 +6.22% 139
Niger Niger 54,470,927,080 +11% 125
Nigeria Nigeria 1,498,412,309,012 +5.93% 26
Nicaragua Nicaragua 60,231,278,860 +6.09% 117
Netherlands Netherlands 1,515,446,904,606 +8.26% 25
Norway Norway 562,975,486,236 +1.55% 48
Nepal Nepal 170,096,869,229 +6.17% 81
Nauru Nauru 171,162,307 +4.22% 184
New Zealand New Zealand 294,116,842,343 +4.12% 65
Oman Oman 220,050,947,268 +4.13% 75
Pakistan Pakistan 1,579,724,190,317 +5.73% 24
Panama Panama 186,966,392,940 +5.35% 78
Peru Peru 609,160,441,707 +5.8% 46
Philippines Philippines 1,366,276,178,143 +8.25% 29
Papua New Guinea Papua New Guinea 51,703,809,951 +6.61% 128
Poland Poland 1,841,555,375,507 +7.35% 19
Puerto Rico Puerto Rico 160,662,993,787 +5.72% 84
Portugal Portugal 541,680,354,803 +7.97% 50
Paraguay Paraguay 128,353,419,878 +6.77% 90
Palestinian Territories Palestinian Territories 23,119,472,384 -24.8% 147
Qatar Qatar 360,400,243,356 +5.25% 59
Romania Romania 928,908,990,262 +6.48% 32
Russia Russia 6,921,249,292,202 +6.87% 4
Rwanda Rwanda 52,904,129,982 +11.5% 126
Saudi Arabia Saudi Arabia 2,514,913,068,784 +4.27% 16
Sudan Sudan 107,325,139,957 -11.4% 94
Senegal Senegal 94,552,533,446 +9.48% 99
Singapore Singapore 909,690,217,413 +6.91% 33
Solomon Islands Solomon Islands 2,353,128,857 +5.02% 172
Sierra Leone Sierra Leone 30,381,570,305 +6.51% 145
El Salvador El Salvador 84,069,963,660 +5.08% 102
Somalia Somalia 30,429,157,390 +6.49% 144
Serbia Serbia 209,915,940,223 +10.3% 76
São Tomé & Príncipe São Tomé & Príncipe 1,467,273,475 +3.34% 178
Suriname Suriname 13,999,818,895 +5.33% 153
Slovakia Slovakia 255,817,817,489 +7.26% 73
Slovenia Slovenia 120,202,434,629 +5.07% 93
Sweden Sweden 750,771,294,152 +5.94% 39
Eswatini Eswatini 14,645,762,517 +5.12% 151
Sint Maarten Sint Maarten 2,257,875,752 +6% 173
Seychelles Seychelles 4,033,634,641 +5.97% 168
Turks & Caicos Islands Turks & Caicos Islands 1,766,207,429 +8.19% 175
Chad Chad 60,124,620,441 +6.16% 119
Togo Togo 30,820,719,452 +7.85% 143
Thailand Thailand 1,770,790,698,283 +5.01% 20
Tajikistan Tajikistan 57,254,340,774 +11% 123
Turkmenistan Turkmenistan 152,946,223,419 +4.74% 87
Timor-Leste Timor-Leste 6,664,784,682 +0.176% 162
Trinidad & Tobago Trinidad & Tobago 49,288,895,346 +4.11% 129
Tunisia Tunisia 177,419,626,656 +3.8% 80
Turkey Turkey 3,757,012,846,422 +4.03% 11
Tanzania Tanzania 280,425,918,025 +8.08% 67
Uganda Uganda 163,837,595,822 +8.7% 82
Ukraine Ukraine 656,527,758,168 +5.4% 44
Uruguay Uruguay 123,332,335,624 +5.6% 92
United States United States 29,184,890,000,000 +5.28% 2
Uzbekistan Uzbekistan 431,926,264,608 +9.08% 55
St. Vincent & Grenadines St. Vincent & Grenadines 2,140,311,608 +6.58% 174
Vietnam Vietnam 1,654,734,391,083 +9.68% 23
Vanuatu Vanuatu 1,180,786,248 +6.48% 180
Samoa Samoa 1,708,678,659 +12.1% 176
Kosovo Kosovo 28,438,508,915 +6.94% 146
South Africa South Africa 989,390,398,251 +3.01% 31
Zambia Zambia 90,033,312,820 +6.56% 100
Zimbabwe Zimbabwe 65,234,986,601 +4.5% 114

The indicator 'GDP, PPP (current international $)' represents the gross domestic product adjusted for purchasing power parity (PPP). It denotes the total value of all goods and services produced within a country's borders in a given year, while considering the relative cost of living and inflation rates. This provides a more accurate reflection of the economic stature of countries compared to nominal GDP, which does not account for price level differences between nations.

The importance of GDP at PPP lies in its ability to provide a more uniform basis for comparing economic productivity and standards of living across different nations. For example, even though some countries may have a lower nominal GDP, their GDP at PPP might reflect similar or even higher levels of economic productivity and potential consumer purchasing power due to lower cost structures. Therefore, it is a critical indicator for economists, policymakers, and businesses engaged in international markets.

Various relations exist between GDP at PPP and other economic indicators. It indirectly influences social factors such as income distribution, quality of life, and economic equality measures. For instance, a country with a higher GDP at PPP may showcase an improved standard of living, evidenced by higher consumption levels, access to health care, and educational facilities compared to countries with lower GDP at PPP values. The GDP at PPP also correlates with employment rates, as dynamic economies tend to create more job opportunities, leading to increased productivity.

Several factors affect GDP at PPP. Exchange rates play a significant role, as fluctuations can either inflate or deflate the apparent economic capacity of a nation. Economic policies regarding taxation, trade, and government spending also influence this metric. Additionally, demographic factors such as population size and growth rates impact GDP at PPP, as countries with larger populations may produce more goods and services if productivity is optimized. Furthermore, technological innovation can drive efficiency and productivity, which in turn can elevate GDP at PPP.

To enhance GDP at PPP, governments can implement a variety of strategies. These include investing in education to improve workforce skills, fostering innovation and technological advancements, and ensuring stable political and economic environments that encourage foreign investments. Moreover, addressing infrastructure issues can significantly improve productivity, thus positively affecting GDP at PPP. Additionally, engaging in international trade can broaden market access, allowing countries to leverage their competitive advantages to boost overall economic output.

While GDP at PPP is a useful indicator, it does have its flaws. It may obscure disparities in wealth and living conditions within countries, as the average per capita could hide significant intra-national inequalities. Additionally, the measure relies on purchasing power estimates that may not always be accurate, particularly in countries with volatile economies. Another issue lies in the interpretation of the data; GDP at PPP does not account for environmental sustainability and may overlook the shadow economies present in different regions, leading to potentially inflated assessments of economic health.

As of 2023, the median value of global GDP at PPP stands at approximately 100.65 trillion international dollars. The global economy has seen a remarkable rise since 1990 when the GDP at PPP was around 29.56 trillion dollars. This eight-fold increase within over three decades highlights a significant transformation in global economic dynamics. Countries like China, which leads with a staggering GDP at PPP of approximately 34.66 trillion dollars, and the United States, with around 27.72 trillion dollars, exemplify this growth. India is on a notable rising trajectory as well, with its GDP at PPP recorded at about 14.62 trillion dollars, indicating substantial economic development.

In contrast, the bottom five areas in terms of GDP at PPP clearly reflect the disparity present worldwide. Regions like Tuvalu with just over 60.38 million dollars, or Nauru at 164.25 million dollars, have limited economic activities that result in significantly lower GDP at PPP values. Such stark contrasts illustrate the varying levels of economic development and the challenges these smaller regions face in enhancing their economic performance.

The increase in world values from 29.56 trillion dollars in 1990 to approximately 184.11 trillion dollars in 2023 indicates a resilient, increasingly interconnected global economy. The steady annual growth along the years signifies advancements in productivity, globalization, and overall improvement in living standards in several regions.

In conclusion, GDP at PPP serves as a fundamental barometer for assessing and comparing the economic health of nations, yet it requires nuanced interpretation alongside other qualitative measures to provide a well-rounded view of global economic conditions and inequalities.

                    
# 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.MKTP.PP.CD'

# 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.MKTP.PP.CD'

# 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))