Harmonized Learning Outcomes (HLO) database

Measuring human capital using global learning data

Learning metrics that are comparable for countries globally are necessary to understand and track the formation of human capital. The increasing use of international achievement tests is an important step in this direction. However, such tests are administered primarily in high-income countries, limiting our ability to analyze learning patterns in low- and middle-income countries that may have the most to gain from the formation of human capital. The Harmonized Learning Outcomes (HLO) database bridges this gap by constructing a globally comparable database of 164 countries from 2000 to 2017. The data represent 98% of the global population and developing economies comprise two-thirds of the included countries. The data is publicly available and will be updated regularly.

d = Array(2023) [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, …]
distinct_cutoff = 10
disc_types = Array(2) ["string", "boolean"]
disc_vars = Array(5) [Array(2), Array(2), Array(2), Array(2), Array(2)]
disc_opts = Map(6) {"" => null, "Subject (math, reading, science)" => "subject", "Schooling level (primary or secondary)" => "level", "The source test for learning data" => "sourcetest", "Region" => "region", "Income group" => "incomegroup"}
cont_types = Array(5) ["integer", "float", "date", "datetime", "time"]
cont_vars = Array(7) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
cont_opts = Map(7) {"Year" => "year", "Harmonized Learning Outcome (HLO)" => "hlo", "HLO standard error" => "hlo_se", "Harmonized Learning Outcome (HLO) - male" => "hlo_m", "HLO standard error - male" => "hlo_m_se", "Harmonized Learning Outcome (HLO) - female" => "hlo_f", "HLO standard error - female" => "hlo_f_se"}
all_vars = Array(12) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
channels = Object {year: "year", hlo: "hlo", hlo_se: "hlo_se", hlo_m: "hlo_m", hlo_m_se: "hlo_m_se", hlo_f: "hlo_f", hlo_f_se: "hlo_f_se", subject: "subject", level: "level", sourcetest: "sourcetest", region: "region", incomegroup: "incomegroup"}
viewof map_var = Inputs.select(cont_opts, {value: Array.from(cont_opts.values())[1], label: "Measure"})
viewof years = interval([d3.min(data.year), d3.max(data.year)], {step: 1, label: "Years"})
viewof bins = Inputs.range([2, 10], {value: 5, step: 1, label: "Bins"})
OJS Runtime Error (line 3, column 16)

interval is not defined

OJS Runtime Error (line 3, column 16)

interval is not defined

td = Array(2023) [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, …]
OJS Runtime Error

interval is not defined

OJS Runtime Error

interval is not defined

OJS Runtime Error

interval is not defined

OJS Runtime Error

interval is not defined

OJS Runtime Error

interval is not defined