SE.TER.ENRRSL.UEM.1524.MA.NE.ZS
(swap to total SL.UEM.1524.ZS if preferred)path_edu <- "data/API_SE.TER.ENRR_DS2_en_excel_v2_129805.xls"
path_emp <- "data/API_SL.UEM.1524.MA.NE.ZS_DS2_en_excel_v2_2482.xls"
tidy_wb <- function(path){
read_excel(path, sheet = 1, skip = 3) |>
pivot_longer(cols = tidyselect::matches("^[0-9]{4}$"),
names_to = "year", values_to = "value") |>
mutate(year = as.integer(year)) |>
rename(country = `Country Name`, code = `Country Code`, indicator = `Indicator Name`) |>
select(country, code, indicator, year, value)
}
edu <- tidy_wb(path_edu)
emp <- tidy_wb(path_emp)
merged <- full_join(edu, emp, by = c("code","year","country"),
suffix = c("_edu","_emp")) |>
rename(edu_value = value_edu, emp_value = value_emp) |>
mutate(region = countrycode(code, "iso3c", "region")) |>
filter(!is.na(edu_value) & !is.na(emp_value), year >= 1995)
dir.create("outputs", showWarnings = FALSE)
write_csv(merged, "outputs/wb_edu_unemp_tidy.csv")
global_trend <- merged |>
group_by(year) |>
summarise(med_edu = median(edu_value, na.rm = TRUE),
med_emp = median(emp_value, na.rm = TRUE), .groups = "drop")
year_counts <- merged |>
group_by(year) |>
summarise(n = n_distinct(code[!is.na(edu_value) & !is.na(emp_value)]), .groups = "drop") |>
arrange(desc(year))
latest_good_year <- year_counts$year[which.max(ifelse(year_counts$n >= 80, year_counts$year, -Inf))]
if (is.infinite(latest_good_year) || is.na(latest_good_year)) latest_good_year <- max(merged$year, na.rm = TRUE)
latest <- filter(merged, year == latest_good_year)From this graph, university enrollment has been increasing steadily especially since the early 2000s.But the youth unemployment is not same as that progress. Even as more people study, the job market hasn’t expanded at the same pace.
This tells us that simply increasing access to education isn’t enough. The real challenge is making sure that what students learn actually matches the skills that industries and employers need.
This map makes the global situation easy to see. Regions like Africa and Southern Europe are with very high youth unemployment, while areas such as North America and East Asia seem to be doing much better. The difference is likely because of how these economies are structured ,stronger economies tend to offer more stable job options, while others face slower growth or a mismatch between graduate skills and available jobs.
Use the drop down to focus on one or more regions and compare
positions.
East Asia often shows smoother school‑to‑work
transitions; Southern Europe and parts of
Africa tend to stay higher at similar education
levels.
- World Bank. (2025). World Development Indicators
[Data set]. Indicators: SE.TER.ENRR; SL.UEM.1524.* — https://data.worldbank.org/
- R Core Team. (2025). R: A language and environment for statistical
computing [Computer software]. R Foundation for Statistical
Computing. https://www.R-project.org/
- Wickham, H., Chang, W., Henry, L., Pedersen, T. L., Takahashi, K.,
Wilke, C., & Woo, K. (2024). ggplot2: Create elegant data
visualisations using the grammar of graphics [R package]. https://ggplot2.tidyverse.org/
- Sievert, C. (2020). Interactive web-based data visualization with
R, plotly, and shiny. CRC Press. https://plotly-r.com/