Assessing multi-period household income vulnerability requires directional transition measures capable of capturing origin-dependent social risk alongside rank-weighted inequality aversion. The Jenkins-Blackorby mobility framework combines origin status sensitivity with Blackorby-Donaldson generalized Gini 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-Blackorby downside mobility models without external statistical packages.
Mathematical Foundations of Jenkins-Blackorby Downside Mobility
The Jenkins-Blackorby downside framework incorporates an origin-sensitivity parameter $alpha > 0$ and a rank-weighting parameter $delta ge 1$. For an $n imes n$ decile transition matrix $P$ where $P_{ij}$ represents the probability of moving from decile $i$ to decile $j$:
$$JBD_{down} = sum_{i > j} P_{ij} cdot left(rac{i – j}{i} ight)^alpha cdot left[1 – left(rac{j}{i} ight)^delta ight] cdot left(rac{n – j + 1}{n} ight)$$
When both parameters exceed 1.0, downward transitions landing in the lowest income tiers exert compounding non-linear penalties on the aggregate mobility index.
Authoring the Dynamic LAMBDA Formula
Create a named formula JBD_DOWNSIDE inside Excel’s Name Manager:
=LAMBDA(transition_matrix, alpha_param, delta_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),
rank_weight, (n - col_seq + 1) / n,
inequality_penalty, IF(is_downside, (1 - ((col_seq / row_seq) ^ delta_param)) * rank_weight, 0),
weighted_loss, IF(is_downside, transition_matrix * rel_drop * inequality_penalty, 0),
jbd_score, SUM(weighted_loss),
jbd_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,
delta, 1.8,
jbd1, JBD_DOWNSIDE(cohort1990, alpha, delta),
jbd2, JBD_DOWNSIDE(cohort2000, alpha, delta),
jbd3, JBD_DOWNSIDE(cohort2010, alpha, delta),
jbd4, JBD_DOWNSIDE(cohort2020, alpha, delta),
headers, HSTACK("Observation Window", "Jenkins-Blackorby Downside Vulnerability Index"),
r1, HSTACK("1990-2000", jbd1),
r2, HSTACK("2000-2010", jbd2),
r3, HSTACK("2010-2020", jbd3),
r4, HSTACK("2020-2030 (Est)", jbd4),
VSTACK(headers, r1, r2, r3, r4)
)
Sensitivity Testing and Model Verification
Ensure that all transition matrix rows sum to 100%. Adjusting $alpha$ and $delta$ in linked cells allows researchers to stress-test differing degrees of social risk aversion across all stacked cohort comparisons simultaneously.