Arte SheetsLearn. Try. Understand.

Economics & Market Microstructure

Prais-Shorrocks Income Mobility Index M(P) Formula: Markov Transition Matrix Trace

Quantify intergenerational or credit-rating transition mobility from a K x K Markov matrix P using the Prais-Shorrocks Trace Index M(P) = (K - trace(P)) / (K - 1) and Mean Class Stay Duration 1 / (1 - p_ii).

Turn a K x K income-bracket or credit-rating transition matrix into a single [0, 1+] Mobility Index!

Two economies can exhibit identical cross-sectional Gini coefficients yet wildly different life chances: in a rigid caste-like economy every diagonal persistence probability p_ii = 1 (trace(P) = K), whereas in an Equal-Opportunity origin-independent society every row equals [1/K, ..., 1/K] (trace(P) = 1)!

Derived by S. J. Prais (1955) and axiomatized by Anthony F. Shorrocks (1978, Econometrica), the Trace Mobility Index M(P) = (K - SUM_{i=1..K} p_ii) / (K - 1) normalizes mobility cleanly: M(I) = 0 under complete immobility, M(P) = 1.000 under origin-independence, and each bracket’s geometric expected spell duration before moving is E[T_i] = 1 / (1 - p_ii) periods!

3x3 Tertile Transition RegimeDiagonal Persistence [p_11, p_22, p_33]Matrix Trace tr(P)Prais-Shorrocks Mobility M(P)
Complete Immobility (Identity Matrix I)[1.00, 1.00, 1.00]3.000.0000
Observed Empirical Panel[0.60, 0.55, 0.70]1.850.5750
Origin-Independent Equal Chance[0.333, 0.333, 0.333]1.001.0000

Prais-Shorrocks Markov Trace Mobility Index M(P) = (K - trace(P)) / (K - 1)

Validates that all 3 rows of transition matrix B2:D4 are non-negative and sum to 1.00 (within 0.001), then computes (3 - (B2 + C3 + D4)) / 2.

=IF(OR(MIN(B2:D4) < 0, ABS(SUM(B2:D2) - 1) > 0.001, ABS(SUM(B3:D3) - 1) > 0.001, ABS(SUM(B4:D4) - 1) > 0.001), "Invalid Row-Stochastic Transition Matrix", ROUND((3 - (B2 + C3 + D4)) / 2, 4))

Expected Spell Duration in Origin Bracket i: E[T_i] = 1 / (1 - p_ii)

Computes average consecutive periods spent in Bracket 1 before exiting (guarding absorbing state p_11 = 1).

=IF(OR(B2 < 0, B2 > 1), "Invalid Probability", IF(B2 = 1, "Absorbing State (Infinite Stay)", ROUND(1 / (1 - B2), 2)))

Try the example

Use the original values or change them to test your understanding.

Further reading