Prevalence of anemia among children (% of children ages 6-59 months)

Source: worldbank.org, 01.09.2025

Year: 2019

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 44.9 +0.899% 49
Angola Angola 62.4 +0.161% 20
Albania Albania 30.9 +4.39% 81
Andorra Andorra 14.1 +2.92% 148
United Arab Emirates United Arab Emirates 20.4 +2% 118
Argentina Argentina 19 +2.15% 127
Armenia Armenia 19.6 +1.55% 124
Antigua & Barbuda Antigua & Barbuda 17.2 -0.578% 136
Australia Australia 13.3 +3.91% 151
Austria Austria 14.6 +2.82% 145
Azerbaijan Azerbaijan 24.8 -0.402% 100
Burundi Burundi 58 +1.93% 27
Belgium Belgium 17.4 +1.75% 135
Benin Benin 71 -0.56% 11
Burkina Faso Burkina Faso 76.6 -2.3% 3
Bangladesh Bangladesh 43.1 0% 55
Bulgaria Bulgaria 24.1 +0.837% 103
Bahrain Bahrain 23.4 +1.3% 107
Bahamas Bahamas 17.9 +1.13% 133
Bosnia & Herzegovina Bosnia & Herzegovina 24.3 +1.67% 102
Belarus Belarus 17.8 +1.71% 134
Belize Belize 20.2 -0.98% 120
Bolivia Bolivia 36.9 -3.66% 68
Brazil Brazil 11.6 -2.52% 156
Barbados Barbados 20 -0.498% 122
Brunei Brunei 20 +3.63% 122
Bhutan Bhutan 44.7 -1.11% 50
Botswana Botswana 43.3 +0.231% 54
Central African Republic Central African Republic 73.6 -1.08% 5
Canada Canada 13.2 +3.94% 152
Switzerland Switzerland 14 +2.94% 149
Chile Chile 20.1 +2.03% 121
China China 18.8 +1.62% 128
Côte d’Ivoire Côte d’Ivoire 72.2 -1.1% 9
Cameroon Cameroon 59.2 -1.33% 25
Congo - Kinshasa Congo - Kinshasa 64.9 -1.07% 18
Congo - Brazzaville Congo - Brazzaville 60.8 -1.3% 21
Colombia Colombia 22.2 -0.448% 113
Comoros Comoros 53.9 0% 31
Cape Verde Cape Verde 44.1 -1.78% 53
Costa Rica Costa Rica 19 +1.06% 127
Cuba Cuba 18.1 -2.16% 131
Cyprus Cyprus 14.5 +2.11% 146
Czechia Czechia 18.7 +2.75% 129
Germany Germany 15.1 +4.14% 141
Djibouti Djibouti 52 0% 36
Dominica Dominica 29.8 +1.02% 85
Denmark Denmark 14.5 +2.11% 146
Dominican Republic Dominican Republic 27.8 -0.714% 90
Algeria Algeria 34.3 +0.587% 71
Ecuador Ecuador 23.5 -0.424% 106
Egypt Egypt 32.2 -0.923% 78
Eritrea Eritrea 48.8 0% 45
Spain Spain 14.6 +2.82% 145
Estonia Estonia 18 +1.12% 132
Ethiopia Ethiopia 52.1 +0.969% 35
Finland Finland 11.8 +3.51% 154
Fiji Fiji 39.9 0% 61
France France 14.7 +3.52% 144
Micronesia (Federated States of) Micronesia (Federated States of) 36.7 -0.272% 69
Gabon Gabon 57.9 -1.19% 28
United Kingdom United Kingdom 15.5 +3.33% 139
Georgia Georgia 24.6 +1.65% 101
Ghana Ghana 59.5 -2.46% 24
Guinea Guinea 73.8 -0.806% 4
Gambia Gambia 52.3 -5.42% 34
Guinea-Bissau Guinea-Bissau 68 -1.31% 14
Equatorial Guinea Equatorial Guinea 64.3 -1.08% 19
Greece Greece 16.7 +1.21% 137
Grenada Grenada 23.6 0% 105
Guatemala Guatemala 9.8 -3.92% 158
Guyana Guyana 29.3 -1.68% 88
Honduras Honduras 26.2 -2.6% 95
Croatia Croatia 20.2 +2.02% 120
Haiti Haiti 60.1 -0.988% 23
Hungary Hungary 18.1 +1.12% 131
Indonesia Indonesia 38.4 +0.524% 63
India India 53.4 -0.928% 32
Ireland Ireland 14.1 +2.17% 148
Iran Iran 26.5 +0.379% 94
Iraq Iraq 29.4 +1.73% 87
Iceland Iceland 11 +3.77% 157
Israel Israel 14.3 +2.88% 147
Italy Italy 14.9 +2.76% 143
Jamaica Jamaica 23.6 -0.422% 105
Jordan Jordan 32.7 +0.926% 77
Japan Japan 16.7 +1.21% 137
Kazakhstan Kazakhstan 23 +3.6% 108
Kenya Kenya 42.8 +1.9% 56
Kyrgyzstan Kyrgyzstan 33.4 +0.3% 74
Cambodia Cambodia 49 -1.21% 44
Kiribati Kiribati 49.4 -1% 43
St. Kitts & Nevis St. Kitts & Nevis 20.4 0% 118
South Korea South Korea 15 +2.04% 142
Kuwait Kuwait 19.8 +2.06% 123
Laos Laos 41.4 +0.242% 60
Lebanon Lebanon 22.8 +1.33% 110
Liberia Liberia 72.3 -0.413% 8
Libya Libya 26.6 +0.758% 93
St. Lucia St. Lucia 22.5 +1.35% 111
Sri Lanka Sri Lanka 25.1 +0.803% 98
Lesotho Lesotho 51.4 +1.38% 39
Lithuania Lithuania 17.8 +1.14% 134
Luxembourg Luxembourg 11.7 +3.54% 155
Latvia Latvia 19.4 +1.04% 126
Morocco Morocco 30.4 +0.662% 84
Monaco Monaco 14.3 +2.88% 147
Moldova Moldova 27 +1.12% 92
Madagascar Madagascar 49.5 0% 42
Maldives Maldives 37.8 +1.34% 66
Mexico Mexico 21.7 0% 116
Marshall Islands Marshall Islands 39.5 -1% 62
North Macedonia North Macedonia 20.4 -4.67% 118
Mali Mali 79 -1% 2
Malta Malta 17.4 +2.96% 135
Myanmar (Burma) Myanmar (Burma) 49.6 0% 41
Montenegro Montenegro 14.7 +1.38% 144
Mongolia Mongolia 21.7 +2.36% 116
Mozambique Mozambique 68.2 +0.739% 13
Mauritania Mauritania 65.5 -1.21% 17
Mauritius Mauritius 30.7 +3.72% 82
Malawi Malawi 55.1 -0.899% 30
Malaysia Malaysia 24.6 +3.36% 101
Namibia Namibia 46.1 0% 48
Niger Niger 72 -1.23% 10
Nigeria Nigeria 68.9 -1.15% 12
Nicaragua Nicaragua 20.9 +3.47% 117
Netherlands Netherlands 15.5 +2.65% 139
Norway Norway 13.5 +3.05% 150
Nepal Nepal 44.6 +0.225% 51
Nauru Nauru 41.8 -1.18% 59
New Zealand New Zealand 15.3 +2.68% 140
Oman Oman 24.3 -1.62% 102
Pakistan Pakistan 53 -1.49% 33
Panama Panama 16 -4.19% 138
Peru Peru 29.6 -2.95% 86
Philippines Philippines 13.5 -2.17% 150
Palau Palau 33.5 -0.593% 73
Papua New Guinea Papua New Guinea 46.7 -0.638% 46
North Korea North Korea 31.6 +0.637% 79
Portugal Portugal 14.3 +2.88% 147
Paraguay Paraguay 27.9 -1.76% 89
Qatar Qatar 22.4 +0.901% 112
Romania Romania 27.1 -0.733% 91
Russia Russia 21.9 +0.459% 114
Rwanda Rwanda 37.9 +0.265% 65
Saudi Arabia Saudi Arabia 21.8 +1.87% 115
Sudan Sudan 50.8 -0.196% 40
Senegal Senegal 67.9 -1.45% 15
Singapore Singapore 13.5 +2.27% 150
Solomon Islands Solomon Islands 38.1 -1.55% 64
Sierra Leone Sierra Leone 73.4 -1.48% 6
El Salvador El Salvador 24.6 0% 101
San Marino San Marino 12.8 +2.4% 153
Somalia Somalia 51.8 -1.71% 37
Serbia Serbia 19.5 +2.09% 125
South Sudan South Sudan 60.5 +0.498% 22
São Tomé & Príncipe São Tomé & Príncipe 58.8 -1.01% 26
Suriname Suriname 25.9 -0.385% 96
Slovakia Slovakia 23.7 +1.28% 104
Slovenia Slovenia 18.2 +1.68% 130
Sweden Sweden 14.6 +2.82% 145
Eswatini Eswatini 42.7 -1.61% 57
Seychelles Seychelles 30.6 +1.66% 83
Syria Syria 32.9 +1.23% 76
Chad Chad 66.3 -2.5% 16
Togo Togo 72.4 -0.549% 7
Thailand Thailand 24.9 +0.81% 99
Tajikistan Tajikistan 37 +1.93% 67
Turkmenistan Turkmenistan 33.1 +1.22% 75
Timor-Leste Timor-Leste 46.3 +0.434% 47
Tonga Tonga 34 0% 72
Trinidad & Tobago Trinidad & Tobago 22.9 -0.435% 109
Tunisia Tunisia 30.4 +0.997% 84
Tuvalu Tuvalu 41.9 -2.1% 58
Tanzania Tanzania 56.1 -0.883% 29
Uganda Uganda 51.7 -0.958% 38
Ukraine Ukraine 25.6 +1.99% 97
Uruguay Uruguay 25.1 +0.4% 98
United States United States 6.1 +1.67% 159
Uzbekistan Uzbekistan 21.9 -1.35% 114
St. Vincent & Grenadines St. Vincent & Grenadines 20.3 -0.49% 119
Venezuela Venezuela 27.9 +0.722% 89
Vietnam Vietnam 22.9 +2.23% 109
Vanuatu Vanuatu 31 -0.322% 80
Samoa Samoa 35.5 -0.281% 70
Yemen Yemen 79.5 -0.251% 1
South Africa South Africa 44.4 +3.5% 52
Zambia Zambia 55.1 +0.364% 30
Zimbabwe Zimbabwe 37.8 -1.82% 66

The prevalence of anemia among children aged 6 to 59 months is a crucial health indicator that reflects nutritional, environmental, and public health statuses in different regions around the world. Defined by the World Health Organization (WHO), anemia is typically categorized by insufficient levels of hemoglobin in the blood, which can result from a variety of causes including inadequate nutrition, infections, and genetic factors. The global fight against anemia, especially in young children, remains a pivotal focus for health professionals and organizations aiming to boost the overall health and development of future generations.

The importance of monitoring the prevalence of anemia in children can scarcely be overstated. Anemia in early childhood poses significant risks, including impaired cognitive and physical development, increased susceptibility to infections, and higher mortality rates. The ideal hemoglobin concentration is paramount for ensuring that children can engage in normal growth and development processes. Thus, tracking anemia prevalence provides insights into not only the nutritional status of a population but also its broader healthcare systems, socioeconomic inequalities, and access to essential health services.

When viewed concerning other public health indicators, anemia prevalence among children paints a glaring picture of systemic health challenges. It is often correlated with malnutrition rates, levels of maternal education, and socioeconomic status of families. For instance, regions with high levels of food insecurity and poverty tend to report elevated rates of anemia among children. Additionally, linkages with infectious diseases, particularly in developing regions, underscore the multifaceted nature of anemia causation. Chronic infections such as malaria, HIV/AIDS, and intestinal parasites can exacerbate conditions of anemia, thereby necessitating a multifaceted approach to health interventions.

Many factors contribute to anemia prevalence in young children. Nutritional deficiencies, particularly of iron, vitamin B12, and folate, are primary contributors. Iron deficiency, the most common cause of anemia, can stem from insufficient dietary intake or poor absorption due to gastrointestinal disorders. Moreover, factors like inadequate breastfeeding practices, lack of access to nutritious foods, and poor dietary diversity further aggravate nutritional deficits. Environmental conditions such as poor sanitation and hygiene, as well as high prevalence of parasitic infections, play indispensable roles in influencing anemia rates. Similarly, socioeconomic factors such as parental education levels and access to primary healthcare services significantly impact prevention and treatment efforts.

Global data from 2019 presents an alarming overview of anemia prevalence among young children. The median value of anemia prevalence stood at 27.05%, indicating that nearly one in every four children within this age group is affected. However, substantial regional variations exist. The top five areas reporting the highest prevalence rates starkly highlight the challenges faced in specific nations: Yemen (79.5%), Mali (79.0%), Burkina Faso (76.6%), Guinea (73.8%), and the Central African Republic (73.6%). Such elevated levels illustrate the urgent need for concerted health interventions and socioeconomic improvements in these locations.

In stark contrast, countries with the lowest anemia prevalence, like the United States (6.1%), Guatemala (9.8%), and Iceland (11.0%), reflect potential models for effective anemia prevention strategies. These countries often showcase better overall healthcare systems, higher economic stability, greater access to education, and wider availability of nutritious food options. However, such discrepancies also amplify the call to action for global health leaders to address the stark inequalities that lead to these variations.

Examining the world values for anemia prevalence, there has been a concerning historical trend: the global prevalence of anemia in children has not significantly improved over the last two decades. From 2000, the global prevalence was a staggering 48.0%, with only gradual reductions to 39.8% by 2019. Despite concerted efforts from international organizations, it's evident that progress remains insufficient and that proactive and sustained efforts are essential. Addressing both the immediate nutritional needs of vulnerable populations and the underlying socioeconomic factors is critical for long-term solutions.

To combat childhood anemia effectively, countries must implement comprehensive strategies focusing on nutrition education, food security, and enhanced access to fortified foods and supplements. Programs that promote breastfeeding and educate mothers on appropriate complementary feeding practices are essential. Parasitic infections must be tackled through improved sanitation, hygiene, and regular screening for children, especially in endemic locations. Furthermore, improving healthcare access through community health initiatives will aid in early detection and treatment of anemia.

Despite the presence of solutions, flaws remain in the approach towards anemia prevalence reduction. Health interventions need to be culturally sensitive and adequately resourced; community engagement is vital in ensuring acceptance and sustainability. Data collection and monitoring efforts must be strengthened to establish a clearer understanding of regional disparities. Additionally, addressing anemia in silos without considering interrelated health indicators may reduce overall effectiveness. Comprehensive strategies that include collaboration across sectors, such as agriculture, education, and social services, can facilitate more impactful health outcomes.

In conclusion, the prevalence of anemia among children aged 6-59 months stands as a sentinel indicator of global health and nutritional status. As this article illustrates, the challenges and realities of anemia are complex and multifaceted. By prioritizing effective strategies and learning from multifactorial influences, there exists significant potential to mitigate anemia's impact and improve health outcomes for children 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 = 'SH.ANM.CHLD.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.ANM.CHLD.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))