Imports of goods and services (annual % growth)

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola -6.15 -9.29% 124
Albania Albania 5.99 +2,802% 42
Argentina Argentina -10.6 -711% 126
Armenia Armenia 31.4 +3.97% 1
Australia Australia 6.43 -47.2% 38
Austria Austria -5.04 +9.76% 122
Belgium Belgium -3.53 -48.1% 117
Benin Benin -0.752 -107% 102
Burkina Faso Burkina Faso 15.8 +23.7% 9
Bangladesh Bangladesh -4.6 -52.9% 121
Bulgaria Bulgaria 1.31 -124% 88
Bahamas Bahamas 12.7 -16.6% 12
Bosnia & Herzegovina Bosnia & Herzegovina 2.79 -318% 70
Belarus Belarus 5.25 -76.9% 48
Bermuda Bermuda 6.14 +17,361% 40
Brazil Brazil 14.7 -1,342% 10
Brunei Brunei 0.168 -102% 96
Botswana Botswana 12.3 -273% 14
Central African Republic Central African Republic 29.8 -370% 2
Canada Canada 0.635 +85.1% 91
Switzerland Switzerland 0.387 -85.7% 92
Chile Chile 2.46 -122% 77
Côte d’Ivoire Côte d’Ivoire 4 -48.1% 61
Cameroon Cameroon 1.94 +1.77% 84
Congo - Kinshasa Congo - Kinshasa 18.4 -82.5% 7
Congo - Brazzaville Congo - Brazzaville 5 -43.8% 50
Colombia Colombia 4.22 -143% 57
Comoros Comoros 2.75 -722% 71
Cape Verde Cape Verde 2.73 -56.8% 73
Costa Rica Costa Rica 5.99 +15.5% 41
Cyprus Cyprus 2.36 -433% 80
Czechia Czechia 0.932 -204% 89
Germany Germany 0.19 -130% 94
Djibouti Djibouti 12.5 +551% 13
Denmark Denmark 2.98 -20.5% 68
Dominican Republic Dominican Republic 3.36 +2,222% 66
Ecuador Ecuador 1.66 +168% 87
Egypt Egypt 4.66 +315% 53
Spain Spain 2.43 +760% 78
Estonia Estonia 0.0325 -100% 97
Ethiopia Ethiopia 26 -728% 3
Finland Finland -2.45 -63.6% 112
France France -1.22 -471% 105
Gabon Gabon 6.84 +436% 35
United Kingdom United Kingdom 2.69 -318% 74
Georgia Georgia 8.49 -14.8% 25
Ghana Ghana 9.52 -906% 19
Guinea Guinea 23 -8% 5
Gambia Gambia 7.2 +51.1% 34
Guinea-Bissau Guinea-Bissau 1.84 -151% 85
Equatorial Guinea Equatorial Guinea 0.176 -101% 95
Greece Greece 5.48 +523% 44
Guatemala Guatemala 8.97 +65.2% 21
Hong Kong SAR China Hong Kong SAR China 3.55 -168% 65
Honduras Honduras 2.33 -127% 81
Croatia Croatia 5.35 -201% 46
Haiti Haiti -16.2 +4,058% 127
Hungary Hungary -3.95 +14.7% 119
Indonesia Indonesia 7.95 -596% 29
India India -1.13 -108% 104
Ireland Ireland 6.49 +436% 37
Iran Iran -1.05 -135% 103
Iraq Iraq 23.9 +4,376% 4
Iceland Iceland 2.75 -365% 72
Israel Israel -0.434 -94.2% 99
Italy Italy -0.722 -54.4% 101
Kenya Kenya 2.5 -181% 76
Cambodia Cambodia 7.53 -449% 32
Kiribati Kiribati -1.76 -146% 109
Libya Libya -3.02 -81.7% 115
Sri Lanka Sri Lanka 22.5 +151% 6
Lithuania Lithuania 2.4 -145% 79
Luxembourg Luxembourg -0.279 -175% 98
Latvia Latvia -2.34 +18.1% 111
Macao SAR China Macao SAR China -3.89 -140% 118
Morocco Morocco 13 +74.8% 11
Moldova Moldova 5.23 -202% 49
Madagascar Madagascar 0.868 -118% 90
Mexico Mexico 2.68 -26.8% 75
North Macedonia North Macedonia -0.619 -89.3% 100
Mali Mali -3.5 +844% 116
Malta Malta 4.65 +137% 54
Montenegro Montenegro 5.55 -6.13% 43
Mongolia Mongolia 17.7 -6.21% 8
Mozambique Mozambique -1.5 -94.1% 107
Mauritius Mauritius 8.91 +113% 23
Malaysia Malaysia 8.95 -220% 22
Namibia Namibia 7.94 -64.7% 30
Niger Niger -2 -83.3% 110
Nicaragua Nicaragua 12 +32.8% 15
Netherlands Netherlands 0.263 -114% 93
Norway Norway 3.66 -340% 64
Nepal Nepal -2.54 -86.5% 113
Pakistan Pakistan 4.11 +124% 60
Peru Peru 8.02 -585% 27
Philippines Philippines 4.18 +303% 58
Poland Poland 4.24 -384% 56
Portugal Portugal 4.95 +175% 51
Paraguay Paraguay 4.16 -55.8% 59
Palestinian Territories Palestinian Territories -31.1 +733% 129
Romania Romania 3.84 -444% 63
Rwanda Rwanda 11.5 -20.2% 17
Saudi Arabia Saudi Arabia 3.31 -66% 67
Sudan Sudan -21.5 +69.3% 128
Senegal Senegal -5.08 +1,076% 123
Singapore Singapore 6.65 +25.3% 36
Sierra Leone Sierra Leone 12 +29.2% 16
El Salvador El Salvador 7.98 -667% 28
Somalia Somalia 11.4 +20% 18
Serbia Serbia 8.31 -610% 26
Slovakia Slovakia 2.28 -130% 82
Slovenia Slovenia 3.91 -187% 62
Sweden Sweden 1.67 -319% 86
Seychelles Seychelles 7.5 +217% 33
Chad Chad 2.97 -29.6% 69
Togo Togo 5.4 -7.4% 45
Thailand Thailand 6.29 -351% 39
Tunisia Tunisia 4.57 -17.6% 55
Turkey Turkey -4.11 -135% 120
Tanzania Tanzania 9.22 +22.9% 20
Uganda Uganda 4.71 -207% 52
Ukraine Ukraine 7.69 -13.9% 31
Uruguay Uruguay -1.47 -126% 106
United States United States 5.31 -553% 47
Uzbekistan Uzbekistan -1.5 -110% 108
Samoa Samoa -3 -111% 114
Kosovo Kosovo 8.88 +89% 24
South Africa South Africa -6.33 -260% 125
Zimbabwe Zimbabwe 2.03 -118% 83

The indicator for 'Imports of goods and services (annual % growth)' serves as a critical gauge of a country's economic health and trade dynamics. It reflects the percentage change in the volume of goods and services that a country imports over a given year. When examining this indicator, it is essential to recognize its significance in understanding a nation's economic structure, its reliance on foreign markets, and its overall rate of economic growth.

Imports are a vital component of a country’s Gross Domestic Product (GDP) and play an essential role in various sectors, including manufacturing, agriculture, and services. An increase in imports usually signifies that domestic demand is rising, which could be interpreted positively by economists as a sign of economic expansion. Conversely, a decrease in imports may raise concerns about falling consumer demand, economic contraction, or issues in the supply chain.

The relationship between imports and other economic indicators is multifaceted. Imports are intricately linked with indicators such as GDP growth, trade balance, and employment rates. A robust growth in imports can lead to increased employment, as companies that require imported goods expand their operational capacity. However, if imports grow too rapidly and outpace domestic production, it can result in a trade deficit, which might exert pressure on the currency and lead to inflation.

Several factors impact the growth rate of imports. Among them are changes in consumer preferences, economic policies, global market trends, currency exchange fluctuations, and socio-political stability. For example, during economic booms, consumer demand for foreign goods may increase, while during recessions, protectionist policies may impose tariffs that reduce imports, illustrating a direct correlation between economic conditions and import levels.

When analyzing the latest figures from 2023, the median value of imports growth stands at 0.31%. This figure suggests modest growth in global imports, reflecting a gradual recovery from previous economic disruptions. Notably, the top five areas experiencing significant growth in imports include Congo - Kinshasa with a staggering 85.61%, Kyrgyzstan at 34.06%, Armenia at 30.2%, Samoa reaching 26.73%, and Namibia at 22.74%. The remarkable increase in these regions can be attributed to various local developments including infrastructural expansion, increased consumer spending, and favorable trade agreements that enhance access to foreign goods.

In stark contrast, the bottom five areas—Equatorial Guinea at -25.49%, Mozambique at -25.21%, Sudan at -22.3%, Nepal at -18.73%, and Libya at -16.54%—represent countries in economic distress or under significant economic pressures. These declines are indicative of complications such as political upheaval, ongoing conflict, or severe economic mismanagement, which drastically impact their ability to engage in international trade efficiently.

Over the past decades, world values for imports have witnessed extensive fluctuations, reflecting internal economic changes and external crises. Data from 1971 to 2023 show that global import growth peaked during the early 1970s and has experienced pronounced volatility due to events such as oil crises, global financial crises, and more recently, the COVID-19 pandemic, which saw imports plummet to -8.69% in 2020 before rebounding to 11.46% in 2021 and stabilizing to 7.7% in 2022. This historical data emphasizes the cyclic nature of global trade and illustrates how quickly economic conditions can change.

Addressing the complexities of import growth entails both strategies and solutions. Policymakers can foster healthier import levels through encouraging domestic production and prioritizing trade agreements that benefit their industries. Further, investments in infrastructure and technology will support improved logistical frameworks, ensuring that imports bolster economic growth rather than hinder it. However, there are inherent flaws in how import growth is strategized. Over-reliance on imports can expose economies to global market shocks, creating vulnerabilities that can lead to significant economic downturns in times of crisis.

In summary, the growth of imports of goods and services is a vital economic indicator that reflects a myriad of internal and external influences. Monitoring its fluctuations allows for greater foresight into economic resilience and potential vulnerabilities. Countries must navigate the fine line between healthy import growth and excessive dependency on foreign goods, leveraging strategies that stimulate domestic production while remaining competitive in the global marketplace. Understanding the historical context and ongoing trends in import growth will remain crucial as nations endeavor to secure stable and sustainable economic futures.

                    
# 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 = 'NE.IMP.GNFS.KD.ZG'

# 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 <- 'NE.IMP.GNFS.KD.ZG'

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