Assessing multi-period household income vulnerability requires directional transition measures capable of capturing origin-dependent social risk alongside rank-weighted status distance measures. The Jenkins-Chakravarty rank mobility framework combines origin status sensitivity with Chakravarty-style bounded distance metrics and relative population rank weights, penalising downward transitions that trap families in bottom-tier economic brackets. By implementing dynamic LAMBDA and VSTACK algorithms in Microsoft Excel, quantitative researchers can construct real-time Jenkins-Chakravarty rank downside mobility models without external statistical packages.
Mathematical Foundations of Jenkins-Chakravarty Rank Downside Mobility
The Jenkins-Chakravarty rank downside framework incorporates an origin-sensitivity parameter $alpha > 0$ and a concave distance parameter $eta in (0, 1]$. For an $n imes n$ decile transition matrix $P$ where $P_{ij}$ represents the probability of moving from decile $i$ to decile $j$:
$$JCR_{down} = sum_{i > j} P_{ij} cdot left(rac{i – j}{i} ight)^alpha cdot left(rac{i – j}{n – 1} ight)^eta cdot left(rac{n – j + 1}{n} ight)$$
When all parameters are applied, downward transitions from middle-income deciles into chronic poverty receive compounding ethical penalties on the aggregate mobility index.
Authoring the Dynamic LAMBDA Formula
Create a named formula JCR_DOWNSIDE inside Excel’s Name Manager:
=LAMBDA(transition_matrix, alpha_param, beta_param,
LET(
n, ROWS(transition_matrix),
row_seq, SEQUENCE(n, 1, 1, 1),
col_seq, SEQUENCE(1, n, 1, 1),
is_downside, row_seq > col_seq,
rel_drop, IF(is_downside, ((row_seq - col_seq) / row_seq) ^ alpha_param, 0),
concave_dist, IF(is_downside, ((row_seq - col_seq) / (n - 1)) ^ beta_param, 0),
rank_weight, (n - col_seq + 1) / n,
weighted_loss, IF(is_downside, transition_matrix * rel_drop * concave_dist * rank_weight, 0),
jcr_score, SUM(weighted_loss),
jcr_score
)
)
Stacking Multi-Period Longitudinal Results with VSTACK
Consolidate multi-decade panel survey data into an automated summary dashboard using VSTACK:
=LET(
cohort1990, Panel1990[#Data],
cohort2000, Panel2000[#Data],
cohort2010, Panel2010[#Data],
cohort2020, Panel2020[#Data],
alpha, 1.4,
beta, 0.8,
jcr1, JCR_DOWNSIDE(cohort1990, alpha, beta),
jcr2, JCR_DOWNSIDE(cohort2000, alpha, beta),
jcr3, JCR_DOWNSIDE(cohort2010, alpha, beta),
jcr4, JCR_DOWNSIDE(cohort2020, alpha, beta),
headers, HSTACK("Observation Window", "Jenkins-Chakravarty Rank Downside Vulnerability Index"),
r1, HSTACK("1990-2000", jcr1),
r2, HSTACK("2000-2010", jcr2),
r3, HSTACK("2010-2020", jcr3),
r4, HSTACK("2020-2030 (Est)", jcr4),
VSTACK(headers, r1, r2, r3, r4)
)
Sensitivity Testing and Model Verification
Ensure that all transition matrix rows sum to 100%. Adjusting $alpha$ and $eta$ in linked cells allows researchers to stress-test differing degrees of social risk aversion across all stacked cohort comparisons simultaneously.