Heterogeneous Treatment Effects of 401(k) Eligibility
Does 401(k) eligibility affect household savings the same way for everyone, or does the effect vary — and can we prove it does?
Overview
401(k) eligibility isn’t randomly assigned — it’s correlated with employer type, and through that, with income and savings behavior. This project uses debiased/orthogonal machine learning to estimate the causal effect of eligibility on household net financial assets, and asks whether that effect is truly heterogeneous across households or just looks that way.
Data: pension dataset from the hdm R package (n = 9,915). Outcome: net financial assets. Treatment: 401(k) eligibility. Covariates: age, income, family size, education, marital status, two-earner status, defined-benefit pension, IRA participation, home ownership.
Key Results
- Average effect: eligibility raises net financial assets by $7,914 (95% CI: $5,707–$10,122), via AIPW from a causal forest (
grf, 2,000 trees, honest splitting). - Variable importance: income drives most of the estimated heterogeneity (64.5%), followed by age (16.5%) and education (10.4%).
- Subgroup ATEs: CATE quartiles rise monotonically from Q1 ($3,615) to Q4 ($11,618) — but see below.
- Formal heterogeneity test: using the efficient influence function for the CATE variance, the debiased estimate is not statistically distinguishable from zero (p = 0.393). The naive CATE variance is mostly estimation noise, not true heterogeneity — the quartile pattern is suggestive, not confirmed.
- Effect vs. income (R-learner): conditioning the CATE on income alone (Nie & Wager 2021 R-learner), the effect is near zero for low earners and rises to ~$40,000 near the 98th income percentile.
Methods
- Causal forest — honest, cross-fit causal forest over all nine covariates; AIPW average treatment effect.
- Subgroup ATEs — households split into CATE-predicted quartiles; per-quartile ATE with 95% CIs.
- Heterogeneity test — debiased ML estimator of CATE variance using its efficient influence function, correcting the naive estimate for estimation-noise bias.
- R-learner on income — nuisance functions cross-fit on all covariates, but the CATE restricted to a smooth function of income only (varying-coefficient GAM) — stronger and more interpretable than the causal forest, at the cost of flexibility.
All nine covariates are pre-treatment, so conditioning on the full set is valid: they can only help close backdoor paths and improve precision, since none are mediators or colliders on the eligibility → assets path.
Stack
R (grf, hdm, mgcv, randomForest, dplyr, ggplot2)