Population growth (annual %)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 0.247 +440% 161
Afghanistan Afghanistan 2.84 +32.8% 20
Angola Angola 3.04 -1.18% 13
Albania Albania -1.15 +0.000514% 208
Andorra Andorra 1.33 -7.28% 83
United Arab Emirates United Arab Emirates 3.68 -7.42% 8
Argentina Argentina 0.346 +20.5% 152
Armenia Armenia 2.31 -1,497% 38
American Samoa American Samoa -1.6 -6.38% 209
Antigua & Barbuda Antigua & Barbuda 0.487 -4.68% 143
Australia Australia 2.05 -15.4% 52
Austria Austria 0.51 -48.4% 140
Azerbaijan Azerbaijan 0.48 +299% 145
Burundi Burundi 2.58 -5.27% 25
Belgium Belgium 0.756 -17.3% 125
Benin Benin 2.46 -2.42% 28
Burkina Faso Burkina Faso 2.25 -1.05% 41
Bangladesh Bangladesh 1.21 -0.581% 94
Bulgaria Bulgaria -0.0346 -87.9% 179
Bahrain Bahrain 0.734 -78.3% 126
Bahamas Bahamas 0.46 -3.56% 148
Bosnia & Herzegovina Bosnia & Herzegovina -0.656 +6.2% 203
Belarus Belarus -0.487 -9.96% 199
Belize Belize 1.44 -30% 75
Bermuda Bermuda -0.0959 +21.7% 184
Bolivia Bolivia 1.37 -0.0929% 78
Brazil Brazil 0.405 +2.41% 150
Barbados Barbados 0.0464 +628% 174
Brunei Brunei 0.819 +4.55% 121
Bhutan Bhutan 0.651 -6.7% 130
Botswana Botswana 1.64 -0.301% 70
Central African Republic Central African Republic 3.4 +221% 10
Canada Canada 2.96 +1.98% 15
Switzerland Switzerland 1.63 +29.6% 71
Chile Chile 0.537 -0.408% 138
China China -0.123 +18.6% 186
Côte d’Ivoire Côte d’Ivoire 2.44 -2.7% 30
Cameroon Cameroon 2.61 -1.13% 24
Congo - Kinshasa Congo - Kinshasa 3.24 -0.523% 12
Congo - Brazzaville Congo - Brazzaville 2.4 -0.864% 33
Colombia Colombia 1.07 -4.14% 101
Comoros Comoros 1.89 -1.64% 59
Cape Verde Cape Verde 0.486 -2.18% 144
Costa Rica Costa Rica 0.476 +2.15% 146
Cuba Cuba -0.365 +1.02% 194
Curaçao Curaçao 0.0642 -98.3% 170
Cayman Islands Cayman Islands 1.92 -3.84% 57
Cyprus Cyprus 0.984 -3.18% 107
Czechia Czechia 0.167 -90.6% 166
Germany Germany -0.467 -477% 198
Djibouti Djibouti 1.36 -1.8% 80
Dominica Dominica -0.46 -3.03% 197
Denmark Denmark 0.504 -32% 141
Dominican Republic Dominican Republic 0.846 -5.05% 119
Algeria Algeria 1.4 -6.71% 76
Ecuador Ecuador 0.861 -1.36% 117
Egypt Egypt 1.73 +2.66% 67
Eritrea Eritrea 1.86 +5.08% 61
Spain Spain 0.945 -19.1% 113
Estonia Estonia 0.124 -92.1% 167
Ethiopia Ethiopia 2.58 -0.773% 26
Finland Finland 0.95 +90.3% 111
Fiji Fiji 0.501 -2.27% 142
France France 0.335 +2.69% 156
Faroe Islands Faroe Islands 0.513 -45.7% 139
Micronesia (Federated States of) Micronesia (Federated States of) 0.469 +2.24% 147
Gabon Gabon 2.16 -1.93% 47
United Kingdom United Kingdom 1.07 -18.3% 102
Georgia Georgia -1.13 -1,504% 207
Ghana Ghana 1.88 -1.76% 60
Gibraltar Gibraltar 2.21 -2.66% 44
Guinea Guinea 2.4 -2.68% 34
Gambia Gambia 2.28 -1.04% 39
Guinea-Bissau Guinea-Bissau 2.21 -1.79% 45
Equatorial Guinea Equatorial Guinea 2.4 -0.243% 32
Greece Greece -0.161 -46.2% 189
Grenada Grenada 0.108 -25.1% 168
Greenland Greenland -0.051 -114% 182
Guatemala Guatemala 1.54 +0.0925% 72
Guam Guam 0.76 -4.89% 124
Guyana Guyana 0.571 -0.191% 136
Hong Kong SAR China Hong Kong SAR China -0.159 -106% 188
Honduras Honduras 1.68 -1.75% 68
Croatia Croatia 0.171 +63.3% 165
Haiti Haiti 1.15 -0.139% 98
Hungary Hungary -0.312 +132% 192
Indonesia Indonesia 0.814 -3.42% 122
Isle of Man Isle of Man -0.00594 -115% 175
India India 0.891 +0.84% 114
Ireland Ireland 1.36 -24.5% 79
Iran Iran 1.05 -12.6% 103
Iraq Iraq 2.12 -5.63% 49
Iceland Iceland 2.82 -3.56% 21
Israel Israel 1.27 -57.9% 87
Italy Italy -0.0126 -63.1% 176
Jamaica Jamaica -0.0215 -195% 178
Jordan Jordan 0.989 -38.7% 106
Japan Japan -0.436 -10.6% 196
Kazakhstan Kazakhstan 1.28 -12.4% 85
Kenya Kenya 1.96 -1.28% 56
Kyrgyzstan Kyrgyzstan 1.74 -1.48% 66
Cambodia Cambodia 1.23 -4.46% 92
Kiribati Kiribati 1.49 -5% 74
St. Kitts & Nevis St. Kitts & Nevis 0.182 +73.2% 164
South Korea South Korea 0.0743 -4.08% 169
Kuwait Kuwait 2.45 -56.1% 29
Laos Laos 1.36 -2.45% 81
Lebanon Lebanon 0.561 +11.4% 137
Liberia Liberia 2.16 -2.12% 46
Libya Libya 1.03 -8.91% 104
St. Lucia St. Lucia 0.256 -9.17% 160
Liechtenstein Liechtenstein 0.867 -3.66% 116
Sri Lanka Sri Lanka -0.551 -15.5% 202
Lesotho Lesotho 1.12 +1.19% 99
Lithuania Lithuania 0.572 -59.2% 135
Luxembourg Luxembourg 1.68 -16.9% 69
Latvia Latvia -0.802 +678% 205
Macao SAR China Macao SAR China 1.2 +443% 95
Saint Martin (French part) Saint Martin (French part) -5.17 +7.52% 215
Morocco Morocco 0.973 -4.81% 109
Monaco Monaco -0.838 -1,405% 206
Moldova Moldova -2.83 -0.555% 213
Madagascar Madagascar 2.44 -1.09% 31
Maldives Maldives 0.343 -4.73% 154
Mexico Mexico 0.861 -1.34% 118
Marshall Islands Marshall Islands -3.35 +5.71% 214
North Macedonia North Macedonia -1.97 +825% 212
Mali Mali 2.94 -1.1% 16
Malta Malta 3.83 -3.99% 7
Myanmar (Burma) Myanmar (Burma) 0.674 -3.51% 128
Montenegro Montenegro 0.0484 -587% 173
Mongolia Mongolia 1.25 -9.12% 89
Northern Mariana Islands Northern Mariana Islands -1.93 -5.62% 211
Mozambique Mozambique 2.92 -1.14% 17
Mauritania Mauritania 2.88 -2.78% 18
Mauritius Mauritius -0.122 +3.5% 185
Malawi Malawi 2.58 +0.197% 27
Malaysia Malaysia 1.22 -1.09% 93
Namibia Namibia 2.24 -10.9% 43
New Caledonia New Caledonia 0.951 -0.154% 110
Niger Niger 3.28 -0.421% 11
Nigeria Nigeria 2.08 -0.734% 51
Nicaragua Nicaragua 1.35 -1.81% 82
Netherlands Netherlands 0.653 -34% 129
Norway Norway 0.95 -16.5% 112
Nepal Nepal -0.147 +109% 187
Nauru Nauru 0.604 -3.3% 134
New Zealand New Zealand 1.77 -28.4% 64
Oman Oman 4.5 -31.1% 4
Pakistan Pakistan 1.51 -2.53% 73
Panama Panama 1.27 -3.27% 86
Peru Peru 1.09 -0.542% 100
Philippines Philippines 0.826 +1.93% 120
Palau Palau -0.181 +0.181% 190
Papua New Guinea Papua New Guinea 1.78 -1.57% 62
Poland Poland -0.362 -0.942% 193
Puerto Rico Puerto Rico -0.0155 -97% 177
North Korea North Korea 0.305 -10.1% 158
Portugal Portugal 1.16 -15.2% 97
Paraguay Paraguay 1.23 +0.339% 91
Palestinian Territories Palestinian Territories 2.36 -1.38% 36
French Polynesia French Polynesia 0.245 -7.13% 162
Qatar Qatar 7.32 -15,053% 1
Romania Romania 0.0517 -10.2% 172
Russia Russia -0.203 -28.7% 191
Rwanda Rwanda 2.14 -2.58% 48
Saudi Arabia Saudi Arabia 4.63 -0.151% 3
Sudan Sudan 0.808 -39.1% 123
Senegal Senegal 2.32 -2.8% 37
Singapore Singapore 1.99 -58.9% 54
Solomon Islands Solomon Islands 2.37 -1.05% 35
Sierra Leone Sierra Leone 2.12 -3.31% 50
El Salvador El Salvador 0.452 -2.96% 149
San Marino San Marino 0.345 +11.1% 153
Somalia Somalia 3.48 +13.1% 9
Serbia Serbia -0.545 -12.3% 201
South Sudan South Sudan 3.93 -4.39% 6
São Tomé & Príncipe São Tomé & Príncipe 2 +0.146% 53
Suriname Suriname 0.878 -3.96% 115
Slovakia Slovakia -0.0861 -6.72% 183
Slovenia Slovenia 0.276 -30.3% 159
Sweden Sweden 0.313 -33.7% 157
Eswatini Eswatini 0.996 +5.25% 105
Sint Maarten Sint Maarten 1.4 -2.86% 77
Seychelles Seychelles 1.31 -1,597% 84
Syria Syria 4.47 -9.16% 5
Turks & Caicos Islands Turks & Caicos Islands 0.727 -4.7% 127
Chad Chad 4.95 +8.19% 2
Togo Togo 2.24 -3.95% 42
Thailand Thailand -0.048 +4.7% 181
Tajikistan Tajikistan 1.92 -4.99% 58
Turkmenistan Turkmenistan 1.75 -4.84% 65
Timor-Leste Timor-Leste 1.17 +7.85% 96
Tonga Tonga -0.404 -4.77% 195
Trinidad & Tobago Trinidad & Tobago 0.0602 -51.8% 171
Tunisia Tunisia 0.627 -6.06% 132
Turkey Turkey 0.226 -44.5% 163
Tuvalu Tuvalu -1.75 -1.69% 210
Tanzania Tanzania 2.87 -0.973% 19
Uganda Uganda 2.75 -1.68% 23
Ukraine Ukraine 0.337 -104% 155
Uruguay Uruguay -0.0441 -47.2% 180
United States United States 0.976 +17.4% 108
Uzbekistan Uzbekistan 1.97 -2.5% 55
St. Vincent & Grenadines St. Vincent & Grenadines -0.7 -1.52% 204
Venezuela Venezuela 0.369 +18.8% 151
British Virgin Islands British Virgin Islands 1.24 -28.1% 90
U.S. Virgin Islands U.S. Virgin Islands -0.516 +9.41% 200
Vietnam Vietnam 0.631 -5.98% 131
Vanuatu Vanuatu 2.27 -2.21% 40
Samoa Samoa 0.624 -3.89% 133
Kosovo Kosovo -9.69 +95.6% 216
Yemen Yemen 2.98 -0.92% 14
South Africa South Africa 1.25 -5.92% 88
Zambia Zambia 2.81 +0.635% 22
Zimbabwe Zimbabwe 1.78 +6.16% 63

Population growth is a critical demographic indicator reflecting the percentage increase in a population over a specific time period, typically one year. This measure is influenced by various factors, including birth rates, death rates, and migration patterns. Its importance cannot be overstated, as population growth is intricately linked to economic development, resource allocation, social stability, and environmental sustainability.

The significance of understanding population growth lies in its implications for policymaking. As populations grow, especially in developing regions, there is a pressing need for adequate infrastructure, healthcare, education, and employment opportunities. Conversely, negative growth rates in regions facing depopulation can lead to labor shortages and potential economic decline. Thus, assessing population growth helps governments anticipate and manage challenges posed by demographic changes.

When examining population growth in relation to other economic indicators, it often interacts with GDP growth rates, employment levels, and health outcomes. For instance, a rapidly growing population may strain public services and infrastructure if not matched by economic growth. On the other hand, in regions with declining populations, there may be an oversupply of resources, leading to wastage and inefficiencies. Therefore, it is essential for policymakers to ensure that the pace of economic development is aligned with demographic trends.

Several factors influence population growth. These include fertility rates, healthcare access, socioeconomic status, educational attainment, and cultural norms. High fertility rates often lead to rapid population growth, particularly in regions with limited access to family planning and education. Conversely, regions with higher educational levels, particularly among women, tend to have lower fertility rates, thus contributing to slower population growth. Migration also plays a crucial role; areas with high immigration rates might experience significant population surges, while regions witnessing emigration may face declines.

In 2023, the global median population growth rate stands at 1.02%, reflecting a gradual decline from the earlier decades when population growth rates were more robust. The data over the years indicates a trend of decreasing global population growth; from a notable high of 2.14% in 1963 to the much lower rate being observed today. This diluted growth pattern suggests a global shift toward lower fertility rates, better family planning practices, and potential saturation in more developed regions.

In 2023, certain countries exemplify the extremes of population growth. Oman leads with a staggering growth rate of 6.53%, followed closely by Kuwait at 5.59% and Syria at 4.92%. These dramatic increases can be attributed to various factors including high fertility rates, favorable immigration policies, and economic opportunities in those regions, which incentivize larger families. In contrast, countries experiencing negative growth rates—such as Ukraine at -8.42% and Saint Martin (French part) at -4.81%—face challenges such as economic hardship, migration away from these areas, and aging populations. Essentially, these statistics signify not just raw numbers but the underlying socio-economic realities that these regions are grappling with.

To address the complex dynamics of population growth, various strategies can be implemented. Governments can invest in education, particularly for women, to empower families to make informed choices about reproduction. Enhancing access to healthcare services, including reproductive health, can help in managing birth rates sustainably. Also crucial is the need for policies that promote economic development in regions that are experiencing negative growth, including incentives for families to stay and invest in their local economy.

Nonetheless, while strategies can help manage population growth effectively, they may not be devoid of flaws. For instance, policies aimed at controlling population growth can sometimes veer into controversial territory, risking violations of reproductive rights. Moreover, there’s the possibility of significant cultural pushback against family planning, particularly in societies where large families are culturally valued. Strategic solutions must therefore consider local contexts and be framed in a manner that respects cultural beliefs while promoting sustainability.

In conclusion, the indicator of population growth (annual %) serves as a vital tool for understanding demographic trends and their socio-economic implications. By closely monitoring these growth rates and exploring their interrelations with other indicators, countries can tailor policies to ensure sustainable development that addresses both present and future needs. The dynamics behind population growth underscore the importance of proactive and adaptive governance in a world characterized by swift demographic shifts.

                    
# 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 = 'SP.POP.GROW'

# 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 <- 'SP.POP.GROW'

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