Adjusted savings: consumption of fixed capital (current US$)

Source: worldbank.org, 03.09.2025

Year: 2021

Flag Country Value Value change, % Rank
Aruba Aruba 370,254,073 +20.8% 163
Afghanistan Afghanistan 1,239,762,313 -26.9% 134
Angola Angola 5,093,080,205 +20.7% 81
Albania Albania 3,064,374,259 +20.6% 102
Andorra Andorra 348,197,436 +16.6% 164
United Arab Emirates United Arab Emirates 22,040,281,232 +20% 51
Argentina Argentina 55,632,289,305 +24.7% 36
Armenia Armenia 1,741,070,319 +9.18% 124
Antigua & Barbuda Antigua & Barbuda 167,463,337 +7.72% 174
Australia Australia 265,793,432,911 +15.4% 12
Austria Austria 94,505,326,938 +9.2% 25
Azerbaijan Azerbaijan 4,635,694,477 +29.6% 86
Burundi Burundi 443,048,949 +9.57% 160
Belgium Belgium 115,771,352,531 +9.39% 21
Benin Benin 1,862,104,295 +12.6% 121
Burkina Faso Burkina Faso 1,617,138,864 +15.7% 126
Bangladesh Bangladesh 5,370,739,514 +35.8% 80
Bulgaria Bulgaria 11,865,809,707 +19% 63
Bahrain Bahrain 4,036,758,221 +24.4% 91
Bahamas Bahamas 604,469,034 +3.39% 149
Bosnia & Herzegovina Bosnia & Herzegovina 3,475,590,745 +15.7% 98
Belarus Belarus 11,059,147,705 +12.7% 65
Belize Belize 474,263,851 +31.3% 158
Bermuda Bermuda 289,034,368 -17.9% 168
Bolivia Bolivia 4,921,294,484 +14.3% 85
Brazil Brazil 296,643,158,145 +6.3% 11
Barbados Barbados 568,365,509 +3.59% 153
Brunei Brunei 1,558,159,416 +18.9% 127
Bhutan Bhutan 39,009,307 +46.1% 188
Botswana Botswana 3,414,259,636 +14.7% 99
Central African Republic Central African Republic 539,258,954 +12.2% 155
Canada Canada 325,766,795,862 +11.6% 10
Switzerland Switzerland 191,335,801,789 +5.53% 17
Chile Chile 54,228,509,331 +28.5% 37
China China 4,661,660,943,961 +19.4% 1
Côte d’Ivoire Côte d’Ivoire 2,145,648,175 +8.74% 114
Cameroon Cameroon 5,040,301,571 +10.1% 82
Congo - Kinshasa Congo - Kinshasa 2,280,324,431 +5.37% 112
Congo - Brazzaville Congo - Brazzaville 3,289,147,879 +24.3% 101
Colombia Colombia 33,764,255,886 +14.5% 45
Comoros Comoros 92,516,436 +5.63% 182
Cape Verde Cape Verde 224,271,426 +18.2% 172
Costa Rica Costa Rica 3,595,304,090 +6.56% 96
Curaçao Curaçao 464,447,539 +8.28% 159
Cayman Islands Cayman Islands 324,605,771 -2.53% 166
Cyprus Cyprus 3,777,710,469 +18.4% 94
Czechia Czechia 60,090,920,985 +13.5% 34
Germany Germany 833,750,309,635 +10.3% 4
Djibouti Djibouti 332,588,736 +0.84% 165
Dominica Dominica 83,588,036 +13.2% 183
Denmark Denmark 66,761,325,049 +8.31% 33
Dominican Republic Dominican Republic 6,331,232,979 +29.6% 77
Algeria Algeria 13,303,643,691 +3.94% 60
Ecuador Ecuador 20,324,821,759 +10.4% 56
Egypt Egypt 23,945,188,546 +10.6% 50
Spain Spain 243,305,057,436 +9.25% 15
Estonia Estonia 6,375,561,724 +16.7% 76
Ethiopia Ethiopia 8,179,708,473 -3.3% 71
Finland Finland 56,532,621,338 +6.8% 35
Fiji Fiji 492,888,240 -5.15% 156
France France 571,560,437,697 +9.44% 5
Micronesia (Federated States of) Micronesia (Federated States of) 27,487,260 -1.88% 190
Gabon Gabon 4,042,373,653 +29.3% 90
United Kingdom United Kingdom 474,345,428,900 +8.62% 6
Georgia Georgia 2,115,194,013 +7.46% 115
Ghana Ghana 7,567,761,448 +14% 73
Guinea Guinea 1,772,473,946 +21% 122
Gambia Gambia 321,319,746 +8.56% 167
Guinea-Bissau Guinea-Bissau 73,984,803 +13.5% 185
Equatorial Guinea Equatorial Guinea 2,430,291,561 +1.97% 109
Greece Greece 31,356,148,627 +4.18% 48
Grenada Grenada 147,459,501 +3.09% 177
Guatemala Guatemala 9,842,549,569 +9.51% 67
Guyana Guyana 277,922,982 +71.4% 169
Hong Kong SAR China Hong Kong SAR China 70,594,620,967 +6.34% 32
Honduras Honduras 1,346,617,146 +41.8% 132
Croatia Croatia 12,784,340,960 +17.8% 61
Haiti Haiti 1,152,397,184 +47.8% 138
Hungary Hungary 31,866,904,538 +16.3% 47
Indonesia Indonesia 234,492,387,371 +11.4% 16
India India 379,112,694,272 +22% 8
Ireland Ireland 132,531,862,400 +9.35% 19
Iran Iran 73,024,551,755 +51.2% 29
Iraq Iraq 21,331,370,500 +8.28% 52
Iceland Iceland 4,184,999,549 +20.2% 89
Israel Israel 72,364,633,517 +14% 31
Italy Italy 388,465,377,601 +6.97% 7
Jamaica Jamaica 891,307,187 -4.37% 142
Jordan Jordan 1,929,170,376 -10.1% 119
Japan Japan 1,292,749,980,578 +1.77% 3
Kazakhstan Kazakhstan 20,938,032,046 +14.1% 54
Kenya Kenya 12,096,820,701 +2.41% 62
Kyrgyzstan Kyrgyzstan 1,159,307,226 +11% 137
Cambodia Cambodia 2,741,464,640 +7% 103
Kiribati Kiribati 16,272,097 +10.9% 193
St. Kitts & Nevis St. Kitts & Nevis 110,964,897 -4.2% 179
South Korea South Korea 378,065,878,710 +11.6% 9
Laos Laos 3,382,601,561 +3.22% 100
Lebanon Lebanon 4,924,850,862 -24% 84
Liberia Liberia 787,341,079 +17.9% 144
Libya Libya 4,210,845,585 -13.9% 88
St. Lucia St. Lucia 262,868,968 +8.47% 170
Sri Lanka Sri Lanka 6,815,929,734 +4.72% 75
Lesotho Lesotho 389,448,825 +16.3% 162
Lithuania Lithuania 7,985,570,020 +8.01% 72
Luxembourg Luxembourg 9,904,030,806 +8.22% 66
Latvia Latvia 8,497,332,708 +10.4% 70
Macao SAR China Macao SAR China 2,648,444,927 +16.1% 106
Morocco Morocco 14,211,383,612 +17.8% 57
Monaco Monaco 1,036,249,921 +24% 139
Moldova Moldova 1,716,334,566 +18.2% 125
Madagascar Madagascar 876,816,741 +5.93% 143
Maldives Maldives 592,157,874 +38.7% 150
Mexico Mexico 255,003,995,548 +18.9% 13
Marshall Islands Marshall Islands 28,898,190 +5.02% 189
North Macedonia North Macedonia 2,192,929,911 +9.15% 113
Mali Mali 917,742,614 +12.7% 141
Malta Malta 2,417,997,788 +14.7% 110
Myanmar (Burma) Myanmar (Burma) 3,921,571,494 -6.31% 93
Montenegro Montenegro 719,840,995 +21.5% 147
Mongolia Mongolia 1,762,700,543 +9.35% 123
Mozambique Mozambique 3,589,341,916 +17.1% 97
Mauritania Mauritania 740,954,479 +16.2% 146
Mauritius Mauritius 1,356,828,951 -1.19% 131
Malawi Malawi 579,075,103 -7.33% 151
Malaysia Malaysia 77,089,239,497 +11.7% 27
Namibia Namibia 1,536,768,938 +20.8% 128
New Caledonia New Caledonia 1,219,745,522 +6.58% 135
Niger Niger 545,357,972 +14% 154
Nigeria Nigeria 48,951,773,314 +5.41% 41
Nicaragua Nicaragua 1,209,640,477 +13.5% 136
Netherlands Netherlands 173,266,724,485 +8.84% 18
Norway Norway 86,139,580,925 +15.6% 26
Nepal Nepal 2,464,523,873 +10.3% 108
Nauru Nauru 19,607,480 +16.4% 192
New Zealand New Zealand 37,415,668,864 +18% 44
Oman Oman 5,977,163,284 +11.2% 79
Pakistan Pakistan 13,729,386,211 +7.53% 59
Panama Panama 6,991,972,066 +28.7% 74
Peru Peru 21,149,513,331 +13.2% 53
Philippines Philippines 41,320,683,070 +12.3% 43
Palau Palau 22,914,446 -18% 191
Papua New Guinea Papua New Guinea 1,914,755,412 +11.2% 120
Poland Poland 75,493,151,049 +6.77% 28
Puerto Rico Puerto Rico 14,087,979,671 +2.88% 58
Portugal Portugal 49,794,708,273 +10.2% 39
Paraguay Paraguay 2,637,906,638 +13.4% 107
Palestinian Territories Palestinian Territories 1,966,158,396 +15.9% 118
French Polynesia French Polynesia 688,623,482 +5.71% 148
Qatar Qatar 31,984,106,178 +24.5% 46
Romania Romania 44,011,441,588 +13.4% 42
Russia Russia 247,665,465,550 +21.2% 14
Rwanda Rwanda 1,430,882,252 +11.9% 130
Saudi Arabia Saudi Arabia 105,110,086,055 +21.9% 23
Sudan Sudan 2,308,983,322 +16.3% 111
Senegal Senegal 2,709,489,295 +13.5% 105
Singapore Singapore 72,711,987,073 +8.95% 30
Solomon Islands Solomon Islands 144,039,388 +7.25% 178
Sierra Leone Sierra Leone 220,443,058 -1.35% 173
El Salvador El Salvador 3,745,822,890 +22.5% 95
Somalia Somalia 573,483,122 +10.9% 152
Serbia Serbia 9,471,006,542 +21.8% 69
São Tomé & Príncipe São Tomé & Príncipe 96,380,208 -2.37% 181
Suriname Suriname 407,016,196 +2.89% 161
Slovakia Slovakia 20,355,863,164 +8.65% 55
Slovenia Slovenia 11,255,997,635 +7.48% 64
Sweden Sweden 110,244,746,819 +14.6% 22
Eswatini Eswatini 766,670,064 +15.3% 145
Seychelles Seychelles 154,048,381 +13% 175
Turks & Caicos Islands Turks & Caicos Islands 103,418,574 -1.63% 180
Chad Chad 1,484,977,222 +9.27% 129
Togo Togo 476,772,925 +5.94% 157
Thailand Thailand 94,970,644,074 -0.0431% 24
Tajikistan Tajikistan 943,681,749 +2.28% 140
Timor-Leste Timor-Leste 242,065,372 +72.1% 171
Tonga Tonga 43,299,752 -3.34% 187
Trinidad & Tobago Trinidad & Tobago 2,110,479,474 +4.53% 116
Tunisia Tunisia 4,938,164,364 -2.08% 83
Turkey Turkey 123,744,733,606 +12.9% 20
Tuvalu Tuvalu 6,679,555 +16.3% 194
Tanzania Tanzania 6,180,409,520 -0.233% 78
Uganda Uganda 2,024,891,420 -10.1% 117
Ukraine Ukraine 26,372,112,389 +24.9% 49
Uruguay Uruguay 4,354,593,638 +14.4% 87
United States United States 3,831,586,928,396 +7.09% 2
Uzbekistan Uzbekistan 9,805,130,021 +20.5% 68
St. Vincent & Grenadines St. Vincent & Grenadines 149,979,333 +4.11% 176
Vietnam Vietnam 49,545,696,714 +6.06% 40
Vanuatu Vanuatu 77,541,762 +11.6% 184
Samoa Samoa 69,539,113 -2.7% 186
Kosovo Kosovo 1,242,731,404 +25.1% 133
South Africa South Africa 53,375,719,160 +4.61% 38
Zambia Zambia 4,000,558,128 +17.7% 92
Zimbabwe Zimbabwe 2,727,395,332 +38.3% 104

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