In quantitative economic mobility research, while the Prais index measures the trace of a transition probability matrix (diagonal immobility), it treats all off-diagonal transitions equally. John Geweke, Robert Marshall, and Gail Zarkin formulated the Geweke Mobility Index ($M_G$), which evaluates economic mobility through the second-largest eigenvalue ($lambda_2$) of a Markov transition probability matrix. The second eigenvalue governs the asymptotic rate of convergence toward steady-state equilibrium: smaller eigenvalues reflect rapid mobility and swift generational turnover. Modern Microsoft Excel dynamic array functions—specifically VSTACK, LAMBDA, and LET—allow economic analysts to build dynamic Geweke mobility models cleanly without legacy VBA macros.
Mathematical Foundations of the Geweke Index
Given a $K imes K$ stochastic transition probability matrix $P$, the Perron-Frobenius theorem guarantees that the largest eigenvalue is $lambda_1 = 1$. The discrete Geweke Mobility Index $M_G$ evaluates the magnitude of the subdominant eigenvalue $lambda_2$:
M_G = 1 - |lambda_2|
Where:
lambda_2represents the second-largest eigenvalue of transition matrix $P$ in absolute magnitude.- If no mobility exists (the matrix is the identity matrix $I$), $lambda_2 = 1$, yielding $M_G = 0$.
- If transitions rapidly redistribute individuals across categories, $|lambda_2| o 0$, and $M_G o 1$.
- The index is directly linked to the half-life of economic shock persistence: $t_{1/2} = -ln(2) / ln(|lambda_2|)$.
Implementing the Power Iteration Deflation Method in Excel
For a symmetric or quasi-symmetric transition matrix, we can compute $lambda_2$ using dynamic matrix deflation and power iteration inside the LET function:
=LET(
P, A2:E6,
k, ROWS(P),
pi_vec, SEQUENCE(k, 1, 1/k, 0),
ones_vec, SEQUENCE(1, k, 1, 0),
// Deflate the dominant stationary distribution component
P_deflated, P - MMULT(pi_vec, ones_vec),
// Initial trial vector
v0, SEQUENCE(k, 1, 1, 1) - (k + 1) / 2,
// Power iteration steps
v1, MMULT(P_deflated, v0),
norm1, SQRT(SUMSQ(v1)),
u1, v1 / norm1,
v2, MMULT(P_deflated, u1),
norm2, SQRT(SUMSQ(v2)),
u2, v2 / norm2,
v3, MMULT(P_deflated, u2),
lambda2, SUMPRODUCT(u2, v3),
geweke_index, 1 - ABS(lambda2),
geweke_index
)
This dynamic formula deflates the trivial dominant eigenvalue, executes successive matrix-vector multiplications via MMULT, and extracts the second eigenvalue to compute the Geweke index instantly.
Encapsulating the Formula into a Reusable Custom LAMBDA
To deploy this calculation across multiple transition matrices, define a reusable custom function named GEWEKE.MOBILITY in the Excel Name Manager:
- Navigate to the Formulas tab and click Name Manager.
- Click New, enter
GEWEKE.MOBILITYin the Name field, and set Scope toWorkbook. - In the Refers to box, input the formula to calculate eigenvalue-based mobility.
- Click OK and close the dialogue.
Building Comparative Transition Dashboards with VSTACK
We can combine multiple regional or sectoral transition matrices into a side-by-side comparative dashboard using VSTACK:
=LET(
matrix_A, A2:E6,
matrix_B, G2:K6,
header, HSTACK("Economic Sector Panel", "Geweke Index (1 - |λ2|)", "Subdominant Eigenvalue |λ2|", "Mobility Rating"),
row_1, HSTACK("High-Tech Sector Transition", GEWEKE.MOBILITY(matrix_A), 1 - GEWEKE.MOBILITY(matrix_A), "Rapid Convergence"),
row_2, HSTACK("Traditional Manufacturing", GEWEKE.MOBILITY(matrix_B), 1 - GEWEKE.MOBILITY(matrix_B), "Persistent Category Lock-in"),
VSTACK(header, row_1, row_2)
)
This dynamic array structure automatically updates whenever underlying transition probability estimates change, delivering instantaneous insight into asymptotic convergence rates and economic class persistence across industrial sectors.