International tourism, expenditures (% of total imports)

Source: worldbank.org, 01.09.2025

Year: 2020

Flag Country Value Value change, % Rank
Aruba Aruba 18.9 +5.83% 2
Afghanistan Afghanistan 0.702 -69.2% 132
Angola Angola 4.56 +41.9% 35
Albania Albania 14.2 -46.9% 5
Argentina Argentina 5.25 -64.5% 24
Armenia Armenia 6.45 -68.1% 20
Antigua & Barbuda Antigua & Barbuda 4.65 -53.8% 32
Australia Australia 2.96 -78.4% 71
Austria Austria 2.64 -56% 81
Azerbaijan Azerbaijan 2.81 -72.7% 76
Belgium Belgium 3.38 -28.7% 61
Bangladesh Bangladesh 1.16 -46.3% 121
Bulgaria Bulgaria 3.31 -37.1% 63
Bahamas Bahamas 4.87 -54.2% 30
Bosnia & Herzegovina Bosnia & Herzegovina 1.68 -52.4% 111
Belarus Belarus 1.35 -53.1% 117
Belize Belize 2.44 -35.2% 87
Bermuda Bermuda 12.3 -20% 8
Bolivia Bolivia 4.03 -56.6% 43
Brazil Brazil 2.86 -63.9% 74
Bhutan Bhutan 4.21 -22.8% 41
Botswana Botswana 1.22 -68.3% 120
Switzerland Switzerland 2.41 -52.7% 88
Chile Chile 1.06 -72.3% 125
Côte d’Ivoire Côte d’Ivoire 2.49 -54.3% 86
Cameroon Cameroon 9.66 -10.8% 12
Colombia Colombia 3.07 -64.5% 68
Comoros Comoros 12.5 -16.6% 7
Cape Verde Cape Verde 5.86 -29.6% 21
Costa Rica Costa Rica 3.98 -39.4% 44
Curaçao Curaçao 7.43 -57.8% 18
Cyprus Cyprus 4.25 -47.9% 40
Czechia Czechia 2.27 -35.5% 92
Dominica Dominica 2.98 -58.3% 70
Dominican Republic Dominican Republic 2.19 -49.4% 97
Algeria Algeria 0.642 -48% 133
Ecuador Ecuador 2.63 -58.1% 82
Egypt Egypt 3.56 -24.5% 52
Estonia Estonia 3.05 -63.2% 69
Ethiopia Ethiopia 1.88 -45.4% 105
Finland Finland 2 -68.8% 103
Fiji Fiji 3.89 -28.2% 49
France France 3.93 -40.8% 46
Georgia Georgia 3.26 -67.7% 64
Ghana Ghana 3.85 -24.9% 50
Guinea Guinea 17 +75.4% 3
Gambia Gambia 0.753 -51.8% 130
Greece Greece 2.09 -58.7% 99
Grenada Grenada 2.2 -68.9% 94
Guatemala Guatemala 1.8 -65.7% 107
Honduras Honduras 2.31 -58.2% 90
Croatia Croatia 2.82 -50.5% 75
Hungary Hungary 1.1 -57.3% 123
Indonesia Indonesia 1.24 -82.5% 119
India India 3.2 -30.7% 66
Ireland Ireland 0.45 -71.6% 136
Iraq Iraq 7.6 -49.7% 17
Israel Israel 2.2 -76.8% 95
Italy Italy 2.64 -60.4% 80
Jamaica Jamaica 4.92 -19.5% 28
Jordan Jordan 2.21 -69% 93
Japan Japan 0.841 -73.7% 129
Kazakhstan Kazakhstan 1.85 -67% 106
Kyrgyzstan Kyrgyzstan 4.57 -50.1% 34
Cambodia Cambodia 0.922 -79.7% 128
St. Kitts & Nevis St. Kitts & Nevis 4.18 -58.1% 42
South Korea South Korea 3.08 -47% 67
Kuwait Kuwait 15.2 -42.7% 4
Laos Laos 4.47 -67.3% 36
Lebanon Lebanon 11.2 -46.4% 10
St. Lucia St. Lucia 3.92 -56.7% 47
Sri Lanka Sri Lanka 4.39 -55.7% 37
Lesotho Lesotho 13.9 -3.59% 6
Luxembourg Luxembourg 2.02 -27.2% 101
Macao SAR China Macao SAR China 5.82 -49.5% 22
Morocco Morocco 3.26 -43.2% 65
Moldova Moldova 5.12 -29.4% 25
Madagascar Madagascar 2.61 -61.7% 84
Maldives Maldives 4.33 -59% 38
Mexico Mexico 1.01 -58.2% 126
North Macedonia North Macedonia 1.74 -44.5% 108
Montenegro Montenegro 1.3 -34.9% 118
Mongolia Mongolia 7.81 -30.3% 15
Mozambique Mozambique 1.09 +7.81% 124
Mauritania Mauritania 0.952 -37.4% 127
Mauritius Mauritius 4.29 -51.8% 39
Malawi Malawi 3.53 -40.9% 56
Malaysia Malaysia 2.79 -57% 77
Namibia Namibia 1.58 -22.4% 114
Nigeria Nigeria 9.16 -43.7% 13
Nicaragua Nicaragua 1.71 -65.7% 110
Netherlands Netherlands 1.12 -65.1% 122
Norway Norway 3.48 -72.4% 57
Nepal Nepal 2.5 -51.6% 85
Oman Oman 3.65 -65.1% 51
Pakistan Pakistan 2.39 -53.8% 89
Panama Panama 3.42 -42.4% 60
Peru Peru 2.2 -68.5% 96
Philippines Philippines 4.87 -50.6% 29
Poland Poland 1.95 -43.4% 104
Portugal Portugal 3.93 -40.6% 45
Paraguay Paraguay 2.06 -48% 100
Palestinian Territories Palestinian Territories 7.03 -29.5% 19
Qatar Qatar 19.5 +3.81% 1
Romania Romania 3.33 -48.2% 62
Russia Russia 3.54 -69.3% 55
Rwanda Rwanda 3.55 -65.3% 54
Saudi Arabia Saudi Arabia 4.98 -33.6% 27
Solomon Islands Solomon Islands 5.56 -33.1% 23
El Salvador El Salvador 1.55 -61.6% 115
Serbia Serbia 3.91 -38.9% 48
South Sudan South Sudan 11 -23.1% 11
Suriname Suriname 3.47 -11% 58
Slovakia Slovakia 1.44 -50.3% 116
Slovenia Slovenia 2.31 -46.7% 91
Eswatini Eswatini 2.16 +25.8% 98
Sint Maarten Sint Maarten 2.76 -55.7% 79
Seychelles Seychelles 2.93 -45.6% 72
Thailand Thailand 1.59 -71.1% 113
Tajikistan Tajikistan 0.346 -58.5% 137
Timor-Leste Timor-Leste 4.6 -56.2% 33
Tonga Tonga 12.1 -8.63% 9
Trinidad & Tobago Trinidad & Tobago 0.619 -62.9% 134
Tunisia Tunisia 2.79 -44.7% 78
Turkey Turkey 0.712 -69.7% 131
Uganda Uganda 2.63 -56.9% 83
Ukraine Ukraine 7.65 -34.7% 16
Uruguay Uruguay 3.55 -66% 53
United States United States 1.74 -71% 109
Uzbekistan Uzbekistan 4.69 -54.7% 31
St. Vincent & Grenadines St. Vincent & Grenadines 3.47 -63.1% 59
Vietnam Vietnam 1.62 -34.5% 112
Vanuatu Vanuatu 5.02 -23% 26
Samoa Samoa 0.478 -58% 135
South Africa South Africa 2.02 -64.3% 102
Zambia Zambia 8.08 +27.1% 14
Zimbabwe Zimbabwe 2.86 -39.9% 73

International tourism expenditures as a percentage of total imports is a crucial economic indicator that reflects the extent to which a country relies on tourism as a source of income and foreign exchange. It measures the value of international tourists’ spending on goods and services that are imported for tourism purposes. This indicator is significant as it provides insights into the health and viability of a country’s tourism sector, which can be a substantial contributor to economic growth, employment, and overall development.

The importance of this indicator cannot be overstated. A high percentage indicates that a country is heavily reliant on tourism, which can bolster its economy and provide job opportunities. Conversely, a low percentage may indicate a less-developed tourism sector or a reliance on other forms of income. In 2020, the median value of international tourism expenditures as a percentage of total imports stood at 3.05%, a significant figure when considering the economic challenges faced globally due to the COVID-19 pandemic. The pandemic has caused devastating disruptions to the tourism sector, which, in turn, has affected trade balance and international economic relations.

Analyzing the top five areas in terms of international tourism expenditures reveals a striking reliance on tourism in these economies. Qatar takes the lead with an astounding 19.48%, showcasing how vital tourism is to its economy. This is particularly reflective of its global position as a luxury destination, bolstered by substantial investments in infrastructure and services. Aruba follows closely at 18.85%, leveraging its pristine beaches and tourism-friendly policies. Guinea and Kuwait, with values of 17.03% and 15.21% respectively, illustrate how natural beauty and investment in tourism development contribute to significant revenue from international visitors. Albania rounds out the top five at 14.19%, reflecting its emerging market status and how tourism is increasingly becoming a priority for economic diversification.

In stark contrast, the bottom five areas significantly show lesser reliance on tourism expenditures as a percentage of total imports. Tajikistan, with only 0.35%, indicates a limited tourist infrastructure and attracts fewer international visitors. Similarly, Ireland (0.45%) and Samoa (0.48%) reflect broader economic structures focused on other sectors like technology or agriculture rather than tourism. Trinidad & Tobago (0.62%) and Algeria (0.64%) further highlight that while tourism could bring in revenue, these nations may not wholly capitalize on it due to various socio-economic factors.

The relationships between international tourism expenditures and other economic indicators, such as GDP, employment rates, and balance of payments, are complex but interdependent. Countries that enjoy high tourism expenditures often see corresponding increases in GDP and job creation. The multiplier effect of tourism spending can benefit various sectors, including retail, hospitality, and transportation. Conversely, countries with low tourism expenditures might face challenges in achieving economic growth and diversification.

Several factors influence the level of international tourism expenditures. These include geopolitical stability, the quality of tourism infrastructure, marketing strategies, and global trends. Countries that boast a robust transportation network, suitable accommodation, and favorable visa policies tend to attract more tourists. Additionally, heightened safety and political stability are also crucial in determining whether tourists choose a destination. Social trends, such as a growing preference for experiential travel, also affect spending patterns among international visitors.

To boost international tourism expenditures, nations can employ various strategies. Governments can enhance their marketing efforts to promote their destinations, invest in infrastructure, and provide incentives for the tourism industry. Creating a favorable environment for tourists, such as easing visa restrictions, improving safety, and enhancing overall visitor experience, can also foster a more profitable tourism sector. Collaboration between private and public sectors is crucial, as shared resources can lead to innovative approaches in attracting and retaining international tourists.

However, there are flaws and challenges associated with high reliance on international tourism expenditures. Heavy dependency on tourism can expose an economy to risks, such as global economic downturns, pandemics, or natural disasters. The COVID-19 pandemic starkly highlighted these vulnerabilities, with many tourist-dependent countries experiencing severe economic contractions. Over-reliance on tourism without diversification can lead to significant socio-economic ramifications if tourism declines. Furthermore, the impacts of tourism on local culture and environments must be managed carefully to prevent degradation and ensure sustainable development.

In summary, international tourism expenditures as a percentage of total imports play a critical role in understanding a country's economic reliance on tourism. While nations that successfully attract international tourists can benefit tremendously, they must also consider the associated risks and strive for a balanced approach to their economic strategies.

                    
# 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 = 'ST.INT.XPND.MP.ZS'

# 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 <- 'ST.INT.XPND.MP.ZS'

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