GDP growth (annual %)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 4.42 +310% 47
Albania Albania 3.96 +0.638% 66
Andorra Andorra 3.37 +30.5% 91
United Arab Emirates United Arab Emirates 3.76 +3.95% 72
Argentina Argentina -1.72 +6.71% 177
Armenia Armenia 5.9 -28.9% 23
Antigua & Barbuda Antigua & Barbuda 4.33 +78.3% 51
Australia Australia 1.43 -58.4% 143
Austria Austria -1.17 +22.9% 175
Azerbaijan Azerbaijan 4.07 +201% 59
Burundi Burundi 3.49 +30.9% 83
Belgium Belgium 1.02 -15.2% 153
Benin Benin 7.45 +17.3% 10
Burkina Faso Burkina Faso 4.99 +68.4% 38
Bangladesh Bangladesh 4.22 -26.9% 55
Bulgaria Bulgaria 2.81 +49% 107
Bahrain Bahrain 3.02 -22.2% 102
Bahamas Bahamas 3.38 +10.8% 90
Bosnia & Herzegovina Bosnia & Herzegovina 2.48 +24.4% 122
Belarus Belarus 4.01 -2.83% 62
Belize Belize 8.15 +609% 9
Bermuda Bermuda 2.11 -57.2% 126
Bolivia Bolivia 1.38 -55.1% 144
Brazil Brazil 3.4 +4.76% 87
Barbados Barbados 3.8 -7.18% 71
Brunei Brunei 4.2 +272% 56
Botswana Botswana -2.99 -193% 181
Central African Republic Central African Republic 1.54 +120% 140
Canada Canada 1.53 -0.0435% 141
Switzerland Switzerland 1.3 +90.6% 146
Chile Chile 2.64 +407% 114
China China 4.98 -8.08% 39
Côte d’Ivoire Côte d’Ivoire 5.95 -7.76% 22
Cameroon Cameroon 3.67 +13% 76
Congo - Kinshasa Congo - Kinshasa 6.68 -22.5% 15
Congo - Brazzaville Congo - Brazzaville 2.58 +35.3% 117
Colombia Colombia 1.74 +145% 136
Comoros Comoros 3.39 +10.6% 88
Cape Verde Cape Verde 7.27 +34.9% 12
Costa Rica Costa Rica 4.32 -15.5% 52
Cyprus Cyprus 3.45 +24.8% 85
Czechia Czechia 1.12 -2,127% 150
Germany Germany -0.239 -10.5% 169
Djibouti Djibouti 5.95 -19.2% 21
Dominica Dominica 2.05 -43.8% 129
Denmark Denmark 3.68 +47.3% 75
Dominican Republic Dominican Republic 4.95 +126% 40
Algeria Algeria 3.3 -19.5% 93
Ecuador Ecuador -2 -201% 178
Egypt Egypt 2.4 -36.2% 123
Spain Spain 3.15 +17.7% 98
Estonia Estonia -0.261 -91.4% 170
Ethiopia Ethiopia 7.32 +11% 11
Finland Finland -0.154 -83.7% 168
Fiji Fiji 3.83 -49.1% 69
France France 1.17 +24.5% 149
Micronesia (Federated States of) Micronesia (Federated States of) 0.719 +49.1% 161
Gabon Gabon 3.38 +38.4% 89
United Kingdom United Kingdom 1.1 +177% 151
Georgia Georgia 9.43 +20.4% 2
Ghana Ghana 5.68 +81% 26
Guinea Guinea 5.67 +2.29% 27
Gambia Gambia 5.75 +19.8% 24
Guinea-Bissau Guinea-Bissau 4.81 +7.84% 42
Equatorial Guinea Equatorial Guinea 0.907 -118% 156
Greece Greece 2.27 -2.59% 124
Grenada Grenada 3.69 -21.1% 74
Guatemala Guatemala 3.65 +3.36% 79
Guyana Guyana 43.4 +28.3% 1
Hong Kong SAR China Hong Kong SAR China 2.54 -20.9% 118
Honduras Honduras 3.55 -0.612% 81
Croatia Croatia 3.81 +15.5% 70
Haiti Haiti -4.17 +124% 182
Hungary Hungary 0.512 -161% 164
Indonesia Indonesia 5.03 -0.37% 35
India India 6.48 -29.4% 17
Ireland Ireland 1.22 -122% 147
Iran Iran 3.04 -39.7% 101
Iraq Iraq -1.55 -398% 176
Iceland Iceland 0.517 -90.8% 163
Israel Israel 0.872 -52.3% 158
Italy Italy 0.726 +1.46% 160
Jamaica Jamaica -0.719 -128% 173
Jordan Jordan 2.49 -13.7% 121
Japan Japan 0.0837 -94.3% 166
Kazakhstan Kazakhstan 4.8 -5.88% 43
Kenya Kenya 4.5 -19.1% 46
Kyrgyzstan Kyrgyzstan 9.04 +0.298% 4
Cambodia Cambodia 6.02 +20.1% 19
Kiribati Kiribati 5.27 +98.6% 31
St. Kitts & Nevis St. Kitts & Nevis 1.17 -73.1% 148
Kuwait Kuwait -2.56 +53.6% 180
Laos Laos 4.26 +13.7% 53
Liberia Liberia 4.79 +2.33% 44
Libya Libya -0.606 -106% 172
St. Lucia St. Lucia 3.89 +76.1% 67
Sri Lanka Sri Lanka 5.01 -315% 36
Lesotho Lesotho 2.76 +51.2% 112
Lithuania Lithuania 2.77 +710% 109
Luxembourg Luxembourg 1.03 -249% 152
Latvia Latvia -0.442 -116% 171
Macao SAR China Macao SAR China 8.81 -88.3% 6
Morocco Morocco 3.24 -4.9% 94
Moldova Moldova 0.103 -91.4% 165
Madagascar Madagascar 4.2 -0.0725% 57
Maldives Maldives 5.13 +8.62% 33
Mexico Mexico 1.45 -55.9% 142
Marshall Islands Marshall Islands 2.77 -170% 110
North Macedonia North Macedonia 2.76 +33% 113
Mali Mali 5 +6.09% 37
Malta Malta 5.97 -12.2% 20
Myanmar (Burma) Myanmar (Burma) -0.972 -201% 174
Montenegro Montenegro 3.04 -52% 100
Mongolia Mongolia 4.86 -34.5% 41
Mozambique Mozambique 1.85 -65.9% 132
Mauritania Mauritania 5.2 -20.1% 32
Mauritius Mauritius 4.69 -6.27% 45
Malawi Malawi 1.83 -3.47% 133
Malaysia Malaysia 5.11 +43.8% 34
Namibia Namibia 3.71 -16.5% 73
Niger Niger 8.42 +405% 7
Nigeria Nigeria 3.43 +19.8% 86
Nicaragua Nicaragua 3.59 -19% 80
Netherlands Netherlands 0.98 +1,214% 154
Norway Norway 2.1 +2,812% 127
Nepal Nepal 3.67 +84.9% 77
Nauru Nauru 1.76 +172% 135
New Zealand New Zealand -0.126 -109% 167
Oman Oman 1.67 +41% 137
Pakistan Pakistan 3.23 -8,220% 95
Panama Panama 2.86 -61.3% 105
Peru Peru 3.3 -919% 92
Philippines Philippines 5.69 +3.14% 25
Papua New Guinea Papua New Guinea 4.1 +7.46% 58
Poland Poland 2.92 +1,071% 103
Puerto Rico Puerto Rico 3.23 +548% 96
Portugal Portugal 1.93 -26.2% 131
Paraguay Paraguay 4.25 -15% 54
Palestinian Territories Palestinian Territories -26.6 +483% 184
Qatar Qatar 2.77 +133% 111
Romania Romania 0.814 -66.2% 159
Russia Russia 4.34 +6.41% 50
Rwanda Rwanda 8.89 +7.77% 5
Saudi Arabia Saudi Arabia 1.81 +233% 134
Sudan Sudan -13.5 -54.2% 183
Senegal Senegal 6.89 +61.9% 14
Singapore Singapore 4.39 +141% 49
Solomon Islands Solomon Islands 2.54 -4.41% 119
Sierra Leone Sierra Leone 4 -29.9% 63
El Salvador El Salvador 2.6 -26.5% 116
Somalia Somalia 3.97 -5.79% 64
Serbia Serbia 3.88 +0.794% 68
São Tomé & Príncipe São Tomé & Príncipe 0.9 +142% 157
Suriname Suriname 2.84 +11.8% 106
Slovakia Slovakia 2.06 -4.91% 128
Slovenia Slovenia 1.59 -24.7% 139
Sweden Sweden 0.974 -953% 155
Eswatini Eswatini 2.64 -23.3% 115
Sint Maarten Sint Maarten 3.5 -7.89% 82
Seychelles Seychelles 3.47 +53.4% 84
Turks & Caicos Islands Turks & Caicos Islands 5.64 -58.9% 28
Chad Chad 3.65 -11.2% 78
Togo Togo 5.3 -17.3% 30
Thailand Thailand 2.53 +25.2% 120
Tajikistan Tajikistan 8.4 +1.2% 8
Turkmenistan Turkmenistan 2.26 -64.1% 125
Timor-Leste Timor-Leste -2.19 -87.9% 179
Trinidad & Tobago Trinidad & Tobago 1.65 +15.7% 138
Tunisia Tunisia 1.35 +3,349% 145
Turkey Turkey 3.18 -37.7% 97
Tanzania Tanzania 5.53 +9.01% 29
Uganda Uganda 6.14 +15% 18
Ukraine Ukraine 2.91 -47.4% 104
Uruguay Uruguay 3.11 +319% 99
United States United States 2.8 -3.16% 108
Uzbekistan Uzbekistan 6.5 +3.32% 16
St. Vincent & Grenadines St. Vincent & Grenadines 4.06 -23.7% 60
Vietnam Vietnam 7.09 +40% 13
Vanuatu Vanuatu 3.97 -511% 65
Samoa Samoa 9.42 +2.32% 3
Kosovo Kosovo 4.41 +8.48% 48
South Africa South Africa 0.58 -17% 162
Zambia Zambia 4.04 -24.7% 61
Zimbabwe Zimbabwe 2.03 -62% 130

The Gross Domestic Product (GDP) growth rate, expressed as an annual percentage, is a crucial economic indicator that reflects how much a country’s economy has grown compared to the previous year. It is calculated by comparing a country’s GDP in two consecutive years, measuring the economic performance's improvement or decline. In essence, it provides insights into the economic health of a nation and serves as an essential barometer for assessing economic progress.

Understanding GDP growth is vital for multiple stakeholders, including policymakers, businesses, and investors. A positive GDP growth rate indicates a burgeoning economy, potentially leading to increased employment opportunities, higher income levels, and greater consumer spending. Conversely, a negative GDP growth rate suggests economic contraction, which can trigger job losses, reduced consumer confidence, and a decline in investments. Therefore, GDP growth figures are critically monitored and analyzed to inform economic strategies and decisions.

The relationships between GDP growth and other economic indicators are multifaceted. For instance, GDP growth correlates with employment rates; typically, as GDP rises, employment rates climb as businesses expand and require more workers. Additionally, inflation often has an intricate relationship with GDP growth. Moderate inflation can accompany healthy GDP growth, but hyperinflation can stifle that growth, indicating an economic imbalance. Interest rates also play a vital role; central banks may adjust rates to influence GDP growth through investments and consumer spending. When rates are low, borrowing becomes cheaper, potentially spurring economic growth.

Numerous factors influence GDP growth, including political stability, economic policies, natural resources, infrastructure, educational attainment, and innovation. A country with stable governance often creates an environment conducive to investment and growth. Effective fiscal and monetary policies can incentivize business investments and consumer spending, catalyzing higher GDP. Natural resources can serve as a backbone of growth, particularly for developing nations; however, reliance solely on these resources can lead to economic vulnerability. A strong infrastructure allows for efficient transportation and communication, enhancing productivity. Moreover, education and innovation foster productivity gains, fueling higher levels of economic activity.

Strategies for enhancing GDP growth are diverse and should be adapted to each country’s unique context and challenges. A focus on education and workforce development can improve productivity and innovation. Policymakers may implement tax reforms to stimulate investment, foster entrepreneurship, and create an enabling environment for businesses. Infrastructure development projects can generate jobs in the short term while facilitating long-term economic growth. Trade agreements can provide access to new markets and stimulate economic activity. Encouraging research and development can lead to technological advancements that drive efficiency and economic output.

Despite its importance, measuring GDP growth is not without flaws. One significant criticism is that GDP does not account for income inequality; a country can demonstrate healthy economic growth while a significant portion of its population remains impoverished. Additionally, GDP growth alone does not reflect the quality of life. For example, environmental degradation might accompany excessive economic activities that boost GDP, thereby questioning the sustainability of such growth. Moreover, informal economies and unpaid labor, prevalent in many regions, often remain unaccounted for, potentially underestimating actual economic activity.

Looking at the most recent data for 2023, we see a median GDP growth rate of 2.96%. This figure highlights an ongoing recovery from the economic turmoil exacerbated by global events such as the COVID-19 pandemic, where many nations faced severe economic challenges. The data also showcases extreme variations across different regions, with the highest reported growth rates observed in areas such as Macao SAR China at an astonishing 75.06%, Guyana at 33.8%, and Libya at 10.16%. Such high growth rates can largely be attributed to various factors including economic recovery policies, infrastructure investments, and, in some cases, the exploitation of natural resources or tourism rebounds.

On the flip side, the bottom five areas reported negative growth rates, with Sudan at -20.11% and Timor-Leste at -18.12%. Such drastic declines in GDP growth usually reflect political instability, economic mismanagement, and external shocks that disrupt economic activities. For example, Sudan's situation may be linked to ongoing conflicts and sanctions that derail economic development. Likewise, Ireland and the Palestinian Territories, with rates of -5.53% and -5.41% respectively, may witness declines due to local economic factors and their unique socio-political contexts. Equatorial Guinea, with a growth rate of -5.09%, also reflects challenges that could stem from over-reliance on oil exports in a volatile market.

Looking at historical trends, GDP growth worldwide has experienced considerable fluctuations over the decades, with highs such as 6.57% in 1964 and lows such as -2.88% in 2020 during the pandemic’s peak. The most recent global figure of 2.83% for 2023 signals a modest recovery phase, suggesting ongoing global economic adjustments. As various economies strive to rebound from previous downturns, the task ahead requires collaborative efforts in policy-making that prioritize sustainable growth, social equity, and environmental stewardship, ensuring that GDP growth reflects broader societal advancement.

                    
# 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 = 'NY.GDP.MKTP.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 <- 'NY.GDP.MKTP.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))