International tourism, receipts for travel items (current US$)

Source: worldbank.org, 03.09.2025

Year: 2020

Flag Country Value Value change, % Rank
Aruba Aruba 1,076,000,000 -48.9% 62
Afghanistan Afghanistan 65,000,000 -9.72% 131
Angola Angola 16,000,000 -95.8% 146
Albania Albania 1,134,000,000 -51.3% 60
Argentina Argentina 1,616,000,000 -69.2% 49
Armenia Armenia 293,000,000 -80.8% 101
Antigua & Barbuda Antigua & Barbuda 386,000,000 -57.5% 92
Australia Australia 25,667,000,000 -43.9% 3
Austria Austria 13,881,000,000 -39.6% 10
Azerbaijan Azerbaijan 304,000,000 -83% 99
Belgium Belgium 6,603,000,000 -25.8% 22
Bangladesh Bangladesh 217,000,000 -44.1% 107
Bulgaria Bulgaria 1,636,000,000 -61.8% 48
Bahrain Bahrain 673,000,000 -81.7% 73
Bahamas Bahamas 1,002,000,000 -75.7% 66
Bosnia & Herzegovina Bosnia & Herzegovina 426,000,000 -63.7% 87
Belarus Belarus 355,000,000 -60.6% 94
Belize Belize 247,000,000 -53.1% 104
Bermuda Bermuda 94,000,000 -84.4% 125
Bolivia Bolivia 191,000,000 -77.2% 113
Brazil Brazil 3,044,000,000 -49.2% 37
Brunei Brunei 38,000,000 -82.5% 136
Bhutan Bhutan 84,000,000 -30% 127
Botswana Botswana 211,000,000 -70.1% 109
Canada Canada 11,256,000,000 -59.8% 12
Switzerland Switzerland 9,038,000,000 -49.7% 19
Chile Chile 406,000,000 -82.2% 90
China China 14,233,000,000 -60.3% 8
Côte d’Ivoire Côte d’Ivoire 166,100,006 -63% 115
Cameroon Cameroon 437,000,000 -33.1% 85
Congo - Kinshasa Congo - Kinshasa 80,800,003 -19% 130
Colombia Colombia 1,595,000,000 -71.9% 50
Comoros Comoros 18,000,000 -75% 144
Cape Verde Cape Verde 159,000,000 -68.3% 117
Costa Rica Costa Rica 1,356,000,000 -66.2% 55
Cuba Cuba 1,137,000,000 -56.2% 59
Curaçao Curaçao 281,000,000 -60% 102
Cyprus Cyprus 663,000,000 -79.6% 74
Czechia Czechia 3,632,000,000 -50.3% 33
Germany Germany 22,049,000,000 -47.2% 4
Djibouti Djibouti 29,700,001 -52.9% 139
Dominica Dominica 32,000,000 -74.2% 137
Denmark Denmark 3,970,000,000 -54.1% 31
Dominican Republic Dominican Republic 2,674,000,000 -64.2% 41
Algeria Algeria 43,000,000 -61.6% 135
Ecuador Ecuador 702,000,000 -69.2% 70
Egypt Egypt 4,398,000,000 -66.2% 27
Spain Spain 18,352,000,000 -76.9% 7
Estonia Estonia 588,000,000 -66.2% 77
Ethiopia Ethiopia 1,033,000,000 +31.4% 64
Finland Finland 1,245,000,000 -66.6% 58
Fiji Fiji 151,000,000 -84.3% 118
France France 32,646,000,000 -48.5% 2
United Kingdom United Kingdom 19,098,000,000 -63.6% 6
Georgia Georgia 542,000,000 -83.4% 78
Ghana Ghana 110,000,000 -92.3% 124
Guinea Guinea 1,200,000 -87.2% 153
Gambia Gambia 47,000,000 -69.1% 134
Greece Greece 5,015,000,000 -75.3% 26
Grenada Grenada 195,000,000 -63% 112
Guatemala Guatemala 297,000,000 -75.7% 100
Guyana Guyana 24,000,000 -11.1% 142
Hong Kong SAR China Hong Kong SAR China 2,839,000,000 -89.2% 40
Honduras Honduras 187,000,000 -65.8% 114
Croatia Croatia 5,568,853,027 -52.6% 24
Hungary Hungary 3,229,000,000 -55.7% 36
Indonesia Indonesia 3,312,000,000 -80.4% 35
India India 13,036,000,000 -57.6% 11
Ireland Ireland 1,858,000,000 -71% 46
Iraq Iraq 955,000,000 -73.4% 67
Iceland Iceland 652,000,000 -75.8% 75
Israel Israel 2,500,000,000 -67.2% 43
Italy Italy 20,036,000,000 -59.5% 5
Jamaica Jamaica 1,349,000,000 -62.5% 56
Jordan Jordan 1,409,000,000 -75.6% 52
Japan Japan 10,597,000,000 -77% 14
Kazakhstan Kazakhstan 459,000,000 -81.4% 82
Kyrgyzstan Kyrgyzstan 151,000,000 -76.6% 118
Cambodia Cambodia 1,023,000,000 -78.6% 65
Kiribati Kiribati 30,000 -99.1% 154
St. Kitts & Nevis St. Kitts & Nevis 117,000,000 -68.4% 123
South Korea South Korea 10,528,000,000 -49.5% 15
Kuwait Kuwait 397,000,000 -43.3% 91
Laos Laos 213,000,000 -77.2% 108
Lebanon Lebanon 2,353,000,000 -72.6% 44
St. Lucia St. Lucia 340,000,000 -68% 96
Sri Lanka Sri Lanka 682,000,000 -81.1% 72
Lesotho Lesotho 5,000,000 -76.2% 152
Lithuania Lithuania 470,000,000 -68.5% 80
Luxembourg Luxembourg 4,189,000,000 -19.1% 29
Latvia Latvia 430,000,000 -57.7% 86
Macao SAR China Macao SAR China 9,360,000,000 -76.9% 17
Morocco Morocco 3,848,000,000 -53% 32
Moldova Moldova 316,000,000 -20.2% 97
Madagascar Madagascar 145,000,000 -80.6% 119
Maldives Maldives 1,398,000,000 -55.7% 53
Mexico Mexico 10,996,000,000 -55.3% 13
North Macedonia North Macedonia 252,000,000 -36.4% 103
Malta Malta 418,000,000 -78% 88
Montenegro Montenegro 166,000,000 -86.4% 116
Mongolia Mongolia 29,000,000 -94.3% 140
Mozambique Mozambique 90,000,000 -64.3% 126
Mauritania Mauritania 5,500,000 -50.9% 151
Mauritius Mauritius 466,000,000 -73.8% 81
Malawi Malawi 30,000,000 -45.5% 138
Malaysia Malaysia 3,004,000,000 -84.8% 38
Namibia Namibia 118,000,000 -66.2% 122
Nigeria Nigeria 313,000,000 -78.4% 98
Nicaragua Nicaragua 199,000,000 -61.4% 110
Netherlands Netherlands 9,101,000,000 -51% 18
Norway Norway 1,792,000,000 -69.4% 47
Nepal Nepal 197,000,000 -72.1% 111
New Zealand New Zealand 6,229,000,000 -40.9% 23
Oman Oman 441,000,000 -75.6% 83
Pakistan Pakistan 439,000,000 -11.1% 84
Panama Panama 1,117,000,000 -75.3% 61
Peru Peru 776,000,000 -79.2% 69
Philippines Philippines 2,010,000,000 -79.4% 45
Poland Poland 7,771,000,000 -43.3% 21
Portugal Portugal 8,835,000,000 -56.8% 20
Paraguay Paraguay 81,000,000 -78.6% 129
Palestinian Territories Palestinian Territories 191,000,000 -50.3% 113
Qatar Qatar 3,563,000,000 -34.5% 34
Romania Romania 1,433,000,000 -59.9% 51
Russia Russia 2,854,000,000 -74% 39
Rwanda Rwanda 120,000,000 -73.8% 121
Saudi Arabia Saudi Arabia 4,036,000,000 -75.4% 30
Sudan Sudan 689,000,000 -16.1% 71
Singapore Singapore 5,189,000,000 -74.4% 25
Solomon Islands Solomon Islands 6,000,000 -91.5% 150
El Salvador El Salvador 636,000,000 -51.3% 76
Serbia Serbia 1,245,000,000 -22.4% 58
São Tomé & Príncipe São Tomé & Príncipe 16,400,000 -63.3% 145
Suriname Suriname 15,000,000 -71.7% 147
Slovakia Slovakia 1,254,000,000 -60.8% 57
Slovenia Slovenia 1,370,300,049 -56.9% 54
Sweden Sweden 4,370,000,000 -52.4% 28
Eswatini Eswatini 7,000,000 -50% 148
Sint Maarten Sint Maarten 234,000,000 -65.7% 105
Seychelles Seychelles 221,000,000 -62.5% 106
Thailand Thailand 14,198,000,000 -76.3% 9
Tajikistan Tajikistan 6,400,000 -53.3% 149
Timor-Leste Timor-Leste 26,000,000 -62.9% 141
Tonga Tonga 47,000,000 -17.4% 134
Trinidad & Tobago Trinidad & Tobago 143,000,000 -67.2% 120
Tunisia Tunisia 852,000,000 -59.7% 68
Turkey Turkey 10,220,000,000 -65.7% 16
Uganda Uganda 504,000,000 -63.6% 79
Ukraine Ukraine 374,000,000 -76.9% 93
Uruguay Uruguay 1,055,000,000 -53.1% 63
United States United States 72,812,000,000 -63.5% 1
Uzbekistan Uzbekistan 345,000,000 -76.7% 95
St. Vincent & Grenadines St. Vincent & Grenadines 83,000,000 -66.7% 128
Vanuatu Vanuatu 62,000,000 -77.7% 133
Samoa Samoa 23,000,000 -88.8% 143
South Africa South Africa 2,607,000,000 -68.9% 42
Zambia Zambia 412,000,000 -49.7% 89
Zimbabwe Zimbabwe 63,000,000 -77.4% 132

International tourism, specifically measured through receipts for travel items in current US dollars, serves as a vital indicator of a country's economic health and global connectivity. This metric reflects the earnings generated from international visitors who travel to a particular country for various purposes, including leisure, business, and other activities.

The significance of tourism receipts extends beyond mere economic transactions; they are essentially the lifeblood of many economies, contributing to job creation, infrastructure development, and global cultural exchange. A rise in tourism receipts often correlates with positive economic growth, indicating a flourishing travel sector that attracts foreign investment and stimulates local businesses. In contrast, declining receipts can mirror economic downturns, stemming from reduced global travel, geopolitical tensions, or public health crises, such as the COVID-19 pandemic which drastically impacted global tourism in 2020.

Examining the data from the latest year, 2020, where global tourism receipts plummeted to $523 billion, highlights the devastating impact of pandemic restrictions on travel. This figure represents a significant decline from previous years, with 2019 seeing a peak of approximately $1.465 trillion. The stark contrast between these figures underscores the fragility of the tourism industry in the face of unforeseen global events.

Tourism receipts are closely interlinked with various economic indicators, including GDP, employment rates, and foreign exchange reserves. A thriving tourism sector boosts GDP through direct and indirect contributions to economic activities, while also fostering employment in related sectors such as hospitality, transport, and cultural industries. Additionally, higher tourism receipts can enhance a country's foreign exchange reserves, stabilizing national currencies and enabling better payment systems for imports and foreign debts.

Factors affecting tourism receipts are multifaceted. The overall attractiveness of a destination plays a crucial role, influenced by natural beauty, cultural heritage, and safety perceptions. Economic conditions, such as disposable income levels, currency strength, and general consumer confidence, also dictate travel behaviors. Furthermore, advancements in technology, including online booking platforms and social media marketing, have transformed how destinations are promoted and experienced, affecting visitor decisions and resulting in fluctuating tourism volumes.

Comparing the top five areas for tourism receipts reveals interesting trends. The United States stands out with receipts of $72.8 billion, followed by France ($32.6 billion), Australia ($25.6 billion), Germany ($22.0 billion), and Italy ($20.0 billion). These figures reflect not only the inherent attractiveness of these destinations but also their ability to market themselves effectively on the global stage. On the flip side, the bottom five areas, such as Kiribati ($30,000) and Guinea ($1.2 million), showcase regions that struggle to attract international visitors due to various challenges, including limited infrastructure, marketing resources, or geopolitical instability.

To enhance tourism receipts, nations can adopt several strategies. Developing comprehensive marketing campaigns aimed at niche audiences, improving infrastructure to facilitate easier access, and investing in tourism experiences that celebrate local cultures can galvanize interest. Additionally, fostering collaborations between public and private sectors can generate innovative solutions to streamline operations, improve visitor experiences, and extend the tourism season beyond traditional peak periods.

Despite these strategic avenues, flaws and significant challenges remain. Unsustainable tourism practices can lead to environmental degradation, diminishing the allure of destinations in the long run. Managing the volume of visitors is also critical; overcrowding can strain local resources, leading to a decline in the quality of visitor experiences. Moreover, economic reliance on tourism can leave countries vulnerable to global shocks, necessitating a diversified economic approach to mitigate risks associated with downturns in travel.

As we consider data from 1995 to 2019, it's evident that overall trends in tourism receipts showed an upward trajectory, with growth becoming increasingly robust in the years leading up to 2019. This historical perspective indicates that while the industry will experience bumps along the way, recovery is possible as conditions improve globally. Monitoring shifts in tourism receipts will remain essential as sectors strive for recovery and reconstruction in the post-pandemic world.

In conclusion, international tourism receipts for travel items in current US dollars not only illustrate the economic significance of the travel sector but also reflect broader societal trends and global connectivity. The implications of these receipts are far-reaching, affecting local economies, employment, and cultural exchanges. As the world looks toward recovery, the strategies implemented by nations to rejuvenate their tourism sectors will be pivotal in navigating the complex landscape of global travel.

                    
# 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.TVLR.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 <- 'ST.INT.TVLR.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))