Fertility rate, total (births per woman)

Source: worldbank.org, 01.09.2025

Year: 2023

Flag Country Value Value change, % Rank
Aruba Aruba 1.6 -0.805% 130
Afghanistan Afghanistan 4.84 -1.87% 9
Angola Angola 5.12 -1.63% 7
Albania Albania 1.35 -0.517% 169
Andorra Andorra 1.08 +1.03% 183
United Arab Emirates United Arab Emirates 1.2 +4.53% 177
Argentina Argentina 1.5 +1.21% 145
Armenia Armenia 1.9 +11.8% 108
American Samoa American Samoa 2.29 -0.824% 83
Antigua & Barbuda Antigua & Barbuda 1.58 -0.127% 132
Australia Australia 1.5 -7.98% 145
Austria Austria 1.32 -6.38% 171
Azerbaijan Azerbaijan 1.55 -7.19% 135
Burundi Burundi 4.88 -2.05% 8
Belgium Belgium 1.47 -3.92% 150
Benin Benin 4.56 -1.68% 14
Burkina Faso Burkina Faso 4.19 -2.08% 21
Bangladesh Bangladesh 2.16 -0.734% 92
Bulgaria Bulgaria 1.81 +1.69% 114
Bahrain Bahrain 1.82 -0.816% 112
Bahamas Bahamas 1.37 -0.435% 166
Bosnia & Herzegovina Bosnia & Herzegovina 1.49 +0.338% 148
Belarus Belarus 1.21 -8.9% 176
Belize Belize 2.01 +2.98% 99
Bermuda Bermuda 1.4 +0.286% 161
Bolivia Bolivia 2.55 -1.43% 74
Brazil Brazil 1.62 -0.614% 127
Barbados Barbados 1.71 -0.234% 123
Brunei Brunei 1.75 -0.964% 118
Bhutan Bhutan 1.46 -1.08% 152
Botswana Botswana 2.73 -1.9% 63
Central African Republic Central African Republic 6.01 -0.183% 5
Canada Canada 1.26 -5.26% 173
Switzerland Switzerland 1.33 -4.32% 170
Chile Chile 1.17 -7.01% 179
China China 0.999 -3.38% 186
Côte d’Ivoire Côte d’Ivoire 4.28 -1.52% 18
Cameroon Cameroon 4.32 -1.71% 17
Congo - Kinshasa Congo - Kinshasa 6.05 -0.901% 4
Congo - Brazzaville Congo - Brazzaville 4.16 -1.38% 22
Colombia Colombia 1.65 -1.08% 126
Comoros Comoros 3.88 -1.45% 29
Cape Verde Cape Verde 1.52 -0.718% 141
Costa Rica Costa Rica 1.33 -0.375% 170
Cuba Cuba 1.44 +1.91% 157
Curaçao Curaçao 1.2 -7.69% 177
Cayman Islands Cayman Islands 1.53 -0.649% 139
Cyprus Cyprus 1.39 -0.287% 164
Czechia Czechia 1.45 -11.6% 154
Germany Germany 1.39 -4.47% 163
Djibouti Djibouti 2.61 -1.66% 72
Dominica Dominica 1.48 +0.135% 149
Denmark Denmark 1.5 -3.23% 145
Dominican Republic Dominican Republic 2.24 -1.06% 87
Algeria Algeria 2.77 -1.81% 59
Ecuador Ecuador 1.82 -2.04% 113
Egypt Egypt 2.75 0% 61
Eritrea Eritrea 3.71 -1.93% 36
Spain Spain 1.12 -3.45% 182
Estonia Estonia 1.31 -7.09% 172
Ethiopia Ethiopia 3.99 -2.28% 26
Finland Finland 1.26 -4.55% 173
Fiji Fiji 2.28 -1.04% 84
France France 1.66 -7.26% 125
Faroe Islands Faroe Islands 1.86 -10.3% 110
Micronesia (Federated States of) Micronesia (Federated States of) 2.75 -1.33% 62
Gabon Gabon 3.65 -1.75% 39
United Kingdom United Kingdom 1.56 0% 134
Georgia Georgia 1.81 -0.549% 114
Ghana Ghana 3.4 -1.08% 45
Gibraltar Gibraltar 1.89 -0.369% 109
Guinea Guinea 4.22 -2% 19
Gambia Gambia 4.01 -1.77% 25
Guinea-Bissau Guinea-Bissau 3.84 -1.92% 31
Equatorial Guinea Equatorial Guinea 4.08 -2.13% 24
Greece Greece 1.32 0% 171
Grenada Grenada 1.49 -0.999% 147
Greenland Greenland 1.77 -2.7% 117
Guatemala Guatemala 2.31 -1.37% 82
Guam Guam 2.78 -1.35% 58
Guyana Guyana 2.41 -1.03% 79
Hong Kong SAR China Hong Kong SAR China 0.751 +7.13% 190
Honduras Honduras 2.5 -0.872% 76
Croatia Croatia 1.46 -4.58% 153
Haiti Haiti 2.66 -1.59% 70
Hungary Hungary 1.51 -3.21% 142
Indonesia Indonesia 2.13 -1.02% 93
Isle of Man Isle of Man 1.55 -0.514% 136
India India 1.98 -0.953% 102
Ireland Ireland 1.5 -2.6% 145
Iran Iran 1.7 -0.528% 124
Iraq Iraq 3.25 -1.37% 48
Iceland Iceland 1.59 +0.0629% 131
Israel Israel 2.85 -1.38% 57
Italy Italy 1.2 -3.23% 177
Jamaica Jamaica 1.36 -1.02% 168
Jordan Jordan 2.64 -1.49% 71
Japan Japan 1.2 -4.76% 177
Kazakhstan Kazakhstan 3.01 -1.25% 55
Kenya Kenya 3.21 -1.66% 50
Kyrgyzstan Kyrgyzstan 2.7 -3.57% 67
Cambodia Cambodia 2.58 -1.41% 73
Kiribati Kiribati 3.15 -1.1% 51
St. Kitts & Nevis St. Kitts & Nevis 1.51 -0.463% 143
South Korea South Korea 0.721 -7.33% 191
Kuwait Kuwait 1.52 -1.42% 140
Laos Laos 2.42 -1.38% 78
Lebanon Lebanon 2.24 -1.06% 88
Liberia Liberia 3.95 -1.64% 28
Libya Libya 2.36 -1.96% 80
St. Lucia St. Lucia 1.38 -0.577% 165
Liechtenstein Liechtenstein 1.45 -1.36% 154
Sri Lanka Sri Lanka 1.97 -0.504% 103
Lesotho Lesotho 2.69 -0.81% 68
Lithuania Lithuania 1.18 -7.09% 178
Luxembourg Luxembourg 1.25 -4.58% 174
Latvia Latvia 1.36 -7.48% 167
Macao SAR China Macao SAR China 0.586 -13.8% 192
Saint Martin (French part) Saint Martin (French part) 2.72 -1.63% 64
Morocco Morocco 2.23 -1.15% 89
Monaco Monaco 2.11 -0.189% 96
Moldova Moldova 1.73 +2.18% 120
Madagascar Madagascar 3.97 -1.59% 27
Maldives Maldives 1.58 -0.505% 133
Mexico Mexico 1.91 -1.55% 106
Marshall Islands Marshall Islands 2.92 -0.579% 56
North Macedonia North Macedonia 1.5 -6.25% 145
Mali Mali 5.61 -1.37% 6
Malta Malta 1.06 -1.85% 184
Myanmar (Burma) Myanmar (Burma) 2.12 -0.751% 95
Montenegro Montenegro 1.74 -3.33% 119
Mongolia Mongolia 2.7 0% 67
Northern Mariana Islands Northern Mariana Islands 2.35 -1.68% 81
Mozambique Mozambique 4.76 -1.59% 10
Mauritania Mauritania 4.7 -1.53% 11
Mauritius Mauritius 1.39 +5.3% 163
Malawi Malawi 3.65 -1.94% 38
Malaysia Malaysia 1.55 0% 135
Namibia Namibia 3.21 -1.11% 49
New Caledonia New Caledonia 1.98 -0.901% 101
Niger Niger 6.06 -1.21% 3
Nigeria Nigeria 4.48 -1.54% 15
Nicaragua Nicaragua 2.22 -0.982% 90
Netherlands Netherlands 1.43 -4.03% 158
Norway Norway 1.4 -0.709% 162
Nepal Nepal 1.98 -0.899% 100
Nauru Nauru 3.33 -1.42% 46
New Zealand New Zealand 1.56 -6.02% 134
Oman Oman 2.53 +3.1% 75
Pakistan Pakistan 3.61 -1.56% 41
Panama Panama 2.12 -0.935% 94
Peru Peru 1.98 -1.2% 101
Philippines Philippines 1.92 -0.674% 104
Palau Palau 1.91 -1.04% 107
Papua New Guinea Papua New Guinea 3.1 -2.09% 53
Poland Poland 1.16 -10.2% 180
Puerto Rico Puerto Rico 0.92 +0.656% 189
North Korea North Korea 1.78 -0.946% 115
Portugal Portugal 1.44 +0.699% 156
Paraguay Paraguay 2.42 -0.9% 77
Palestinian Territories Palestinian Territories 3.31 -1.9% 47
French Polynesia French Polynesia 1.5 -0.924% 144
Qatar Qatar 1.73 -0.575% 121
Romania Romania 1.71 0% 122
Russia Russia 1.41 -0.424% 159
Rwanda Rwanda 3.7 -2.12% 37
Saudi Arabia Saudi Arabia 2.28 +6.54% 85
Sudan Sudan 4.32 -1.39% 16
Senegal Senegal 3.82 -1.19% 33
Singapore Singapore 0.97 -6.73% 188
Solomon Islands Solomon Islands 3.56 -1.74% 43
Sierra Leone Sierra Leone 3.79 -2.19% 34
El Salvador El Salvador 1.78 -0.56% 116
San Marino San Marino 1.15 +1.14% 181
Somalia Somalia 6.13 -1.97% 1
Serbia Serbia 1.61 +1.26% 129
South Sudan South Sudan 3.86 -2.52% 30
São Tomé & Príncipe São Tomé & Príncipe 3.64 -1.38% 40
Suriname Suriname 2.25 -1.1% 86
Slovakia Slovakia 1.49 -5.1% 146
Slovenia Slovenia 1.51 -2.58% 142
Sweden Sweden 1.45 -5.23% 154
Eswatini Eswatini 2.75 -1.71% 60
Sint Maarten Sint Maarten 1.45 -0.413% 155
Seychelles Seychelles 2.02 +0.498% 98
Syria Syria 2.71 -1.24% 65
Turks & Caicos Islands Turks & Caicos Islands 1.46 -0.948% 151
Chad Chad 6.12 -1.53% 2
Togo Togo 4.19 -1.43% 20
Thailand Thailand 1.21 -0.737% 175
Tajikistan Tajikistan 3.07 -1.76% 54
Turkmenistan Turkmenistan 2.69 -1.39% 69
Timor-Leste Timor-Leste 2.71 -3.36% 66
Tonga Tonga 3.13 -1.32% 52
Trinidad & Tobago Trinidad & Tobago 1.53 -0.777% 138
Tunisia Tunisia 1.83 -0.812% 111
Turkey Turkey 1.51 -7.36% 142
Tuvalu Tuvalu 3.21 -1.11% 50
Tanzania Tanzania 4.61 -1.39% 12
Uganda Uganda 4.28 -2.39% 18
Ukraine Ukraine 0.977 +8.92% 187
Uruguay Uruguay 1.41 -1.12% 160
United States United States 1.62 -2.41% 128
Uzbekistan Uzbekistan 3.5 +3.06% 44
St. Vincent & Grenadines St. Vincent & Grenadines 1.78 -0.893% 116
Venezuela Venezuela 2.08 -0.431% 97
British Virgin Islands British Virgin Islands 1.05 +1.95% 185
U.S. Virgin Islands U.S. Virgin Islands 1.98 -1% 101
Vietnam Vietnam 1.91 -0.727% 105
Vanuatu Vanuatu 3.6 -1.4% 42
Samoa Samoa 3.83 -1.39% 32
Kosovo Kosovo 1.55 -0.643% 137
Yemen Yemen 4.59 -0.0653% 13
South Africa South Africa 2.22 -0.494% 91
Zambia Zambia 4.1 -1.77% 23
Zimbabwe Zimbabwe 3.72 -1.14% 35

The fertility rate, defined as the total number of births per woman throughout her reproductive years, is a crucial demographic indicator that reflects a society's population dynamics. It significantly influences various socio-economic aspects, including health care, education, and employment, shaping the future workforce and aging population ratios. Understanding fertility rates extends beyond merely measuring population growth; it is a lens through which to view development priorities and challenges faced by nations.

As of 2022, the global median fertility rate stands at 2.01 births per woman. This figure is noteworthy as it hovers around the replacement level of 2.1, a benchmark indicating that each generation replaces itself without migration. Countries falling at or below this rate may face challenges regarding workforce sustainability and economic growth, while those above it, often experiencing higher growth rates, may confront pressures on resources, healthcare, and infrastructure.

In interpreting the data, countries like Niger (6.75), Chad (6.21), and Somalia (6.20) represent the higher end of the spectrum. High fertility rates in these regions can be attributed to factors such as cultural norms valuing larger families, lower access to contraception, and high child mortality rates leading families to have more children to ensure survival. These countries often struggle with related socio-economic challenges, including poverty and limited educational opportunities. On the other hand, areas like Hong Kong SAR China (0.7), South Korea (0.78), and Puerto Rico (0.9) exhibit some of the lowest fertility rates globally. Low fertility in these regions typically correlates with high urbanization, increased access to education, particularly for women, delayed marriage, and economic pressures, leading to choices favoring smaller families or no children at all.

The relationship between fertility rates and other key indicators cannot be overlooked. For instance, a higher fertility rate is often aligned with lower levels of female education and limited employment opportunities. When women gain access to education and career opportunities, fertility rates tend to decline. As seen in many Western countries, better educated women tend to make informed reproductive choices, which contributes to lower fertility rates. Similarly, higher wealth is generally associated with lower fertility; as families become more financially secure, they often choose to have fewer children, focusing resources on their upbringing and education.

Factors influencing fertility rates are multifaceted. Economic conditions, access to healthcare, education, family planning services, cultural beliefs, and policies all play essential roles. For example, improved healthcare reduces child mortality rates, which in turn can lower fertility rates, as families need fewer children to achieve their desired family size. Government policies that support parental leave, childcare, and family financial support can positively influence fertility decisions, encouraging parents to have children.

Despite the wealth of data, there are inherent shortcomings in solely relying on fertility rates to gauge societal health and development. Fertility rates can be affected by external factors such as migration patterns, changes in societal norms, and economic changes that result in temporary fluctuations. Therefore, a holistic approach is essential, integrating fertility with other demographic indicators, such as mortality rates, migration patterns, and socio-economic variables, to paint a more accurate picture of a population's trajectory.

Strategies to address issues relating to fertility rates vary by region. In high-fertility countries, increased focus on women's education and access to reproductive health care can empower women to make more informed choices about family size. In contrast, low-fertility countries may explore policies that enhance parental support, such as paid parental leave, affordable childcare, and housing benefits, fostering a more family-friendly environment that encourages higher birth rates.

In summary, the total fertility rate serves as a vital indicator of societal dynamics. As the world moves forward, understanding and addressing the complexities surrounding fertility rates will be integral in shaping sustainable policies that promote population health and economic viability. The interplay between fertility rates and various influencing factors necessitates a comprehensive approach, one that considers not just birth statistics, but also the economic and social fabrics of communities worldwide.

                    
# 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.DYN.TFRT.IN'

# 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.DYN.TFRT.IN'

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