International tourism, receipts (% of total exports)

Source: worldbank.org, 01.09.2025

Year: 2020

Flag Country Value Value change, % Rank
Aruba Aruba 74.6 -9.4% 2
Afghanistan Afghanistan 5.08 -9.41% 55
Angola Angola 0.0905 -91.9% 124
Albania Albania 35.9 -29.5% 11
Argentina Argentina 2.64 -62.6% 80
Armenia Armenia 7.86 -70.6% 42
Antigua & Barbuda Antigua & Barbuda 70 -15.7% 3
Australia Australia 8.71 -37.8% 39
Austria Austria 6.85 -34.6% 48
Azerbaijan Azerbaijan 2.23 -73.6% 88
Belgium Belgium 1.77 -25.3% 97
Bangladesh Bangladesh 0.566 -34.9% 120
Bulgaria Bulgaria 4.49 -59.1% 58
Bahrain Bahrain 2.82 -78% 75
Bahamas Bahamas 59.6 -25.8% 5
Bosnia & Herzegovina Bosnia & Herzegovina 6.24 -58.2% 50
Belarus Belarus 1.46 -52.6% 102
Bermuda Bermuda 9.15 -75.6% 37
Bolivia Bolivia 3.27 -65.7% 68
Brazil Brazil 1.3 -45% 106
Bhutan Bhutan 10.7 -30.8% 32
Botswana Botswana 4.61 -59.7% 57
Switzerland Switzerland 2.11 -52.5% 90
Chile Chile 1.3 -69.4% 108
Côte d’Ivoire Côte d’Ivoire 1.51 -62.3% 101
Cameroon Cameroon 7.14 -19% 47
Colombia Colombia 5.13 -61.2% 54
Comoros Comoros 26.8 -47.5% 16
Cape Verde Cape Verde 39.9 -29.2% 10
Costa Rica Costa Rica 7.41 -60.7% 45
Curaçao Curaçao 27.8 -30.1% 14
Cyprus Cyprus 3.25 -80.1% 70
Czechia Czechia 2.28 -46.6% 87
Algeria Algeria 0.201 -44.7% 123
Ecuador Ecuador 3.12 -64.5% 71
Egypt Egypt 12.2 -54.4% 28
Estonia Estonia 3.98 -60.4% 60
Ethiopia Ethiopia 29.6 -36.4% 13
Finland Finland 1.79 -67.3% 96
Fiji Fiji 19.2 -62.4% 20
France France 4.8 -39.9% 56
Georgia Georgia 9.89 -73.4% 34
Ghana Ghana 0.865 -85.1% 114
Guinea Guinea 0.0143 -94.4% 125
Gambia Gambia 30.2 -30.8% 12
Greece Greece 10.5 -63% 33
Guatemala Guatemala 2.35 -74% 85
Honduras Honduras 3.01 -60.7% 72
Croatia Croatia 23.4 -38.4% 17
Hungary Hungary 3.4 -55.5% 66
Indonesia Indonesia 1.98 -78.5% 91
India India 2.77 -52.3% 77
Ireland Ireland 0.681 -75.4% 118
Iraq Iraq 1.88 -53.4% 93
Israel Israel 2.39 -67.1% 84
Italy Italy 3.65 -55.2% 62
Jordan Jordan 16.7 -60.1% 22
Japan Japan 1.43 -73.6% 104
Kazakhstan Kazakhstan 1.2 -72.5% 110
Kyrgyzstan Kyrgyzstan 8.01 -64.9% 41
Cambodia Cambodia 5.37 -78.7% 53
South Korea South Korea 1.94 -49.7% 92
Kuwait Kuwait 1.11 -32.8% 113
Laos Laos 3.51 -74.8% 64
Lebanon Lebanon 27 -43.6% 15
Sri Lanka Sri Lanka 8.22 -65.8% 40
Luxembourg Luxembourg 2.98 -24.2% 73
Macao SAR China Macao SAR China 60.6 -32.9% 4
Morocco Morocco 12 -46.8% 29
Moldova Moldova 11 -23.7% 31
Madagascar Madagascar 7.8 -66.5% 43
Maldives Maldives 78.9 -6.93% 1
Mexico Mexico 2.57 -49.8% 82
North Macedonia North Macedonia 3.52 -31.6% 63
Montenegro Montenegro 14.4 -72.6% 23
Mongolia Mongolia 0.641 -91.1% 119
Mozambique Mozambique 2.51 -55.7% 83
Mauritania Mauritania 0.23 -57.6% 122
Mauritius Mauritius 12.9 -60.9% 25
Malawi Malawi 2.68 -37.6% 79
Malaysia Malaysia 1.63 -82.5% 100
Namibia Namibia 3.99 -59.4% 59
Nigeria Nigeria 0.804 -61.8% 116
Netherlands Netherlands 1.44 -51.8% 103
Norway Norway 1.86 -61.4% 95
Nepal Nepal 13.4 -54.3% 24
Oman Oman 1.87 -73.5% 94
Pakistan Pakistan 2.8 -13.5% 76
Panama Panama 9.3 -62.6% 35
Peru Peru 2.2 -74.4% 89
Philippines Philippines 3.46 -71.4% 65
Poland Poland 2.63 -47% 81
Portugal Portugal 12.2 -47.5% 27
Paraguay Paraguay 0.843 -70.5% 115
Qatar Qatar 20.2 +18.7% 18
Romania Romania 1.73 -58.8% 98
Russia Russia 1.3 -63.7% 107
Rwanda Rwanda 11 -61% 30
Saudi Arabia Saudi Arabia 3.26 -53.1% 69
Solomon Islands Solomon Islands 1.63 -88.2% 99
El Salvador El Salvador 12.3 -40.2% 26
Serbia Serbia 5.58 -27.2% 52
Suriname Suriname 0.777 -72.2% 117
Slovakia Slovakia 1.43 -58.5% 105
Slovenia Slovenia 3.39 -54% 67
Eswatini Eswatini 0.404 -42.2% 121
Sint Maarten Sint Maarten 46.1 -29% 8
Seychelles Seychelles 18.4 -38% 21
Thailand Thailand 5.95 -70% 51
Tajikistan Tajikistan 7.27 -49.5% 46
Tonga Tonga 47.8 -5.83% 7
Trinidad & Tobago Trinidad & Tobago 2.34 -53.4% 86
Tunisia Tunisia 8.96 -54.1% 38
Turkey Turkey 6.63 -59.3% 49
Uganda Uganda 9.21 -59.4% 36
Ukraine Ukraine 1.13 -72.3% 111
Uruguay Uruguay 7.71 -42.6% 44
United States United States 3.9 -58.5% 61
Uzbekistan Uzbekistan 2.72 -72.4% 78
St. Vincent & Grenadines St. Vincent & Grenadines 46 -40.7% 9
Vietnam Vietnam 1.11 -73.6% 112
Vanuatu Vanuatu 50.4 -44.4% 6
Samoa Samoa 19.8 -67.7% 19
South Africa South Africa 2.89 -66.3% 74
Zimbabwe Zimbabwe 1.25 -76.8% 109

International tourism receipts as a percentage of total exports is a crucial indicator that reflects the economic significance of tourism to a country's overall financial landscape. This metric provides insight into how reliant a nation is on foreign visitors for revenue compared to other forms of exports, such as goods and services. Understanding this indicator is essential for policymakers, economists, and stakeholders within the tourism sector, as it highlights the degree to which tourism contributes to economic stability and growth.

The importance of this indicator cannot be overstated. For many small island nations and developing countries, tourism is one of the primary drivers of economic activity. High percentages often signify that the economy is heavily reliant on tourism-related income, allowing for job creation, infrastructure development, and foreign investment. Conversely, low percentages can reveal a diversified economy where tourism does not hold as much sway, or in some cases, indicate potential issues in attracting foreign visitors. The indicator serves as a litmus test for economic vulnerability, particularly in times of global crises such as the COVID-19 pandemic, which severely impacted international travel.

Relating international tourism receipts to other economic indicators, one can see a strong correlation between tourism revenue and GDP growth. In countries where tourism receipts account for a significant portion of total exports, fluctuations in visitor numbers can have dramatic effects on overall economic health. For instance, tourism is often interconnected with foreign exchange earnings, employment rates, and even infrastructure development. A decline in international tourism receipts typically leads to negative implications for the labor market, particularly in sectors directly associated with tourism, such as hospitality, transportation, and local businesses catering to tourists.

Several factors affect international tourism receipts. Exchange rates play a crucial role; when a country's currency is weaker compared to others, it can make travel more appealing for foreign visitors, thus increasing tourism intake. Additionally, geopolitical stability and international relations are vital considerations. Countries experiencing political unrest or security threats may find themselves struggling to attract tourists, which directly affects this indicator. Moreover, global events, such as the COVID-19 pandemic, have shown how vulnerabilities can quickly manifest, resulting in plummeting receipts due to travel restrictions and health concerns.

Various strategies can be employed to bolster international tourism receipts. A focus on marketing and diversification of tourism offerings is critical. Countries can invest in promoting various attractions, such as cultural heritage, adventure tourism, and ecotourism, to appeal to a broader audience. Furthermore, countries should prioritize infrastructure improvements to enhance the travel experience, making it easier and more enjoyable for visitors. Enhanced transportation networks, hospitality training programs, and upgraded facilities can significantly boost visitor satisfaction and drive repeat business.

Solutions to challenges affecting international tourism receipts can be multifaceted. For example, establishing bilateral agreements that promote tourism between countries can help increase visitor numbers. Additionally, developing local tourism industries and ensuring that the economic benefits of tourism extend beyond the immediate sector are essential for sustainability. Encouraging domestic tourism can help mitigate the impacts of international travel reduction during global crises.

Nevertheless, there are inherent flaws and risks in relying heavily on international tourism receipts. Over-reliance can lead to economic instability, especially in small economies that might be unable to pivot quickly when international tourism experiences downturns. The top five areas exhibiting the highest tourism receipts as a percentage of total exports in 2020—Maldives (78.87%), Aruba (74.59%), Antigua & Barbuda (70.04%), Macao SAR China (60.61%), and the Bahamas (59.64%)—clearly exemplify this vulnerability. These nations derive a significant portion of their economic lifeblood from tourism; any disruption—be it environmental, economic, or social—can destabilize their entire economy.

On the flip side, countries like Guinea (0.01%), Angola (0.09%), Algeria (0.2%), Mauritania (0.23%), and Eswatini (0.4%) present a stark contrast with minimal reliance on tourism receipts. This may suggest a more diversified export economy or, conversely, could indicate a lack of development in tourism infrastructure. These nations might have untapped tourism potential that, if harnessed properly, could serve as a new avenue for revenue generation and diversification of the economy.

Analyzing world data over the years from 1995 to 2019 reveals a general downward trend in the global percentage of tourism receipts as a proportion of total exports, peaking at 8.54% in 1995 and declining substantially to 7.4% in 2019. This shift reflects changing global dynamics, including the rising prominence of online shopping and digital services, which have increasingly taken precedence over conventional tourism activities. The decline might also signal the evolution of new travel patterns and preferences, where tourists may be opting for alternative experiences that do not contribute as significantly to traditional tourism revenues.

In conclusion, understanding the indicator of international tourism receipts as a percentage of total exports is vital for comprehending the interconnectedness of tourism and economic health. It encapsulates not only the strengths and vulnerabilities of economies but also highlights the opportunities and challenges faced by nations within the global tourism ecosystem. Addressing the discrepancies among various countries and focusing on strategic development can ensure that tourism remains a robust contributor to economic growth, security, and sustainability.

                    
# 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.RCPT.XP.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.RCPT.XP.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))