Government expenditure per student, tertiary (% of GDP per capita)

Source: worldbank.org, 01.09.2025

Year: 2016

Flag Country Value Value change, % Rank
Aruba Aruba 100 -31.1% 6
Albania Albania 14.6 +13.7% 68
Andorra Andorra 27.1 -2.37% 37
Argentina Argentina 16.1 -6.75% 65
Armenia Armenia 9.77 -0.747% 75
Australia Australia 17.8 -16.9% 62
Austria Austria 36.2 +0.699% 20
Azerbaijan Azerbaijan 23.3 +30.4% 49
Belgium Belgium 32.2 -0.379% 25
Burkina Faso Burkina Faso 351 +185% 1
Bangladesh Bangladesh 29.9 +27.3% 31
Bosnia & Herzegovina Bosnia & Herzegovina 23.7 48
Belarus Belarus 17 +6.85% 64
Belize Belize 28.4 -13.8% 34
Brunei Brunei 31.9 -35.1% 26
Canada Canada 31.4 -14.9% 29
Switzerland Switzerland 37.4 -0.727% 17
Chile Chile 20 +8.51% 56
Côte d’Ivoire Côte d’Ivoire 139 +11.3% 5
Colombia Colombia 20.7 +4.5% 53
Cape Verde Cape Verde 39.3 -3.32% 14
Costa Rica Costa Rica 36.7 +4.6% 19
Cyprus Cyprus 26.5 -9.4% 38
Czechia Czechia 20.3 -3.09% 55
Germany Germany 33.6 -1.11% 24
Spain Spain 21.8 -4.8% 52
Estonia Estonia 36.9 +8.74% 18
Finland Finland 33.9 -1.63% 23
France France 31.6 -4.08% 27
United Kingdom United Kingdom 38 +7.47% 16
Georgia Georgia 11.4 -19.8% 69
Hong Kong SAR China Hong Kong SAR China 24.3 +4.35% 45
Hungary Hungary 25.4 +19.6% 42
Ireland Ireland 15.5 -18.2% 66
Iran Iran 18.1 +41.5% 60
Iceland Iceland 27.3 +10.2% 36
Israel Israel 18.2 -5.56% 59
Italy Italy 24.3 -3.72% 46
Jordan Jordan 23.2 -70% 51
Japan Japan 20.6 -15.4% 54
Kazakhstan Kazakhstan 9.9 -12.7% 74
Kyrgyzstan Kyrgyzstan 4.84 -13.3% 76
South Korea South Korea 15 +1.78% 67
Sri Lanka Sri Lanka 30.5 +3.77% 30
Lithuania Lithuania 18 -27.5% 61
Latvia Latvia 17.7 -35.2% 63
Macao SAR China Macao SAR China 23.2 -5.74% 50
Moldova Moldova 31.5 -4.43% 28
Madagascar Madagascar 0.0381 +13% 77
Mexico Mexico 29.7 -18.6% 32
Mali Mali 189 +14% 3
Mongolia Mongolia 10.7 +33.7% 71
Mauritania Mauritania 95.8 +3.23% 7
Mauritius Mauritius 10.5 -5.22% 72
Malaysia Malaysia 25.9 -41.3% 40
Niger Niger 315 +0.63% 2
Netherlands Netherlands 35.8 +8.28% 21
Norway Norway 39.8 +6.73% 13
New Zealand New Zealand 25.3 -6.23% 43
Oman Oman 43.6 +1.85% 11
Pakistan Pakistan 69.9 +11% 10
Peru Peru 10.4 -8.22% 73
Poland Poland 25.4 -9.63% 41
Romania Romania 26.1 +8.5% 39
Russia Russia 19.8 +5.55% 57
Senegal Senegal 143 -18.8% 4
El Salvador El Salvador 10.8 -0.442% 70
Serbia Serbia 29.6 -12% 33
Slovakia Slovakia 27.6 -34.4% 35
Slovenia Slovenia 24.3 +2.04% 47
Sweden Sweden 43.2 +0.297% 12
Seychelles Seychelles 70.7 +704% 9
Togo Togo 81.6 -10.4% 8
Turkey Turkey 35.3 +9.34% 22
Ukraine Ukraine 38.5 +3.86% 15
Uruguay Uruguay 25.2 -13.6% 44
United States United States 19.4 -9.72% 58

The indicator 'Government expenditure per student, tertiary (% of GDP per capita)' serves as a crucial metric for evaluating the investment a nation places in its higher education system relative to its economic capacity. This ratio showcases how much of the economic resources available to a country are dedicated to educating the future workforce, reflecting both the priority given to education and the efficacy of resource allocation in the higher education sector.

The importance of this indicator cannot be overstated. A high percentage often indicates a commitment to enhancing educational outcomes, which can lead to a more competent and skilled workforce. This, in turn, can drive economic growth, innovation, and social mobility. Conversely, a low percentage may suggest a lack of investment in human capital, which can stifle comprehensive growth and compound socioeconomic inequalities.

When analyzing the relationships between this indicator and other dimensions of national development, several factors come into play. For instance, countries with higher government expenditure in tertiary education typically show better outcomes in educational attainment and skills development. Moreover, nations with a robust tertiary education system often correlate with increased GDP growth rates, lower unemployment rates, and higher levels of innovation. This creates a virtuous cycle where investment in education translates into economic advantages, further encouraging government expenditure on education.

Several factors can affect the level of government expenditure per student in tertiary education. Economic conditions play a significant role; nations experiencing economic prosperity may allocate more resources to education, while those facing financial difficulties may cut educational spending. Political will and policy decisions are also crucial; governments that prioritize education-friendly policies tend to foster environments conducive to investment in student education. Additionally, demographic factors, such as the size of the young adult population, can influence funding distribution, as larger populations necessitate increased investment to maintain quality education standards.

Strategies to improve government expenditure on tertiary education might include reallocating existing budgets, increasing taxation specifically aimed at education, or engaging in public-private partnerships to leverage additional funding sources. Governments can also pursue reforms that increase the efficiency of educational spending, ensuring that resources are utilized effectively to enhance learning outcomes.

Solutions for increasing investment include advocating for education as a priority in national agendas, utilizing data-driven assessments to highlight the long-term benefits of educational investment, and fostering community involvement to build public support for increased funding. Moreover, collaboration with international organizations may help mobilize additional funds or techniques beneficial to improving educational quality.

However, the indicator is not without its flaws. One key issue is that the percentage alone does not reflect the actual quality of education or the effectiveness of the investments made. A high expenditure may not necessarily translate to better educational outcomes if the systems in place are inefficient. Moreover, without context—such as the distribution of funding across institutions or disparities in access and quality—this figure may mislead policymakers regarding the true state of education in their country.

To give some context to the latest data available for the year 2018, the median value for government expenditure per student in tertiary education was 24.76% of GDP per capita. This figure indicates that on average, countries allocate a little less than a quarter of their economic output per capita to higher education per student, which serves as a baseline for comparative analysis.

The top five areas demonstrating the most substantial investment in this indicator include Senegal (131.01%), Rwanda (97.66%), South Africa (47.98%), Lesotho (44.69%), and Costa Rica (37.51%). Notably, Senegal and Rwanda stand out with extraordinarily high percentages, suggesting a strong governmental commitment to enhancing tertiary education during those years. Nevertheless, such disparities require examination; for instance, while Senegal and Rwanda show significant investments, the outcome of these investments, such as quality and accessibility of education, expenses per capita, and actual educational attainment, should be critically assessed.

On the contrary, the bottom five areas include St. Lucia (0.0%), Kazakhstan (7.46%), El Salvador (11.13%), Myanmar (16.69%), and Colombia (21.64%). St. Lucia's alarmingly low percentage indicates a minimal government commitment to tertiary education, which could have dire implications for its workforce development and economic prospects. Countries like Kazakhstan and El Salvador also reflect a concerning trend, as low expenditures can inhibit the growth of a skilled labor market, affecting overall productivity and innovation capacity.

In analyzing world values over the years, it becomes evident that there has been a slight decline in average government expenditure per tertiary student between 2010 (29.46), 2011 (29.91), and a minor decrease in 2013 (29.65). This trend may indicate a growing disparity in educational funding; while some countries are significantly increasing investments, others are experiencing stagnation or reductions in spending, which could exacerbate existing inequalities.

To summarize, the 'Government expenditure per student, tertiary (% of GDP per capita)' is a multifaceted indicator essential for understanding the state of higher education investment globally. Its implications extend beyond mere fiscal numbers and delve into the realms of socioeconomic mobility and national development. A careful evaluation of this metric, in conjunction with qualitative assessments of educational systems, will provide actionable insights for policymakers seeking to improve educational outcomes and, by extension, national prosperity.

                    
# 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.TERT.PC.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.TERT.PC.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))