Expenditure on secondary education (% of government expenditure on education)

Source: worldbank.org, 03.09.2025

Year: 2016

Flag Country Value Value change, % Rank
Aruba Aruba 33.2 +8.37% 39
Afghanistan Afghanistan 21.8 -10.4% 66
Albania Albania 25.4 +17.6% 62
Andorra Andorra 24 -3.79% 64
Argentina Argentina 40.9 -0.96% 14
Armenia Armenia 51.1 -6.22% 6
Australia Australia 31.3 +2.46% 48
Austria Austria 39.6 -0.624% 18
Bangladesh Bangladesh 64.3 +64.5% 2
Belize Belize 41.7 +1.22% 11
Barbados Barbados 39.3 +74.9% 20
Brunei Brunei 60.8 +57.3% 4
Chile Chile 29.1 -1.01% 52
Côte d’Ivoire Côte d’Ivoire 30.7 -10.3% 51
Colombia Colombia 34.7 -2.02% 35
Cape Verde Cape Verde 40.8 +3.17% 15
Costa Rica Costa Rica 32 -5% 44
Cyprus Cyprus 40.9 -0.879% 13
Czechia Czechia 29 -2.67% 53
Germany Germany 41.3 -1.43% 12
Djibouti Djibouti 0.829 -34.5% 75
Spain Spain 37.3 +1.39% 27
Estonia Estonia 25.2 -2.7% 63
Finland Finland 36.9 -1.39% 29
United Kingdom United Kingdom 37.8 -7.79% 25
Guinea Guinea 22.7 +3.86% 65
Guatemala Guatemala 13.3 +3.3% 72
Hong Kong SAR China Hong Kong SAR China 33 -2.56% 40
Hungary Hungary 40.2 +5.53% 17
Ireland Ireland 35.5 +6.75% 32
Iran Iran 36.5 -3.58% 30
Iceland Iceland 27.3 -3.07% 59
Israel Israel 30.8 +0.508% 50
Jamaica Jamaica 38.9 -1.27% 22
Jordan Jordan 37 -6.53% 28
Japan Japan 42 +11% 10
Kazakhstan Kazakhstan 68.6 +4.26% 1
South Korea South Korea 38.7 +3.75% 23
St. Lucia St. Lucia 30.8 -29.7% 49
Sri Lanka Sri Lanka 50.4 +7% 7
Lithuania Lithuania 38.6 +5.33% 24
Latvia Latvia 33.4 +6.4% 38
Monaco Monaco 31.5 -23.4% 45
Moldova Moldova 34.8 -2.74% 34
Maldives Maldives 21.6 -11.1% 67
Mexico Mexico 32.9 +1.96% 41
Mali Mali 37.4 +13.3% 26
Mongolia Mongolia 28.3 -16.2% 56
Mauritania Mauritania 25.9 +10.8% 61
Mauritius Mauritius 63.7 -0.65% 3
Malawi Malawi 28.8 +3.43% 54
Malaysia Malaysia 39.4 +15.2% 19
Niger Niger 17.4 -45.8% 69
Netherlands Netherlands 40.5 -1.02% 16
Norway Norway 28.6 -2.69% 55
New Zealand New Zealand 35.6 -3.69% 31
Peru Peru 32.5 +5.67% 43
Poland Poland 31.3 +1.64% 46
Paraguay Paraguay 31.3 -5.19% 47
Romania Romania 39.1 -4.92% 21
Rwanda Rwanda 52.8 +23.9% 5
Senegal Senegal 16.7 -43.3% 70
Sierra Leone Sierra Leone 12 -48.7% 74
El Salvador El Salvador 35.3 +11% 33
South Sudan South Sudan 12.2 -32.1% 73
Slovakia Slovakia 42.2 +11.2% 9
Slovenia Slovenia 34.5 +0.365% 36
Sweden Sweden 27.4 +1.04% 58
Seychelles Seychelles 27.1 -16% 60
Togo Togo 16 -1.52% 71
Ukraine Ukraine 27.9 +0.195% 57
Uruguay Uruguay 34 +2.51% 37
St. Vincent & Grenadines St. Vincent & Grenadines 32.7 -9.88% 42
Samoa Samoa 42.8 +43.6% 8
Zambia Zambia 19.7 -20.8% 68

The indicator 'Expenditure on secondary education (% of government expenditure on education)' offers critical insights into how governments prioritize and allocate resources toward educational systems, particularly at the secondary level. This indicator represents the percentage of the total government spending on education that is directed specifically to secondary education. Its significance is evident in numerous aspects, as it directly reflects a government's commitment to developing a robust secondary education framework, which is vital for fostering human capital and promoting socio-economic growth.

Understanding this spending ratio is crucial for various reasons. Firstly, a higher percentage typically signifies that a government recognizes the importance of secondary education as a foundation for higher education and vocational training. It indicates investment in skills development that can improve workforce productivity and reduce youth unemployment rates. Furthermore, countries that prioritize secondary education often see tangible benefits, including enhanced academic performance, increased graduation rates, and better preparedness for both the labor market and higher education.

This indicator does not exist in isolation; it interrelates with several other educational metrics. For instance, it correlates with overall literacy rates, dropout rates, and enrollment figures in secondary education. Higher expenditure on secondary education commonly leads to improved educational outcomes, while robust educational outcomes can contribute to higher societal standards of living and economic growth. Conversely, inadequate investment in secondary education can lead to low graduation rates, limiting future employment opportunities for the youth and perpetuating cycles of poverty.

Various factors can influence the level of expenditure on secondary education as a portion of total education spending. Economic stability plays a pivotal role; in times of financial stress, governments may cut educational budgets, impacting secondary education disproportionately. Moreover, a country's population demographics significantly affect expenditure levels. In regions with a rapidly growing youth population, the need for secondary educational resources increases, requiring governments to allocate a larger portion of their budget to meet educational demands.

Social and political factors also contribute. Governments that prioritize education as a cornerstone for national development are likely to allocate more resources to secondary education. Furthermore, public opinion and advocacy for education can lead to increased funding. Conversely, political instability may detract attention from educational issues, leading to reduced budget allocations.

To address possible deficits in secondary education funding, governments can implement several strategies. Establishing a long-term educational budget plan that ensures sustained investment in secondary education is pivotal. Engaging stakeholders, including teachers, parents, and community members in discussions about educational priorities can lead to increased accountability and transparency in how funds are allocated. Additionally, utilizing innovative financing, such as public-private partnerships, can provide alternative funding sources to ensure sufficient resources are available.

Despite efforts to increase expenditure on secondary education, flaws may still exist in the system. For instance, there is a risk that increased funding does not always translate into improved educational quality. Without sufficient oversight and evaluation of how funds are used, resources might be wasted or misallocated, leading to minimal gains in educational outcomes. Furthermore, simply spending more does not always lead to the desired improvements if structural issues within the educational system are not addressed.

Examining the latest available data from 2019, the indicator shows a median value of 38.38% for government expenditure on education allocated to secondary education. Interestingly, Myanmar (Burma) holds both the top and bottom rank, with an expenditure of 38.38%, suggesting that there may be no variation in their spending on secondary education over that time. This status may indicate either a consistent commitment to funding secondary education or a stagnation in growth that warrants further investigation.

Looking at the world values from previous years provides context to the current statistic. From 2010 to 2013, there was a notable downward trend where the percentage of government expenditure on secondary education declined from 34.52% in 2010 to 32.73% in 2013. This suggests that, on average, governments may have been reallocating resources away from secondary education during this time period. It raises queries about the overall commitment to this level of education, a crucial stage needing attention to facilitate world progress in education.

This downward trend is concerning as it signals potential neglect of the secondary education sector, a critical phase in ensuring that young people acquire the skills necessary for future success. Given the 2019 figure of 38.38%, it appears that there has been a recovery in investment toward secondary education in Myanmar, indicating an awareness of its importance in the educational pipeline.

In conclusion, expenditure on secondary education as a percentage of total government expenditure on education serves as a vital indicator reflecting both immediate educational priorities and long-term societal goals. While the data suggests areas of progress, challenges remain. Policymakers must continually assess how to engage communities, secure adequate funding, and leverage resources effectively to enhance educational outcomes for youth, ensuring that secondary education is appropriately funded and prioritized 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 = 'SE.XPD.SECO.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 <- 'SE.XPD.SECO.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))