Low-birthweight babies (% of births)

Source: worldbank.org, 03.09.2025

Year: 2020

Flag Country Value Value change, % Rank
Angola Angola 15.5 -0.0882% 29
Albania Albania 5.99 +0.429% 135
Andorra Andorra 9.39 +0.326% 90
United Arab Emirates United Arab Emirates 13.9 +0.0591% 41
Argentina Argentina 7.36 +0.0468% 114
Armenia Armenia 8.27 -0.0175% 101
Antigua & Barbuda Antigua & Barbuda 15.4 -0.00172% 31
Australia Australia 6.55 +0.315% 126
Austria Austria 6.31 -0.786% 130
Azerbaijan Azerbaijan 11 -0.0242% 69
Burundi Burundi 14.8 -0.357% 33
Belgium Belgium 6.76 -0.387% 123
Benin Benin 16.4 -0.697% 23
Burkina Faso Burkina Faso 18.5 -0.351% 12
Bangladesh Bangladesh 23 -0.418% 2
Bulgaria Bulgaria 11.4 +0.455% 65
Bahrain Bahrain 12.4 +0.885% 58
Bahamas Bahamas 15.4 -0.0468% 30
Bosnia & Herzegovina Bosnia & Herzegovina 5.15 +0.197% 143
Belarus Belarus 5.12 +0.13% 144
Belize Belize 11.6 +0.218% 61
Bolivia Bolivia 7.93 -0.41% 104
Brazil Brazil 8.7 +0.308% 98
Brunei Brunei 13.6 +0.291% 45
Bhutan Bhutan 11.4 -0.177% 63
Botswana Botswana 16.8 -0.171% 19
Central African Republic Central African Republic 16.4 +0.063% 24
Canada Canada 6.63 +0.782% 125
Switzerland Switzerland 6.42 +0.0415% 128
Chile Chile 6.84 +1.2% 120
China China 4.97 +0.222% 146
Côte d’Ivoire Côte d’Ivoire 18.3 -0.35% 13
Cameroon Cameroon 12.5 -0.238% 55
Congo - Kinshasa Congo - Kinshasa 10.2 -0.801% 80
Congo - Brazzaville Congo - Brazzaville 11.9 +0.278% 59
Colombia Colombia 11 +0.608% 70
Comoros Comoros 23 -0.635% 3
Costa Rica Costa Rica 8.72 +0.522% 96
Cuba Cuba 7.06 -0.297% 119
Czechia Czechia 7.61 +0.398% 108
Germany Germany 6.71 -0.102% 124
Denmark Denmark 4.81 -0.582% 148
Dominican Republic Dominican Republic 13.4 +1.6% 47
Algeria Algeria 7.2 +0.52% 117
Ecuador Ecuador 10.6 -0.388% 73
Eritrea Eritrea 15.2 -0.193% 32
Spain Spain 9.64 +0.202% 88
Estonia Estonia 4.17 +0.0564% 154
Finland Finland 4.07 -0.322% 156
Fiji Fiji 7.4 -0.0271% 113
France France 7.43 -0.2% 111
Gabon Gabon 14.6 -0.0844% 35
United Kingdom United Kingdom 6.83 -0.484% 121
Georgia Georgia 7.42 +0.999% 112
Ghana Ghana 14.4 -0.271% 38
Gambia Gambia 13.2 -0.449% 48
Guinea-Bissau Guinea-Bissau 19.5 -1.43% 7
Greece Greece 11.4 +0.285% 64
Guatemala Guatemala 14.5 +0.0424% 36
Guyana Guyana 17.2 +0.000596% 18
Honduras Honduras 13.1 +0.571% 51
Croatia Croatia 4.99 -0.166% 145
Hungary Hungary 8.32 -0.123% 99
Indonesia Indonesia 9.93 -0.387% 86
India India 27.4 -0.671% 1
Ireland Ireland 5.65 +0.798% 140
Iraq Iraq 10.9 +0.0776% 72
Iceland Iceland 3.99 +0.545% 157
Israel Israel 8.98 -0.485% 93
Italy Italy 7.21 +0.101% 116
Jamaica Jamaica 13.7 -0.679% 44
Jordan Jordan 18.9 +1.47% 9
Japan Japan 11.3 +0.458% 66
Kazakhstan Kazakhstan 5.29 -0.838% 142
Kenya Kenya 9.97 -1.08% 83
Kyrgyzstan Kyrgyzstan 6.04 -0.621% 134
Cambodia Cambodia 11.4 -1.11% 62
Kiribati Kiribati 9.03 +0.0101% 92
South Korea South Korea 7.46 +2.31% 110
Kuwait Kuwait 14.4 +1.6% 39
Laos Laos 16.7 -0.419% 20
Lebanon Lebanon 12.6 +0.264% 54
Liberia Liberia 19.9 +0.063% 5
St. Lucia St. Lucia 16.3 +0.0433% 26
Sri Lanka Sri Lanka 18 -0.251% 15
Lesotho Lesotho 14.4 -0.459% 37
Lithuania Lithuania 4.4 -4.34% 150
Luxembourg Luxembourg 7.75 +0.344% 107
Latvia Latvia 4.23 -0.821% 153
Morocco Morocco 14.8 -1.03% 34
Monaco Monaco 6.82 +0.0744% 122
Moldova Moldova 6.47 +0.0124% 127
Madagascar Madagascar 18.7 -0.567% 10
Maldives Maldives 13.7 -0.0343% 43
Mexico Mexico 10.2 -0.0131% 81
North Macedonia North Macedonia 8.29 +0.235% 100
Malta Malta 7.18 +0.476% 118
Myanmar (Burma) Myanmar (Burma) 12.5 -0.0237% 56
Montenegro Montenegro 6.23 -0.111% 132
Mongolia Mongolia 4.9 -1.82% 147
Mozambique Mozambique 17.8 -0.16% 16
Mauritius Mauritius 18.7 -0.114% 11
Malawi Malawi 15.6 -0.427% 28
Malaysia Malaysia 13.8 +0.932% 42
Namibia Namibia 15.6 -0.121% 27
Nicaragua Nicaragua 10.1 -0.668% 82
Netherlands Netherlands 5.65 -0.794% 139
Norway Norway 4.44 -0.654% 149
Nepal Nepal 19.7 -0.569% 6
New Zealand New Zealand 5.86 -0.287% 136
Oman Oman 13.2 -0.0209% 49
Panama Panama 10.3 -0.272% 77
Peru Peru 7.47 -1.27% 109
Philippines Philippines 21.1 +0.197% 4
Palau Palau 13.5 -0.0246% 46
Papua New Guinea Papua New Guinea 19.4 +0.124% 8
Poland Poland 5.61 -0.436% 141
Portugal Portugal 8.92 +0.823% 94
Paraguay Paraguay 9.96 +0.0605% 84
Palestinian Territories Palestinian Territories 10.4 +0.718% 74
Qatar Qatar 9.96 +0.0177% 85
Romania Romania 8.82 -0.93% 95
Russia Russia 7.27 -0.0753% 115
Rwanda Rwanda 9.4 +0.143% 89
Senegal Senegal 17.2 -1.36% 17
Singapore Singapore 11 +0.498% 71
Solomon Islands Solomon Islands 13.2 -0.00608% 50
Sierra Leone Sierra Leone 10.3 -1.46% 75
El Salvador El Salvador 10.2 -0.0822% 78
San Marino San Marino 4.24 +0.195% 152
Serbia Serbia 6.2 +0.36% 133
São Tomé & Príncipe São Tomé & Príncipe 11.1 +0.603% 68
Suriname Suriname 16.5 +0.559% 22
Slovakia Slovakia 7.82 +0.513% 105
Slovenia Slovenia 6.29 +0.134% 131
Sweden Sweden 4.12 -0.234% 155
Eswatini Eswatini 10.2 -0.53% 79
Seychelles Seychelles 12.5 +0.263% 57
Togo Togo 14.3 -0.548% 40
Thailand Thailand 10.3 -0.076% 76
Tajikistan Tajikistan 8.72 -0.87% 97
Turkmenistan Turkmenistan 4.29 -1.76% 151
Timor-Leste Timor-Leste 18.2 -0.15% 14
Trinidad & Tobago Trinidad & Tobago 16.3 -0.00459% 25
Tunisia Tunisia 8.24 +0.245% 103
Turkey Turkey 12.9 -0.83% 53
Tanzania Tanzania 9.7 -0.748% 87
Ukraine Ukraine 5.73 +0.00962% 138
Uruguay Uruguay 7.8 -0.283% 106
United States United States 8.26 +0.282% 102
Uzbekistan Uzbekistan 5.85 +0.706% 137
Venezuela Venezuela 9.3 +0.426% 91
Vietnam Vietnam 6.31 -2.07% 129
Vanuatu Vanuatu 13.1 +0.125% 52
South Africa South Africa 16.6 +0.00484% 21
Zambia Zambia 11.2 -0.956% 67
Zimbabwe Zimbabwe 11.8 -0.517% 60

The indicator of low-birthweight babies, defined as the percentage of live births that weigh less than 2,500 grams (5.5 pounds), serves as a crucial benchmark for understanding maternal and child health. Birth weight is a significant determinant of infant survival, development, and long-term health. Infants who are born with low birthweight are at an elevated risk of health complications, including respiratory issues, difficulty maintaining body temperature, and long-term developmental challenges, including cognitive impairments and increased susceptibility to chronic diseases in later life. Understanding low birthweight is essential not only for the immediate health outcomes of newborns but also as an important predictor of public health trends and socio-economic conditions in a population.

Assessing the prevalence of low-birthweight babies can provide insights into a variety of maternal health factors, including nutritional status, access to prenatal care, and the health infrastructure of a region. For instance, a high percentage of low-birthweight births often correlates with inadequate nutritional support for mothers, limited access to healthcare services, and socio-economic challenges. Conversely, a lower incidence of low-birthweight babies typically indicates better maternal health practices, improved nutritional support, and comprehensive prenatal care, all of which contribute to healthier pregnancy outcomes.

This indicator also intersects with numerous other health indicators. For example, it is related to maternal mortality rates; higher rates of low-birthweight infants may indicate poorer maternal health conditions, which can lead to increased maternal mortality. Another relevant health indicator is childhood malnutrition, which can result from socio-economic disparities, inadequate maternal nutrition, and insufficient healthcare access. Furthermore, low-birthweight prevalence is a significant component of the Sustainable Development Goals (SDGs), specifically Goal 3, which aims to ensure healthy lives and promote wellbeing for all at all ages. Governments and organizations focus on this indicator as a metric for healthcare effectiveness and to prioritize interventions that can improve overall health outcomes.

Several factors affect the rate of low-birthweight babies. Maternal factors such as age, health conditions (like hypertension and diabetes), and lifestyle choices (including smoking and substance abuse) can substantially impact birthweight. Additionally, socio-economic factors play a critical role; lower economic status often leads to less access to nutrition, healthcare, and education about pregnancy. Environmental factors, such as exposure to pollutants or hazardous living conditions, can also influence pregnancy outcomes. A comprehensive understanding of these diverse yet interconnected factors is essential for developing effective health policies and interventions aimed at reducing low-birthweight rates.

In the latest available data from 2020, the global median for low-birthweight births was recorded at 10.2%. While this median presents a concerning figure, regional disparities reveal an even starker reality. For instance, countries like India (27.44%), Bangladesh (23.05%), and Comoros (23.03%) exhibited alarmingly high rates of low-birthweight births. These figures suggest that significant challenges in maternal healthcare and socio-economic conditions prevail in these regions. The implications for public health in these high-prevalence areas are serious, considering that a considerable proportion of newborns face higher risks of adverse health outcomes, which burdens healthcare systems and hinders economic productivity.

On the other end of the spectrum, countries like Iceland (3.99%), Finland (4.07%), and Sweden (4.12%) represent the lowest rates of low-birthweight births. These nations showcase effective health systems, strong maternal care practices, and comprehensive social welfare systems that promote maternal health and access to prenatal care. The stark contrast between the top and bottom areas emphasizes the importance of implementing effective health interventions, as well as educating and empowering women throughout their pregnancies. By analyzing these differentiating factors and outcomes, we can draw meaningful lessons regarding interventions that can be transposed to higher-prevalence countries.

Strategies to combat the prevalence of low-birthweight babies include enhancing maternal nutritional support before and during pregnancy, increasing access to quality prenatal care, and implementing comprehensive public health campaigns aimed at educating expectant mothers. Policies that address socio-economic disparities, improve healthcare accessibility, and provide support for at-risk populations can also significantly mitigate the risk factors associated with low birthweight. Community education programs aimed at highlighting the importance of maternal health could lead to positive behavioral changes that will contribute to healthier pregnancy outcomes.

While numerous strategies exist to reduce rates of low-birthweight births, challenges persist. Accessibility to healthcare remains a significant barrier in many regions, exacerbated by socio-economic inequalities, lack of awareness, and cultural factors that can discourage seeking care. Additionally, maternal health issues such as chronic conditions or mental health challenges can be overlooked in developing strategies, leading to gaps in care. Strategic solutions must be comprehensive, addressing not only immediate healthcare needs but also underlying socio-economic determinants of health.

In conclusion, low-birthweight babies represent a critical public health challenge that intersects with numerous factors influencing maternal and infant health. By understanding the implications of low birthweight and employing targeted strategies, health systems can work towards reducing its prevalence, subsequently improving overall health outcomes within communities. The ongoing global effort to address maternal health issues, particularly in areas exhibiting higher rates of low-birthweight births, remains essential for achieving health equity and promoting well-being across populations.

                    
# 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 = 'SH.STA.BRTW.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 <- 'SH.STA.BRTW.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))