International tourism, number of departures

Source: worldbank.org, 03.09.2025

Year: 2020

Flag Country Value Value change, % Rank
Albania Albania 2,907,000 -50.9% 22
United Arab Emirates United Arab Emirates 6,458,000 -65.8% 12
Armenia Armenia 346,000 -81.5% 57
Australia Australia 2,832,000 -75.6% 24
Austria Austria 3,964,000 -66.7% 19
Azerbaijan Azerbaijan 1,165,000 -79.1% 41
Belgium Belgium 5,850,000 -58.8% 15
Bulgaria Bulgaria 3,973,000 -43.3% 18
Belarus Belarus 2,810,000 -69.5% 25
Bolivia Bolivia 432,000 -62.8% 54
China China 20,334,000 -86.9% 6
Colombia Colombia 1,275,000 -71.5% 40
Costa Rica Costa Rica 324,000 -71.9% 60
Cuba Cuba 271,000 -58.3% 62
Czechia Czechia 2,399,000 -67.3% 27
Denmark Denmark 4,230,000 -53.5% 17
Dominican Republic Dominican Republic 210,000 -60.5% 65
Algeria Algeria 1,386,000 -75.8% 39
Spain Spain 6,236,000 -72.7% 13
Estonia Estonia 558,000 -67.2% 49
Finland Finland 2,690,000 -74.2% 26
France France 21,287,000 -56.8% 5
United Kingdom United Kingdom 23,827,000 -74.4% 3
Greece Greece 2,324,000 -70.4% 29
Guatemala Guatemala 507,800 -70.2% 52
Hong Kong SAR China Hong Kong SAR China 8,261,000 -91.3% 11
Croatia Croatia 678,000 -80.6% 47
Hungary Hungary 12,727,000 -48.8% 7
Indonesia Indonesia 2,918,000 -75% 21
Ireland Ireland 2,326,000 -75.1% 28
Iran Iran 1,550,000 -78.6% 35
Iceland Iceland 130,000 -78.7% 66
Italy Italy 21,448,000 -65.5% 4
Jordan Jordan 406,000 -73.6% 55
Japan Japan 3,174,000 -84.2% 20
Kazakhstan Kazakhstan 2,865,000 -73.2% 23
Cambodia Cambodia 326,000 -84% 58
South Korea South Korea 4,276,000 -85.1% 16
Laos Laos 707,000 -73.7% 44
Sri Lanka Sri Lanka 305,000 -78.8% 61
Lithuania Lithuania 1,643,000 -66.3% 34
Luxembourg Luxembourg 1,460,000 -42.7% 38
Latvia Latvia 690,000 -71.1% 45
Macao SAR China Macao SAR China 125,000 -92.9% 67
Morocco Morocco 646,000 -67.8% 48
Moldova Moldova 75,000 -75.9% 68
Mexico Mexico 36,056,000 -56.4% 2
Malta Malta 218,000 -71.8% 63
Mauritius Mauritius 65,000 -79.7% 69
New Caledonia New Caledonia 48,000 -66.7% 70
Nicaragua Nicaragua 325,000 -65.8% 59
Norway Norway 1,690,000 -81% 32
New Zealand New Zealand 511,000 -84.2% 51
Oman Oman 1,657,000 -75% 33
Panama Panama 401,000 -67.3% 56
Peru Peru 791,000 -75.8% 42
Philippines Philippines 1,483,000 -74% 37
Portugal Portugal 680,000 -78.1% 46
Paraguay Paraguay 214,000 -82% 64
French Polynesia French Polynesia 12,000 -81% 73
Romania Romania 9,510,000 -58.8% 10
Russia Russia 12,361,000 -72.7% 8
Singapore Singapore 1,543,000 -85.6% 36
El Salvador El Salvador 515,000 -72.9% 50
Slovenia Slovenia 1,892,000 -68.7% 31
Sweden Sweden 6,081,000 -68.1% 14
Eswatini Eswatini 488,000 -71.6% 53
Seychelles Seychelles 19,000 -75% 71
Chad Chad 5,500 -89.4% 75
Tunisia Tunisia 739,000 -73.4% 43
Turkey Turkey 2,243,000 -76.8% 30
Ukraine Ukraine 11,251,000 -61.7% 9
United States United States 60,549,898 -64.6% 1
Vanuatu Vanuatu 9,400 -74.2% 74
Samoa Samoa 18,500 -73.2% 72

The indicator of international tourism, specifically the number of departures, is a crucial metric in understanding the dynamics of global travel and its impact on economies, cultures, and social interactions. This indicator tracks the number of tourists who leave their home countries to visit foreign destinations. The significance of this metric lies not only in its reflection of global mobility but also in its correlation with economic health, job creation, and cultural exchange.

International tourism closely relates to various other indicators, including GDP growth, employment rates, and foreign direct investment (FDI). For instance, a higher number of tourist departures is often associated with increased GDP in many countries, as tourism contributes significantly to economic activity. When tourists travel internationally, they spend money on accommodations, food, transportation, and experiences, which stimulates local economies. Similarly, a robust tourism sector can create jobs—both directly in hospitality and indirectly through supply chains that support tourism services.

However, the COVID-19 pandemic in 2020 led to unprecedented disruptions in international travel, significantly impacting the number of departures. The median value for worldwide departures that year stood at a stark 1,460,000, showcasing the dramatic decline in travel activity compared to previous years. This figure serves as a reflection of the restrictions imposed globally due to health concerns, border closures, and changes in consumer behavior regarding travel safety.

A closer look at the top five areas for international tourist departures in 2020 reveals a stark contrast in mobility capability and interest compared to the lowest five. The United States topped the list with over 60 million departures, followed by Mexico at 36 million. The high figures in these countries could be linked to various factors, including robust tourism infrastructure, a wide array of attractions, and significant travel marketing efforts. The UK, Italy, and France also featured prominently, underscoring their global status as major tourist destinations.

On the contrary, the bottom five areas—Chad, Vanuatu, French Polynesia, Samoa, and Seychelles—registered significantly lower numbers of departures, with Chad recording merely 5,500. This indicates not just limited opportunities for outgoing travel but also challenges related to infrastructure, economic factors, and possibly a lack of awareness about these regions as tourist destinations. Such disparities highlight the unevenness of world tourism and the need for targeted strategies to boost travel from underrepresented areas.

Several factors affect international tourism and the number of departures. Economic conditions play a central role; during economic downturns, people are less likely to spend on travel. Political stability and security also heavily influence travel decisions. Countries experiencing conflict or instability often see sharp declines in tourist departures. Additionally, societal attitudes toward travel, cultural openness, and infrastructure development can either promote or hinder international travel growth.

Strategies to enhance international tourism include improving infrastructure, increasing marketing efforts, and fostering international cooperation and policies that facilitate travel. Countries can invest in better transportation networks, visa facilitation, and health protocols to ensure tourist safety. Moreover, leveraging digital marketing and offering incentives can attract a broader range of tourists.

Solutions to the challenges faced in tourism, highlighted during the pandemic, revolve around embracing sustainability and resilience. Sustainable tourism practices that preserve local cultures and environments while supporting local economies will be paramount. Additionally, diversifying tourist offerings can draw different segments of travelers, making countries less vulnerable to global crises that may impact specific types of travel.

Despite its importance, there are flaws in relying solely on the number of departures as an indicator of tourism health. This metric does not account for the economic value of tourism; high departure numbers do not always correlate with higher revenue. Furthermore, it overlooks intra-regional travel within countries and the experience of travelers once they reach their destinations. For a holistic view of the tourism landscape, this indicator should be considered alongside other metrics such as tourist spending and satisfaction levels.

The world statistics on international departures indicate a consistent upward trend from 1997 to 2019, peaking at over 2 billion departures in that year—highlighting the growing inclination of global populations to explore beyond their borders. Each year, departures grew incrementally, indicating a robust demand for international travel, until the pandemic dramatically altered this trajectory in 2020. The stark divergence in travel patterns led by the pandemic serves as both a cautionary tale and an opportunity to rethink and reshape future tourism strategies, aiming for a more versatile, resilient, and sustainable approach to international 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.DPRT'

# 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.DPRT'

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