Max Fortner

1

Understanding economic mobility across rural America

I compare Census tracts within local labor markets to examine how family, education, and economic characteristics relate to the adult incomes of children raised in low-income families.

A small rural American town set against a forested mountain
to advanceFfullscreenCode & data

2

How tract characteristics relate to economic mobility

Each point shows the estimated change in the outcome associated with a one-standard-deviation increase in a tract characteristic. The analysis covers 17,310 rural Census tracts, accounts for differences across commuting zones, and shows 95% confidence intervals.

Dot-and-whisker plot of adjusted OLS coefficients for rural tracts. Single-parent household share has the largest negative association; job growth, commute time, and employment share overlap zero.
Adjusted associations per predictor SD with CZ-clustered 95% intervals. Job growth, commute time, employment, and household income are indistinguishable from zero in this specification.

3

Rural vs. Urban

Single-parent share: the negative adjusted association is stronger in dense-urban tracts than in rural tracts.

Share below poverty: the coefficient reverses sign, appearing positive in rural tracts and negative in dense-urban tracts after adjustment.

Dot-and-whisker plot comparing rural and dense-urban adjusted associations on a common pooled standard-deviation scale.
Both models use common pooled predictor SDs and commuting-zone fixed effects. Blue represents rural tracts; purple represents dense-urban tracts with at least 10,000 people per square mile.

The data

Opportunity Insights’ Opportunity Atlas, tract tables 4 and 9. The outcome is kfr_pooled_pooled_p25: mean adult household-income rank for children whose parents sat at the 25th percentile, drawn from federal tax records for the 1978–1983 birth cohorts and keyed to the 2010 Census tract where each child grew up.

The raw covariate file holds 74,044 tracts; a validated one-to-one join on (state, county, tract) leaves 71,958 in the analysis sample, spanning 741 commuting zones. I define rural as fewer than 100 people per square mile in 2000 (a transparent project cutoff rather than the Census Bureau’s official classification), which yields 17,978 rural tracts. Models use complete cases and print the resulting row loss.

Full results

Within-commuting-zone OLS results for rural tracts
Characteristic (per SD)Assoc.95% CIp
Share single-parent households-1.51-1.69 to -1.34<0.001
Share white+1.15+0.99 to +1.32<0.001
Share with a BA or higher+0.74+0.57 to +0.91<0.001
Share below poverty line+0.38+0.22 to +0.54<0.001
Census mail return rate+0.29+0.16 to +0.42<0.001
Mean 3rd-grade math score+0.29+0.17 to +0.40<0.001
Share of adults employed+0.05-0.09 to +0.190.494
Mean commute time+0.04-0.08 to +0.160.484
Annual job growth, 2004-13+0.02-0.05 to +0.090.558
Mean household income-0.07-0.31 to +0.180.599

Percentile points of adult household-income rank per predictor SD. N = 17,310 rural tracts, 727 commuting zones. Commuting-zone indicators alone explain R² = 0.563; the ten characteristics add 0.097 on top of that. This is the honest measure of how much these tract traits explain, and a reminder that most of what predicts mobility here is simply which region you are in.

Rural vs. dense urban

Put rural and dense-urban tracts on one common scale and the rural pattern is not a scaled-down copy of the urban one. Single-parent share leads in both, but income, poverty, and employment behave differently across the two settings. This comparison is exploratory: the dense-urban model contains only 28 commuting-zone clusters, below the point where cluster-robust intervals can be trusted.

Dot-and-whisker plot comparing rural and dense-urban adjusted coefficients on a common pooled standard-deviation scale.
Both groups scaled by pooled rural + dense-urban predictor SDs, so the numbers here differ from the rural-only scale used above. The rural-only figure is the one quoted for the headline estimate; this panel compares shape, not magnitude.

What this does not show

Commuting-zone fixed effects handle broad regional composition but not family sorting or unobserved tract differences. The predictors are heavily collinear (income–BA r = 0.78; poverty–income r = 0.64; single-parent–poverty r = 0.62), so any coefficient that flips its bivariate sign is treated as a suppression pattern rather than an independent effect. Several covariates are also measured after the focal cohorts’ childhood years.

The race coefficient is a conditional association on cross-sectional tract data, consistent with the documented national race gaps in mobility, but not interpretable as a place effect under this design.

Reproduce it

Three notebooks run in numeric order from code/. Each defines its functions at the top and imports shared paths from utils.py, so nothing is hardcoded to one machine. Raw data are not committed; 00_pull.ipynb re-downloads them, so a fresh clone reproduces every figure and table on this page.

  • 00_pull.ipynb

    Downloads Opportunity Atlas tables 4 and 9; prints row counts, duplicate-id checks, and missing-cell counts.

  • 01_merge.ipynb

    Validates a one-to-one join on (state, county, tract), prints row-loss diagnostics, builds density categories, audits missing cells.

  • 02_analyze.ipynb

    Fits standardized OLS with commuting-zone fixed effects and CZ-clustered SEs, runs the 200-child screen and the dense-urban comparison, writes every figure and table.