Merchandise exports (current US$)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 212,000,000 +27.7% 176
Afghanistan Afghanistan 880,000,000 +3.9% 156
Angola Angola 39,223,000,000 -0.716% 65
Albania Albania 4,000,000,000 -8.55% 127
Andorra Andorra 258,000,000 +2.38% 173
United Arab Emirates United Arab Emirates 603,313,000,000 +5.8% 11
Argentina Argentina 79,721,000,000 +19.4% 45
Armenia Armenia 13,092,000,000 +53.1% 92
American Samoa American Samoa 400,000,000 +1.27% 168
Antigua & Barbuda Antigua & Barbuda 23,000,000 -25.8% 196
Australia Australia 341,390,000,000 -8.08% 22
Austria Austria 214,328,000,000 -4.34% 31
Azerbaijan Azerbaijan 26,559,000,000 -21.7% 72
Burundi Burundi 153,000,000 -27.1% 180
Belgium Belgium 535,745,000,000 -5.65% 13
Benin Benin 3,772,000,000 -6.86% 131
Burkina Faso Burkina Faso 5,479,000,000 +22.7% 121
Bangladesh Bangladesh 47,245,000,000 +6.8% 57
Bulgaria Bulgaria 46,425,000,000 -3.24% 58
Bahrain Bahrain 23,443,000,000 -5.53% 74
Bahamas Bahamas 601,000,000 -18.3% 161
Bosnia & Herzegovina Bosnia & Herzegovina 8,890,000,000 -3.7% 104
Belarus Belarus 40,327,000,000 +1.22% 63
Belize Belize 460,000,000 -5.74% 167
Bermuda Bermuda 68,000,000 +209% 184
Bolivia Bolivia 9,379,000,000 -14% 103
Brazil Brazil 337,046,000,000 -0.78% 23
Barbados Barbados 461,000,000 0% 166
Brunei Brunei 11,308,000,000 +0.596% 96
Bhutan Bhutan 755,000,000 +17.8% 158
Botswana Botswana 4,119,000,000 -28.3% 126
Central African Republic Central African Republic 166,000,000 +3.75% 179
Canada Canada 567,982,000,000 -0.391% 12
Switzerland Switzerland 446,648,000,000 +6.35% 16
Chile Chile 100,162,000,000 +5.93% 41
China China 3,576,765,000,000 +5.85% 1
Côte d’Ivoire Côte d’Ivoire 21,016,000,000 +14.5% 76
Cameroon Cameroon 6,000,000,000 +21.8% 119
Congo - Kinshasa Congo - Kinshasa 30,000,000,000 +8.2% 69
Congo - Brazzaville Congo - Brazzaville 6,900,000,000 -6.86% 114
Colombia Colombia 49,564,000,000 +0.0383% 56
Comoros Comoros 33,000,000 +6.45% 193
Cape Verde Cape Verde 75,000,000 +36.4% 183
Costa Rica Costa Rica 21,688,000,000 +14% 75
Cuba Cuba 1,788,000,000 +13% 142
Curaçao Curaçao 374,000,000 -33.2% 170
Cayman Islands Cayman Islands 47,000,000 +4.44% 189
Cyprus Cyprus 4,383,000,000 -12.7% 124
Czechia Czechia 262,714,000,000 +2.8% 28
Germany Germany 1,682,888,000,000 -1.14% 3
Djibouti Djibouti 3,830,000,000 -20% 128
Dominica Dominica 10,000,000 -37.5% 197
Denmark Denmark 133,262,000,000 +2.41% 35
Dominican Republic Dominican Republic 13,888,000,000 +7.39% 87
Algeria Algeria 49,580,000,000 -10.8% 55
Ecuador Ecuador 33,670,000,000 +8.17% 66
Egypt Egypt 42,137,000,000 +0.133% 61
Eritrea Eritrea 482,000,000 +1.47% 165
Spain Spain 424,234,000,000 +0.414% 18
Estonia Estonia 18,838,000,000 -4.05% 82
Ethiopia Ethiopia 4,501,000,000 +29.8% 123
Finland Finland 78,063,000,000 -5.45% 47
Fiji Fiji 1,163,000,000 +8.9% 151
France France 640,247,000,000 -1.67% 9
Micronesia (Federated States of) Micronesia (Federated States of) 186,000,000 +75.5% 177
Gabon Gabon 13,100,000,000 +3.19% 91
United Kingdom United Kingdom 512,840,000,000 -2.32% 14
Georgia Georgia 6,560,000,000 +7.79% 115
Ghana Ghana 19,965,000,000 +19.5% 78
Guinea Guinea 10,053,000,000 +9.51% 101
Gambia Gambia 267,000,000 -6.97% 172
Guinea-Bissau Guinea-Bissau 246,000,000 +2.5% 174
Equatorial Guinea Equatorial Guinea 4,700,000,000 -14.2% 122
Greece Greece 53,988,000,000 -2.11% 53
Grenada Grenada 50,000,000 +8.7% 188
Greenland Greenland 827,000,000 -8.42% 157
Guatemala Guatemala 14,601,000,000 +2.83% 86
Guam Guam 44,000,000 0% 190
Guyana Guyana 19,434,000,000 +47.1% 81
Hong Kong SAR China Hong Kong SAR China 645,537,000,000 +12.5% 8
Honduras Honduras 11,057,000,000 -2.86% 98
Croatia Croatia 25,897,000,000 +3.75% 73
Haiti Haiti 710,000,000 -20.9% 159
Hungary Hungary 157,252,000,000 -2.51% 34
Indonesia Indonesia 264,706,000,000 +2.26% 27
India India 442,600,000,000 +2.56% 17
Ireland Ireland 240,597,000,000 +15.5% 30
Iran Iran 105,900,000,000 +8.77% 38
Iraq Iraq 101,637,000,000 +2.51% 39
Iceland Iceland 6,932,000,000 +2.11% 113
Israel Israel 62,270,000,000 -1.7% 52
Italy Italy 674,447,000,000 -0.336% 7
Jamaica Jamaica 1,928,000,000 -3.7% 141
Jordan Jordan 13,292,000,000 +5.9% 89
Japan Japan 707,028,000,000 -1.43% 5
Kazakhstan Kazakhstan 82,471,000,000 +5.01% 44
Kenya Kenya 8,248,000,000 +14.7% 108
Kyrgyzstan Kyrgyzstan 3,828,000,000 +13.1% 129
Cambodia Cambodia 26,661,000,000 +13.6% 71
Kiribati Kiribati 24,000,000 +26.3% 195
St. Kitts & Nevis St. Kitts & Nevis 34,000,000 +36% 192
South Korea South Korea 683,609,000,000 +8.13% 6
Kuwait Kuwait 75,847,000,000 -9.69% 48
Laos Laos 9,438,000,000 +12.8% 102
Lebanon Lebanon 3,781,000,000 -8.65% 130
Liberia Liberia 1,304,000,000 +16.1% 146
Libya Libya 29,603,000,000 -10.5% 70
St. Lucia St. Lucia 78,000,000 -2.5% 182
Sri Lanka Sri Lanka 12,772,000,000 +7.23% 93
Lesotho Lesotho 967,000,000 +17.2% 153
Lithuania Lithuania 39,715,000,000 -7.6% 64
Luxembourg Luxembourg 16,213,000,000 -5.68% 83
Latvia Latvia 20,473,000,000 -9.61% 77
Macao SAR China Macao SAR China 1,678,000,000 +1.45% 144
Morocco Morocco 45,039,000,000 +8.16% 59
Moldova Moldova 3,555,000,000 -12.2% 134
Madagascar Madagascar 2,582,000,000 -22.7% 137
Maldives Maldives 383,000,000 -9.03% 169
Mexico Mexico 617,100,000,000 +4.06% 10
Marshall Islands Marshall Islands 58,000,000 -3.33% 186
North Macedonia North Macedonia 8,422,000,000 -6.41% 107
Mali Mali 5,486,000,000 -2.99% 120
Malta Malta 3,771,000,000 +8.77% 132
Myanmar (Burma) Myanmar (Burma) 13,329,000,000 -9.65% 88
Montenegro Montenegro 633,000,000 -13.2% 160
Mongolia Mongolia 15,783,000,000 +3.92% 84
Northern Mariana Islands Northern Mariana Islands 4,000,000 0% 199
Mozambique Mozambique 8,211,000,000 -0.785% 109
Mauritania Mauritania 4,228,000,000 +4.01% 125
Mauritius Mauritius 2,391,000,000 +4.18% 139
Malawi Malawi 947,000,000 -1.97% 154
Malaysia Malaysia 330,426,000,000 +5.58% 24
Namibia Namibia 6,490,000,000 +18.3% 116
New Caledonia New Caledonia 1,245,000,000 -41.2% 149
Niger Niger 1,749,000,000 +76.3% 143
Nigeria Nigeria 52,933,000,000 -4.08% 54
Nicaragua Nicaragua 7,522,000,000 +1.95% 111
Netherlands Netherlands 921,356,000,000 -1.58% 4
Norway Norway 168,286,000,000 -3.33% 33
Nepal Nepal 1,244,000,000 +8.65% 150
Nauru Nauru 34,000,000 -10.5% 192
New Zealand New Zealand 42,410,000,000 +2.44% 60
Oman Oman 63,016,000,000 +6.79% 51
Pakistan Pakistan 32,321,000,000 +13.5% 67
Panama Panama 12,666,000,000 -24.3% 94
Peru Peru 70,250,000,000 +8.55% 50
Philippines Philippines 72,969,000,000 -0.759% 49
Palau Palau 3,000,000 -57.1% 200
Papua New Guinea Papua New Guinea 13,268,000,000 +3.41% 90
Poland Poland 380,064,000,000 -0.381% 21
North Korea North Korea 501,000,000 +51.8% 163
Portugal Portugal 85,794,000,000 +2.6% 43
Paraguay Paraguay 10,880,000,000 -8.5% 99
French Polynesia French Polynesia 172,000,000 -29.2% 178
Qatar Qatar 94,286,000,000 -3.54% 42
Romania Romania 100,309,000,000 -0.296% 40
Russia Russia 417,170,000,000 -1.72% 19
Rwanda Rwanda 3,200,000,000 +29.8% 136
Saudi Arabia Saudi Arabia 305,350,000,000 -4.58% 25
Sudan Sudan 3,770,000,000 -20.6% 133
Senegal Senegal 6,408,000,000 +20.5% 118
Singapore Singapore 505,658,000,000 +6.17% 15
Solomon Islands Solomon Islands 488,000,000 +13.2% 164
Sierra Leone Sierra Leone 1,263,000,000 -4.89% 148
El Salvador El Salvador 6,448,000,000 -0.769% 117
Somalia Somalia 1,100,000,000 +19.6% 152
Serbia Serbia 31,586,000,000 +2.1% 68
South Sudan South Sudan 890,000,000 +2.3% 155
São Tomé & Príncipe São Tomé & Príncipe 26,000,000 +8.33% 194
Suriname Suriname 1,296,000,000 -43.9% 147
Slovakia Slovakia 115,875,000,000 -1.38% 36
Slovenia Slovenia 78,961,000,000 +8.1% 46
Sweden Sweden 194,598,000,000 -1.45% 32
Eswatini Eswatini 2,420,000,000 +15.5% 138
Sint Maarten Sint Maarten 273,000,000 +18.2% 171
Seychelles Seychelles 570,000,000 +5.36% 162
Syria Syria 3,417,000,000 +5.4% 135
Turks & Caicos Islands Turks & Caicos Islands 4,000,000 0% 199
Chad Chad 4,700,000,000 +2.09% 122
Togo Togo 1,510,000,000 +3.71% 145
Thailand Thailand 300,529,000,000 +5.42% 26
Tajikistan Tajikistan 1,977,000,000 -19.3% 140
Turkmenistan Turkmenistan 12,602,000,000 -12.4% 95
Timor-Leste Timor-Leste 87,000,000 -70.4% 181
Tonga Tonga 8,000,000 -20% 198
Trinidad & Tobago Trinidad & Tobago 8,702,000,000 +10.7% 106
Tunisia Tunisia 19,943,000,000 -0.21% 79
Turkey Turkey 261,855,000,000 +2.44% 29
Tanzania Tanzania 8,767,000,000 +20.5% 105
Uganda Uganda 7,700,000,000 +22.1% 110
Ukraine Ukraine 40,593,000,000 +12.6% 62
Uruguay Uruguay 10,215,000,000 +10.8% 100
United States United States 2,065,180,000,000 +2.33% 2
Uzbekistan Uzbekistan 19,744,000,000 +2.68% 80
St. Vincent & Grenadines St. Vincent & Grenadines 52,000,000 +26.8% 187
Venezuela Venezuela 15,290,000,000 +96% 85
Vietnam Vietnam 403,241,000,000 +14% 20
Vanuatu Vanuatu 61,000,000 +1.67% 185
Samoa Samoa 42,000,000 -2.33% 191
Yemen Yemen 218,000,000 -12.4% 175
South Africa South Africa 110,076,000,000 -0.703% 37
Zambia Zambia 11,198,000,000 +7.35% 97
Zimbabwe Zimbabwe 7,432,000,000 +2.87% 112

                    
# 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 = 'TX.VAL.MRCH.CD.WT'

# 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 <- 'TX.VAL.MRCH.CD.WT'

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