Prevalence of overweight, weight for height (% of children under 5)

Source: worldbank.org, 01.09.2025

Year: 2022

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 4.5 +9.76% 11
Bangladesh Bangladesh 1.6 -33.3% 22
Belarus Belarus 3.1 0% 19
Comoros Comoros 4 -62.3% 13
Finland Finland 4.1 -16.3% 12
Ghana Ghana 2 +42.9% 21
Guinea Guinea 3.3 -41.1% 17
Indonesia Indonesia 3.6 -5.26% 15
Kenya Kenya 3.4 -41.4% 16
Kuwait Kuwait 8.2 -32.2% 7
Libya Libya 4.6 -84.5% 10
Sri Lanka Sri Lanka 0.6 -25% 27
Mexico Mexico 7.1 -1.39% 8
Mali Mali 0.9 0% 26
Malta Malta 10.1 4
Mozambique Mozambique 3.2 -30.4% 18
Malaysia Malaysia 5.6 +7.69% 9
Niger Niger 1.2 -7.69% 25
Nepal Nepal 1.3 -50% 24
Peru Peru 9 -7.22% 6
Qatar Qatar 10.5 -5.41% 3
Chad Chad 2.2 +37.5% 20
Thailand Thailand 10.9 +18.5% 2
Tanzania Tanzania 3.7 -21.3% 14
Uganda Uganda 3.4 +17.2% 16
United States United States 9.5 +1.06% 5
Vietnam Vietnam 11.8 +49.4% 1
Yemen Yemen 1.5 -40% 23

The prevalence of overweight among children under five, measured as the percentage of children with a weight for height above a certain threshold, is a crucial indicator of nutritional status. This metric provides insight into the early onset of overweight and obesity, which can lead to severe health complications later in life. Children in this age group are particularly vulnerable to rapid and excessive weight gain, which is often linked to dietary patterns, economic conditions, and healthcare access. Understanding this indicator helps public health officials devise appropriate interventions for childhood obesity and overall health improvement.

The importance of monitoring the prevalence of overweight in children under five can hardly be overstated. Early childhood is a critical period for development, not just physically but also in terms of cognitive and emotional growth. Overweight children are at a higher risk for various chronic diseases later in life, including diabetes, cardiovascular issues, and certain types of cancer. Additionally, being overweight can have psychological and social repercussions, such as stigma, low self-esteem, and discrimination. These adverse effects of overweight can lead to a self-perpetuating cycle of health problems that extend into adulthood. By focusing on early intervention, communities can help mitigate these risks and foster healthier lifestyles from an early age.

The prevalence of overweight in children relates to other critical indicators, including overall childhood mortality rates, nutritional intake, healthcare access, and education levels of parents. Regions with high levels of overweight in children often coincide with socioeconomic factors such as poverty, lack of access to healthy food options, and inadequate maternal education regarding nutrition and health. Conversely, areas that have effective nutritional programs, healthcare services, and community support systems tend to see lower rates of childhood obesity. Thus, the interplay between these indicators highlights the multi-faceted nature of health and nutrition, necessitating comprehensive approaches to tackle these issues effectively.

Several factors contribute to the prevalence of overweight in children under five. Nutrition plays a pivotal role, as the availability and affordability of healthy foods directly impact dietary choices. In many low-income communities, unhealthy food options are more accessible and less expensive than fruits and vegetables, leading to poor dietary patterns. Moreover, the influence of marketing unhealthy food products to young children further exacerbates the problem. Other contributing factors include sedentary lifestyles, exacerbated by increased screen time, lack of outdoor play opportunities, and inadequate physical education curriculums in schools.

Another crucial aspect influencing childhood overweight rates is parental education and awareness regarding healthy nutrition. Parents who are well-informed about the importance of balanced diets and physical activity can significantly affect their children’s weight status. This emphasizes the need for educational programs aimed at parents, highlighting the significance of instilling healthy habits early on. Additionally, cultural norms surrounding body image and food can also complicate efforts to address overweight issues. In some cultures, increased body weight may be viewed as a sign of health or wealth, thereby complicating public health messaging.

To combat the prevalence of overweight among children under five, several strategies and solutions can be employed. Initiatives to promote healthy eating, such as community-based nutrition programs, can help ensure that children consume a balanced diet rich in fruits, vegetables, whole grains, and lean proteins. Schools play a vital role in this regard and can implement comprehensive wellness policies, including nutritious school meal programs and rigorous physical education requirements. Moreover, strategies that involve community participation can help create environments that encourage physical activity, such as developing parks, walking paths, and playgrounds.

Additionally, public health campaigns focused on educating parents about healthy eating practices and the significance of physical activity can increase awareness and reduce stigma around overweight children. Partnerships between health care providers, educational institutions, and local governments can create a robust support network for families struggling with nutrition and overweight issues. These collaborations can help bridge the gap between research, policy, and practice in addressing childhood overweight.

Despite the promising avenues for intervention, there are flaws and challenges within the current approaches to address the prevalence of overweight in children. One significant obstacle is the variability in data reporting across regions, which can complicate global comparisons and program evaluations. Furthermore, the stigma surrounding obesity can lead to inadequate or counterproductive solutions that focus solely on weight loss rather than holistic health improvement. Effective programs need to balance promoting healthy lifestyles while avoiding negative psychological impacts on children and their families.

The data from the latest report in 2023 indicates a median value of 8.8% for the prevalence of overweight among children under five in Jordan. Notably, Jordan appears in both the top and bottom five regions for this indicator, indicating a potential anomaly or a lack of extensive data for other regions. Regardless, a value of 8.8% establishes Jordan's overweight prevalence slightly above the global average seen in many countries. This figure provides a clear call to action to address early childhood nutrition and health in Jordan, prompting policymakers and community leaders to focus interventions specifically tailored to improve dietary practices and promote active lifestyles among young children.

In conclusion, while the prevalence of overweight among children under five is a complex indicator influenced by various interrelated factors, it serves as a critical marker for public health. Addressing this issue requires collaborative efforts across sectors to establish preventive strategies that promote healthier lifestyles. By reinforcing the importance of nutrition, education, and active involvement among parents and communities, we can create a supportive environment fostering healthy development for future generations.

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