Is Social Mobility a Markov Process?

Author

Bas Machielsen

Published

July 14, 2026

Introduction

Almost every empirical estimate of intergenerational mobility is a two-generation estimate: regress a son’s status rank \(z_t\) on his father’s rank \(z_{t-1}\), report the slope \(b_1\). In work I am doing on religion and mobility in the nineteenth-century Netherlands that is exactly what we do, and the slope is lower on the Protestant side of the old Archdiocese of Mechelen border, which we read as more mobility.

But the design smuggles in an assumption that is rarely stated: that status transmission is a first-order Markov process. Whatever a grandfather passes to his grandson, he passes through the father. If that holds, the two-generation slope is a sufficient statistic and the \(k\)-generation association is just \(b_1^k\). A growing genealogical literature1 says it does not hold. Here is why, and why it bites harder on a comparison between two groups than on a level estimate.

The Markov benchmark, and how it fails

The test is simple, and it is the reason multigenerational data are worth the trouble of building. Under a first-order Markov (AR(1)) process the directly estimated grandfather–grandson slope \(b_2\) must equal the iterated prediction \(b_1^2\). So estimate both, and compare.

They do not match, anywhere anyone has looked. In Shiue’s five-generation panel for Tongcheng, China, a father–son rank–rank slope of \(0.579\) implies a grandfather–grandson association of \(0.335\), but the directly estimated value is \(0.398\). Braun and Stuhler find the same excess in German data, and Keller and Shiue push it further: extended kin and in-law families carry status information beyond the father entirely. Status persists more than the two-generation slope lets you extrapolate. One gloss on that fact is a direct grandparental effect, the grandfather keeps a coefficient conditional on the father, but the structural interpretation is a latent-factor model.

The latent-factor model

Suppose observed status \(y\) is a noisy expression of a latent family endowment \(e\), and it is the endowment that is transmitted, not status itself:

\[ y_{t} = \lambda e_{t} + u_{t}, \qquad e_{t} = \rho\, e_{t-1} + v_{t} , \]

with \(u_t\) and \(v_t\) white noise, uncorrelated with everything else and across generations. So \(\lambda\) is the loading: how tightly occupational attainment tracks the endowment. And \(\rho\) is the persistence of the endowment itself. Because we work with within-cohort ranks, we can normalise \(\mathrm{Var}(y) = \mathrm{Var}(e) = 1\) and read slopes as correlations.2

Now derive the \(k\)-generation association. Since the endowment is an AR(1), iterating it \(k\) times gives \(e_t = \rho^k e_{t-k} + (\text{noise dated after } t-k)\), and that noise is orthogonal to \(e_{t-k}\), so \(\mathrm{Cov}(e_t, e_{t-k}) = \rho^k\). Substitute the measurement equation and use that the \(u\)’s are uncorrelated across generations:

\[ b_k \;=\; \frac{\mathrm{Cov}(y_t, y_{t-k})}{\mathrm{Var}(y_{t-k})} \;=\; \mathrm{Cov}(\lambda e_t + u_t,\; \lambda e_{t-k} + u_{t-k}) \;=\; \lambda^{2}\,\mathrm{Cov}(e_t, e_{t-k}) \;=\; \lambda^{2}\rho^{k} . \]

The economics sits in the asymmetry between the two exponents. The only channel connecting an ancestor’s observed status to a descendant’s runs through the endowment, and using it means paying the loading twice: once to get from the ancestor’s status back into his endowment, once to get from the descendant’s endowment out into his status, no matter how many generations lie between them. The persistence \(\rho\), by contrast, is paid once per generation. So \(\lambda^2\) is a fixed toll and \(\rho^k\) is the part that compounds.

Two things follow. First, \(b_1 = \lambda^2\rho\) sits below \(\rho\) whenever \(\lambda^2 < 1\): the two-generation slope overstates mobility. Second, \(b_2 = \lambda^2\rho^2\) exceeds \(b_1^2 = \lambda^4\rho^2\) for any \(\lambda < 1\) — squaring the two-generation slope charges the toll twice over. The excess persistence is not an anomaly; it is exactly what the model predicts.3

What the ratio gives you

Here is the part I find genuinely useful, and the reason this is not merely a caveat. Take the ratio of the two slopes:

\[ \frac{b_2}{b_1} = \rho . \]

The loading has cancelled: latent persistence is recoverable free of \(\lambda\), and so free of however noisily occupation happens to proxy for underlying family status.

That matters because a cross-group comparison of \(b_1\) is not identified as a comparison of mobility. If the persistence slope is lower on the Protestant side, there are two stories. Either Protestant families genuinely regressed to the mean faster (\(\rho_P < \rho_C\)), or occupational titles simply tracked latent status more loosely there (\(\lambda_P < \lambda_C\)), which is a measurement difference dressed up as social fluidity. The two-generation slope cannot tell these apart. The ratio can.

What we find

Linking the Dutch genealogical lineages into \(38{,}475\) grandfather–father–son triples, mobility turns out to be strongly non-Markov on both sides. The direct slope \(b_2\) (\(0.290\) Protestant, \(0.335\) Catholic) exceeds the iterated prediction \(b_1^2\) (\(0.176\) and \(0.235\)) by 65 and 43 percent, echoing the Chinese and German magnitudes. But the excess is statistically indistinguishable across the border (\(-0.015\), s.e. \(0.026\)), so the cross-side contrast is not an artefact of differential higher-order structure. And latent persistence is \(\rho \approx 0.69\) on both sides, which is the same ratio \(0.398/0.579\) implies for Tongcheng in Keller and Shue’s papers.

Read strictly through the model, equal \(\rho\) loads the Protestant advantage onto \(\lambda\) (\(\lambda^2 = 0.61\) against \(0.70\)): occupational position was less tightly determined by family endowment in every generation — the allocative channel, not a measurement artefact. I would not lean the whole argument on that decomposition, though. The ratio test is underpowered on the Catholic side, and the grouped surname estimator, which averages out precisely the \(\lambda\)-type noise, does find higher Catholic persistence.

Closing thoughts

The Markov assumption is testable the moment you have three linked generations, and it fails. The consolation is that it fails symmetrically here, and that \(b_2/b_1\) hands you a comparison statistic immune to the measurement worry that would otherwise be fatal. Re-running our differential-persistence IV at the grandparent horizon says the same thing: the interaction of grandfather status with Protestant share stays negative (\(-0.093\) to \(-0.119\)) and significant. The advantage compounds across generations rather than washing out.

Footnotes

  1. Clark, G., & Cummins, N. (2015). Intergenerational wealth mobility in England, 1858–2012: Surnames and social mobility. The Economic Journal, 125(582), 61–85., Braun, S. T., & Stuhler, J. (2018). The transmission of inequality across multiple generations: Testing recent theories with evidence from Germany. The Economic Journal, 128(609), 576–611., Shiue, C. H. (2025). Social mobility in the long run: An analysis of Tongcheng, China, 1300 to 1900. The Journal of Economic History, 85(2), 370–410., Keller, W., & Shiue, C. H. (2023). Intergenerational mobility of daughters and marital sorting: New evidence from Imperial China (NBER Working Paper No. 31695). National Bureau of Economic Research.↩︎

  2. The normalisation is innocuous here but not free in general: it is what lets us ignore secular drift in the variance of status across cohorts, which ranking within cohorts already removes.↩︎

  3. Braun and Stuhler use the reverse letters, their \(\rho\) is my \(\lambda\) and their \(\lambda\) is my \(\rho\), so read across with care.↩︎