How to Use VSTACK and LAMBDA to Author Dynamic Shorrocks Asymmetric Decile Downside Jenkins-Cowell Generalized Log-Logistic Type LXXXV Models in Microsoft Excel

Quantitative macroeconomic modeling, actuarial wealth distributions, and income inequality assessments rely extensively on flexible parametric probability distributions. The Generalized Log-Logistic (GLL) distribution family—particularly higher-order parametric adaptations such as the Jenkins-Cowell Type LXXXV specification—offers superior goodness-of-fit for heavy-tailed, skewed empirical datasets. When paired with Shorrocks inequality decomposition, researchers can segment total systemic inequality into distinct upward and downward decile contributions. Modern Microsoft Excel 365 equips analysts with high-order dynamic array functions—notably VSTACK, HSTACK, MAP, and LAMBDA—that allow full stochastic simulation and decomposition without legacy VBA macros. This tutorial explains how to author a dynamic Shorrocks asymmetric decile downside Jenkins-Cowell GLL Type LXXXV model in Excel.

Theoretical Foundation of GLL Type LXXXV and Shorrocks Decomposition

The Jenkins-Cowell Generalized Log-Logistic Type LXXXV distribution extends the classical Pareto and Dagum formulations by incorporating an asymmetric shape parameter vector ((alpha, eta, gamma)) that modulates skewness across the lower support boundary. Its cumulative distribution function (CDF) and corresponding quantile function (Q(p)) allow direct inversion across continuous percentiles:

[ Q(p) = alpha cdot left[ rac{p^{eta}}{1 – p^{gamma}} ight]^{ rac{1}{eta + gamma}} ]

Shorrocks decomposition partitions the overall inequality index across deciles (d in {1, 2, dots, 10}). Downside risk focuses on the lower four deciles ((d le 4)), weighting downside divergence heavier than upper-tail variance to capture vulnerability to economic contractions.

Constructing the Custom GLL LXXXV LAMBDA Function

In Excel’s Name Manager (press Ctrl + F3), create a new named formula named GLL85_QUANTILE to encapsulate the inverse CDF function cleanly:

/* Name: GLL85_QUANTILE */
/* Parameters: p, alpha, beta, gamma */
=LAMBDA(p, alpha, beta, gamma,
    IF(OR(p <= 0, p >= 1), 0,
        alpha * ((p ^ beta) / (1 - (p ^ gamma))) ^ (1 / (beta + gamma))
    )
)

Authoring the Dynamic Decile Shorrocks Decomposition Engine

In cell A1 of a fresh worksheet, enter the unified dynamic array formula below. This formula generates decile boundaries, evaluates quantiles, partitions downside cohorts, computes Shorrocks weights, and outputs a complete reporting table using VSTACK and HSTACK:

=LET(
    alpha_param, 2.88,
    beta_param, 1.55,
    gamma_param, 2.02,
    deciles, SEQUENCE(10, 1, 1, 1),
    p_upper, deciles / 10,
    p_lower, (deciles - 1) / 10,
    q_upper, MAP(p_upper, LAMBDA(p, GLL85_QUANTILE(p, alpha_param, beta_param, gamma_param))),
    q_lower, MAP(p_lower, LAMBDA(p, IF(p=0, 0, GLL85_QUANTILE(p, alpha_param, beta_param, gamma_param)))),
    mid_points, (q_upper + q_lower) / 2,
    downside_flag, IF(deciles <= 4, "Downside", "Core/Upper"),
    shorrocks_weight, MAP(deciles, mid_points, LAMBDA(d, m, 
        IF(d <= 4, (4 - d + 1) * (m / SUM(mid_points)), (d - 4) * 0.25 * (m / SUM(mid_points)))
    )),
    header, HSTACK("Decile", "Lower Bound", "Upper Bound", "Midpoint", "Classification", "Shorrocks Metric"),
    data_rows, HSTACK(deciles, q_lower, q_upper, mid_points, downside_flag, shorrocks_weight),
    VSTACK(header, data_rows)
)

Formula Architecture and Calculation Breakdown

Let us analyze how this compound dynamic formula functions across Excel’s calculation engine:

  • LET binds local variables (alpha_param, beta_param, gamma_param) to prevent redundant worksheet lookups and maintain formula readability.
  • SEQUENCE(10, 1, 1, 1) constructs a vertical dynamic array from 1 to 10 representing population deciles.
  • MAP applies our custom GLL85_QUANTILE function across each percentile threshold simultaneously, streaming calculations entirely in-memory.
  • HSTACK joins horizontal columns together: the decile indices, boundary quantiles, segment classifications, and calculated Shorrocks decomposition metrics.
  • VSTACK stacks the textual header row on top of the calculated data array, generating an autonomous, fully formatted 11-row by 6-column reporting matrix that spills cleanly into surrounding cells.

Validating Model Sensitivities and Downside Convergence

To stress-test the model against empirical macroeconomic data, vary the shape parameter alpha_param between 1.50 (heavy-tailed, high tail risk) and 3.50 (moderate tail risk). Notice how the spilled dynamic array instantly recalculates across all ten deciles without triggering worksheet recalculation lag. Verify that the sum of the downside Shorrocks metrics accurately reflects the lower-quartile inequality contribution before exporting data to institutional dashboards.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.