GitHunt
RK

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 statsmodels

Scripts → 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.py

Data 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]