Adjusted net enrollment rate, primary, female (% of primary school age children)

Source: worldbank.org, 03.09.2025

Year: 2017

Flag Country Value Value change, % Rank
Armenia Armenia 92.3 -0.542% 44
Antigua & Barbuda Antigua & Barbuda 98.7 +0.257% 6
Australia Australia 96.9 -1.5% 25
Azerbaijan Azerbaijan 98.8 +7.55% 5
Burundi Burundi 97.2 +0.633% 20
Belgium Belgium 99.2 +0.632% 3
Burkina Faso Burkina Faso 76.1 +1.77% 74
Bulgaria Bulgaria 88.1 -1.27% 56
Bolivia Bolivia 91.3 +1.84% 47
Barbados Barbados 95.8 -2.81% 30
Bhutan Bhutan 90.3 -0.408% 49
Chile Chile 94.8 +0.745% 36
Côte d’Ivoire Côte d’Ivoire 84.7 +2.87% 63
Cameroon Cameroon 88.7 -1.7% 53
Colombia Colombia 97.8 +1.93% 12
Comoros Comoros 83.6 +2.85% 66
Cape Verde Cape Verde 92.1 +0.271% 45
Costa Rica Costa Rica 96.5 -1.92% 28
Cuba Cuba 95.5 +1.15% 33
Cyprus Cyprus 98.2 +0.788% 10
Djibouti Djibouti 62 +4.25% 76
Dominican Republic Dominican Republic 94.5 -0.741% 40
Eritrea Eritrea 49.9 -12.7% 79
Spain Spain 97.7 -1.51% 13
Estonia Estonia 94.6 +0.238% 38
Finland Finland 98.8 -0.406% 4
United Kingdom United Kingdom 99.4 -0.143% 2
Ghana Ghana 86.3 -6.37% 61
Gambia Gambia 84 +3.3% 65
Greece Greece 98.5 +0.543% 9
Guatemala Guatemala 88.4 +1.18% 54
Honduras Honduras 81.4 +0.624% 70
Hungary Hungary 96.6 -0.445% 26
Indonesia Indonesia 92.8 +1.54% 43
Italy Italy 97.1 -0.532% 22
Jamaica Jamaica 83.2 -1.98% 67
Jordan Jordan 79.7 +7.44% 73
Cambodia Cambodia 90.6 -2.55% 48
South Korea South Korea 97.5 +0.224% 16
Kuwait Kuwait 93.3 -5.26% 42
Laos Laos 91.7 -1.3% 46
Liberia Liberia 44.7 +18.6% 80
St. Lucia St. Lucia 98.5 +1.26% 8
Latvia Latvia 97.8 +0.343% 11
Macao SAR China Macao SAR China 97 -0.0687% 24
Morocco Morocco 97 +3.58% 23
Moldova Moldova 89.6 -0.18% 52
Maldives Maldives 96.4 -0.6% 29
North Macedonia North Macedonia 95.8 +4.18% 32
Mali Mali 63.5 +9.67% 75
Montenegro Montenegro 96.6 +3.67% 27
Mozambique Mozambique 88.2 -0.564% 55
Mauritania Mauritania 80.4 +6.63% 72
Netherlands Netherlands 99.5 +0.0681% 1
Pakistan Pakistan 60.4 -0.206% 78
Panama Panama 86.5 -1.25% 59
Philippines Philippines 95.2 -0.121% 35
Poland Poland 97.3 +1.17% 19
Portugal Portugal 97.4 +0.738% 18
Palestinian Territories Palestinian Territories 97.1 +0.925% 21
Qatar Qatar 97.6 +0.587% 15
Romania Romania 85.8 -1.99% 62
Rwanda Rwanda 97.4 -2.1% 17
Saudi Arabia Saudi Arabia 95.8 -0.837% 31
Sudan Sudan 61 -1.61% 77
Senegal Senegal 80.8 +4.53% 71
El Salvador El Salvador 81.4 -5% 69
Serbia Serbia 98.6 -0.583% 7
São Tomé & Príncipe São Tomé & Príncipe 94 +6.95% 41
Suriname Suriname 88 -4.94% 57
Slovakia Slovakia 84.2 +1.39% 64
Eswatini Eswatini 82.5 -1.49% 68
Togo Togo 89.7 -1.42% 51
Timor-Leste Timor-Leste 97.6 +2.41% 14
Turkey Turkey 94.5 +0.809% 39
Tanzania Tanzania 86.4 -0.268% 60
United States United States 95.5 -4.07% 34
Venezuela Venezuela 89.7 -1.74% 50
South Africa South Africa 94.7 -0.911% 37
Zambia Zambia 87 -2.3% 58

The Adjusted Net Enrollment Rate (ANER) for primary school-aged girls is a crucial indicator that reveals the extent to which girls of primary school age are enrolled in primary education relative to the total population of children in that age group. It measures the ratio of the total number of girls who are correctly enroled in primary school – considering adjustments for overage and underage students – to the total number of primary school-aged girls. This statistic is essential not only for understanding the educational landscape but also for assessing the equity, social progress, and development of countries, particularly regarding gender parity in education.

The importance of ANER lies in its ability to highlight disparities in access to education, which can have profound implications for a nation’s economic development and social fabric. A high ANER indicates that a greater proportion of girls are receiving an education, which is fundamentally linked to their future opportunities in terms of employment, health, and societal engagement. Moreover, educational attainment among females is crucial for breaking cycles of poverty, improving health outcomes, and promoting gender equality. Education empowers women, and societies with higher female education levels tend to experience improved economic growth, stability, and better overall welfare.

ANER does not function in isolation; it is intrinsically related to various indicators. For instance, it correlates with the overall literacy rate, school completion rates, and the Gender Parity Index (GPI), which compares the enrollment ratios of girls to boys in education. Additionally, ANER is influenced by factors such as cultural attitudes towards female education, government policies and funding for education, socioeconomic situations, and the prevalence of child labor or domestic responsibilities that may prevent girls from enrolling in school. Furthermore, the effectiveness of educational systems, teacher availability, and school infrastructure can heavily impact enrollment rates.

Multiple factors contribute to the adjusted net enrollment rate for girls in primary education. Cultural norms and practices can either promote or hinder girls' education. In certain areas, prevalent views may prioritize male education over female education, limiting access and opportunities for girls. Economic barriers also play a significant role; families with limited resources may prioritize boys’ education due to perceived returns on investment. Moreover, geographical barriers, such as the availability of schools in remote areas, can affect females' access to education significantly. Health factors and safety in schools, such as the threat of violence or harassment, can also deter female students from attending and completing their education.

To improve the adjusted net enrollment rate among girls in primary education, various strategies and solutions can be implemented. Firstly, governments should focus on policy reforms that promote gender equality in education, including subsidizing educational costs for girls, providing scholarships, and incentivizing families to enroll their daughters in schools. Public awareness campaigns can shift cultural perceptions, celebrating the value of educating girls and the benefits that education brings to families and communities alike. Additionally, creating safe and accessible schools with a welcoming environment for girls, particularly in remote or underserved areas, is essential. Training and recruiting female teachers can also help provide relatable role models, encouraging more girls to participate in school.

While the adjusted net enrollment rate offers valuable insights into educational access, it is not without its flaws. The indicator primarily reflects the enrollment figures at a single point in time and does not provide comprehensive information about the quality of education received by these students. For instance, a high ANER does not necessarily indicate that the education is adequately meeting the needs of the students, so further metrics are needed to assess educational quality and outcomes. Moreover, disparities within specific regions may mask broader trends, meaning that national averages do not tell the full story of educational inequities that may still persist.

As of 2019, the global median for the adjusted net enrollment rate for primary school-aged girls stood at approximately 77.1%. This figure indicates that around three-quarters of girls in this age bracket are enrolled in primary schools, but it also underscores the urgent need to address the remaining quarter who are out of school. In the most recent data, Ghana emerged with the highest reported ANER for primary school-aged girls at 87.17%, demonstrating significant progress in female education in that region. However, this figure stands in stark contrast to Djibouti, which reported a lower rate of 67.02%, highlighting the challenges that still exist in specific areas of the world where girls struggle for educational access.

The global ANER has seen a concerning downward trend since 2009, when it was recorded at 89.2%. The numbers for subsequent years, such as 89.13% in 2010 and 89.68% in 2013, demonstrate slight fluctuations but overall reflect a stagnation that calls for urgent attention. By 2019, this rate had notably declined to levels approaching those recorded over a decade earlier, indicating regression in female primary education enrollment progress on a global scale. This situation necessitates immediate action from policymakers, educational stakeholders, and communities to ensure girls' access to education is not only maintained but continually enhanced.

In conclusion, the Adjusted Net Enrollment Rate for primary school-aged girls remains a vital metric for understanding and improving access to education globally. It serves as a window into the successes and challenges faced in achieving gender parity in education, embodying the broader issues of economic development, social equity, and cultural change. As nations strive toward the Sustainable Development Goals, enhancing the ANER for girls represents a fundamental step toward creating a more inclusive and equitable society.

                    
# 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 = 'SE.PRM.TENR.FE'

# 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 <- 'SE.PRM.TENR.FE'

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