SPB Git

spb/wp29_uqo

Public

# F6-dev-01 — Income and life expectancy across countries (Preston curve)

# Question

Does the cross-country association between real income per capita and life expectancy (the Preston curve) hold in the most recent year with usable World Bank data, and how strong is it? Estimand: the slope β of the linear projection LE_i = α + β·ln(GDPpc_i) + ε_i over countries/economies (equal weights), with heteroskedasticity-robust uncertainty. This is descriptive/associational; no causal claim is made.

# Data and exclusions

  • Inputs: data/wb_indicators.csv (2,349 rows, 261 entities × 2015–2023) and data/wb_entities.csv (296 rows), WDI indicators NY.GDP.PCAP.PP.KD (GDP pc, PPP, constant 2021 int'l $) and SP.DYN.LE00.IN (life expectancy at birth). Files read with only empty strings treated as missing (so a code like "NA" would not be silently turned into NaN).
  • Audit: no duplicate (iso3, year) rows; every iso3 in the indicator file is in the metadata; GDP is strictly positive. Two aggregate names differ between files only by trailing whitespace (LCN, SSF); joining is done on iso3.
  • Aggregates: 44 aggregate entities (396 rows) excluded (region == Aggregates), leaving 217 countries/economies per year.
  • Analysis year: both indicators are observed for 199 countries in every year 2015–2022 and 197 in 2023; the most recent year with ≥150 is 2023.
  • Missing in 2023: 20 countries/economies are dropped, all for missing GDP per capita (life expectancy is reported for all): ASM, CHI, CUB, ERI, GIB, GUM, IMN, LIE, MAF, MCO, MNP, NCL, PRK, PYF, SSD, SYR, VEN, VGB, VIR, YEM. No imputation. n = 197 analysed.
  • Implausible time-series volatility detected in life expectancy: Central African Republic (e.g. 31.5 in 2019, 18.8 in 2022, 57.4 in 2023), South Sudan (35.4 → 51.9 between 2017 and 2018), and West Bank & Gaza (76.7 in 2022 → 65.2 in 2023, consistent with the Gaza war). Only the 2023 values enter the estimate (SSD is anyway excluded for missing GDP). Values were kept as published, and a sensitivity check drops these entities. All issues are listed in results.json → data_issues.

# Method

  • Baseline (no-information model): predict every country's LE with the sample mean; its RMSE equals the population SD of LE.
  • Main model: OLS of LE on ln(GDPpc), one equally weighted observation per country. Fit is reported as the in-sample residual RMSE and R². The log specification is the standard Preston-curve form; a quadratic term in ln(GDPpc) was tested as a check on functional form.
  • Uncertainty: HC3 heteroskedasticity-robust standard error (the most conservative of HC0–HC3 in small/moderate samples with leverage points), with a normal-based (z) 95% CI, β ± 1.96·SE. Checks: HC0/HC1/HC2 SEs; nonparametric pairs bootstrap (2,000 resamples, seed 20261029); slope without the volatile-LE entities; slope without high-influence points (Cook's D > 4/n); same regression in 2019 (pre-pandemic). Robustness numbers are in out/sensitivity.json, produced by out/analysis.py.

# Results

quantity value
analysis year / n analysed / n excluded (missing) 2023 / 197 / 20
baseline RMSE (mean only) 7.08 years
OLS residual RMSE 3.59 years (≈49% lower than baseline)
Pearson r (ln GDPpc, LE) 0.861
R² 0.742
slope β 5.27 years per log-point
intercept α 22.57 years
HC3 SE of β 0.211
95% CI for β [4.85, 5.68]
conclusion positive_effect

Interpretation: across countries in 2023, a 10% higher GDP per capita goes with about 0.50 more years of life expectancy (β·ln 1.1), and a doubling goes with about 3.65 more years (β·ln 2), on average. Figure 1 (out/figure1.png) shows the scatter and fitted line. Table 1 (out/table1.csv) gives means by World Bank income group:

income level n mean ln GDPpc mean LE
Low income 20 7.61 63.19
Lower middle income 46 8.69 67.81
Upper middle income 58 9.69 73.70
High income 73 10.82 79.69

Life expectancy goes up steadily across the income groups.

# Uncertainty

  • Robust SEs barely depend on the variant: HC0 0.207, HC1 0.208, HC2 0.209, HC3 0.211. The pairs-bootstrap 95% percentile interval [4.87, 5.69] is almost the same as the HC3 interval.
  • Excluding CAF and PSE (volatile LE series) gives β = 5.23; excluding the 9 observations with Cook's D > 4/n (the most influential are NGA, GRL, TCD, SLB, GUY) gives β = 5.42. Both are inside the main CI.
  • Functional form: a quadratic term in ln(GDPpc) is not significant (coef 0.17, HC3 p = 0.34), so in this year the linear-in-log form gives a good description.
  • In 2019 (pre-COVID) the slope is 5.92, above the 2023 CI. The slope is therefore not fixed over time. Pandemic-era mortality and the WPP-based LE revisions may affect the gradient, so the 2023 value should not be read as a structural constant.
  • The CI covers sampling-type uncertainty only. Measurement error in GDP-PPP and in modelled LE estimates is not included.

# Limitations and open issues

  • What would invalidate the result: (i) systematic error in the 2023 life-expectancy estimates. For many low-income countries these are model-based UN WPP projections rather than vital-registration data, and the CAF/SSD/PSE series show that single-year values can shift by 10–20 years between revisions or events. If such errors are correlated with income, β is biased. (ii) Errors in PPP conversion (2021 ICP benchmark), which are largest for poor and small economies. Classical error in ln(GDPpc) would bias β toward zero (attenuation). (iii) Non-random exclusion. The 20 dropped economies are mostly rich small territories/microstates (Monaco, Liechtenstein, Channel Islands…) and conflict/sanctioned states (Yemen, Syria, South Sudan, Venezuela, DPRK, Eritrea, Cuba). Dropping both tails could change β, and the direction of the effect is not identified from these data.
  • What was not checked: population weighting (the estimand is equally weighted, so China/India count the same as Nauru); other years beyond the 2019 comparison; data vintages (the API returns current revisions, so results may change on re-download); controls (health spending, education, region, HIV prevalence, conflict). A regression with controls would answer a different question and is outside this estimand.
  • Main threats to interpretation: the association is not causal. Reverse causality (health → productivity) and confounding by institutions, education and disease environment are both plausible. Heteroskedasticity and large negative residuals (Nigeria −15.3 y, Greenland, Nauru, Equatorial Guinea, Guyana: resource-rich or special cases) show that income explains only about three-quarters of the cross-country variance. Countries cannot be treated as independent draws from a population, so the "sampling" CI is a conventional summary, not a frequentist statement about a superpopulation.
  • The analysis year is set mechanically by the ≥150 rule. 2023 has only 2 fewer complete cases than 2022, so the choice does not hinge on the threshold.
Files · main
Menu

Theme