rkpagadala/education-rupture
Education as the Sole Primary Driver of Human Development — replication code and data
Education as the Sole Primary Driver of Human Development
Replication package for:
Krishna Pagadala (2026). Education as the Sole Primary Driver of Human Development: Against Sen's Bifurcation. Working paper.
Abstract
Sen's distinction between growth-mediated and support-led security has structured development policy for four decades. We argue it is wrong in its identification of cause: neither income nor direct provision is an independent mechanism of human development. Both are downstream of education. Using 189-country panel data (WCDE v3, 1975–2015) with country fixed effects and a 25-year generational lag, parental lower secondary completion predicts within-country educational outcomes at R²=0.464, nearly double GDP alone (R²=0.266). A century-long panel (28 countries, 1900–2015) finds near-unity generational transmission (β=0.960). Education predicts GDP, life expectancy, and fertility one generational interval forward; GDP does not predict education forward with comparable strength. Cases from Bangladesh ($1,250 GDP at crossing), Korea, Taiwan, Cuba, Sri Lanka, Kerala, and China show that development threshold crossings arrive at intervals predicted by the depth and pace of prior educational investment — not by income or provision timing. We introduce a Parental Transmission of Education (PTE) framework — and its multi-generational extensions GPTE and GGPTE — that explains variation in development lag lengths across countries and regimes.
Repository Structure
data/ — input datasets (WCDE v3 + World Bank WDI, cleaned)
scripts/ — analysis scripts that produce all paper tables and figures
figures/ — Figure A1 (lag-decay comparison, education vs GDP)
paper/ — paper text (Markdown) and PDF
Reproducing the Paper
Requirements
pip install pandas numpy matplotlib seaborn scikit-learn scipy statsmodelsScripts → Paper Tables
| Script | Produces |
|---|---|
scripts/04_generational_analysis.py |
Table 1 (country FE β=0.485, R²=0.464; GDP alone R²=0.266), 1,701 obs, 189 countries |
scripts/06_policy_residual.py |
Table 3 (policy over-performers, FE residuals 2015) |
scripts/07_education_outcomes.py |
Table 2 (education predicts GDP/LE/TFR forward, β=+0.0110) |
scripts/04b_long_run_generational.py |
Long-run panel β=0.960 (28 countries, 1900–2015) |
scripts/fig_a1_lag_decay.py |
Figure A1 (lag-decay comparison, education vs GDP) |
Table 4 (development crossing dates) and Table A4 (threshold robustness) are computed from World Bank WDI data accessed directly; see Section 3 and Appendix of the paper for threshold definitions and crossing-date methodology.
Table A1 (two-way FE) uses the same panel as Table 1 with year fixed effects added; see Appendix for values.
Run
python scripts/04_generational_analysis.py
python scripts/06_policy_residual.py
python scripts/07_education_outcomes.py
python scripts/04b_long_run_generational.py
python scripts/fig_a1_lag_decay.pyData Sources
| File | Source | Coverage |
|---|---|---|
Lower_Secondary_fin_complete.csv |
WCDE v3 (Wittgenstein Centre for Demography) | 186 countries, 1875–2015 |
Higher_Secondary_fin_complete.csv |
WCDE v3 | 186 countries, 1875–2015 |
Primary_fin_complete.csv |
WCDE v3 | 186 countries, 1875–2015 |
gdppercapita_us_inflation_adjusted.csv |
World Bank WDI | 189 countries, 1960–2015 |
life_expectancy_years.csv |
World Bank WDI | 189 countries, 1960–2015 |
children_per_woman_total_fertility.csv |
World Bank WDI | 189 countries, 1960–2015 |
co2_emissions_tonnes_per_person.csv |
World Bank WDI (placebo test) | 189 countries, 1960–2015 |
WCDE v3 education data: wittgensteincentre.org/dataexplorer
World Bank WDI: data.worldbank.org
Citation
@unpublished{krishna2026education,
author = {Krishna Pagadala},
title = {Education as the Sole Primary Driver of Human Development: Against Sen's Bifurcation},
year = {2026},
note = {Working paper. \url{https://github.com/[username]/education-rupture}}
}
Contact
Krishna Pagadala — [contact via GitHub issues]