Assessing multi-period household income vulnerability requires directional transition measures capable of capturing origin-dependent social risk alongside convex bottom-tier penalties. The Jenkins-Bourguignon mobility framework combines origin status sensitivity with Bourguignon-style convex inequality aversion, 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-Bourguignon downside mobility models without external statistical packages.
Mathematical Foundations of Jenkins-Bourguignon Downside Mobility
The Jenkins-Bourguignon downside framework incorporates an origin-sensitivity parameter $alpha > 0$ and a convex inequality aversion parameter $ heta > 1$. For an $n imes n$ decile transition matrix $P$ where $P_{ij}$ represents the probability of moving from decile $i$ to decile $j$:
$$JB_{down} = sum_{i > j} P_{ij} cdot left(rac{i – j}{i} ight)^alpha cdot left(rac{n – j + 1}{n} ight)^ heta$$
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 JB_DOWNSIDE inside Excel’s Name Manager:
=LAMBDA(transition_matrix, alpha_param, theta_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),
convex_penalty, IF(is_downside, ((n - col_seq + 1) / n) ^ theta_param, 0),
weighted_loss, IF(is_downside, transition_matrix * rel_drop * convex_penalty, 0),
jb_score, SUM(weighted_loss),
jb_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,
theta, 2.2,
jb1, JB_DOWNSIDE(cohort1990, alpha, theta),
jb2, JB_DOWNSIDE(cohort2000, alpha, theta),
jb3, JB_DOWNSIDE(cohort2010, alpha, theta),
jb4, JB_DOWNSIDE(cohort2020, alpha, theta),
headers, HSTACK("Observation Window", "Jenkins-Bourguignon Downside Vulnerability Index"),
r1, HSTACK("1990-2000", jb1),
r2, HSTACK("2000-2010", jb2),
r3, HSTACK("2010-2020", jb3),
r4, HSTACK("2020-2030 (Est)", jb4),
VSTACK(headers, r1, r2, r3, r4)
)
Sensitivity Testing and Model Verification
Ensure that all transition matrix rows sum to 100%. Adjusting $alpha$ and $ heta$ in linked cells allows researchers to stress-test differing degrees of social risk aversion across all stacked cohort comparisons simultaneously.