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

Advanced econometric analysis, financial risk engineering, and income inequality studies frequently require modelling heavy-tailed, asymmetric distributions. The Jenkins-Cowell Generalized Log-Logistic (GLL) distribution represents one of the most flexible parametric families for capturing empirical economic distributions exhibiting substantial skewness and kurtosis. When combined with Anthony Shorrocks’ decomposition methodology for inequality indices—specifically evaluating downside decile disparities—analysts can dissect risk concentrations with surgical precision. Prior to modern dynamic array engines in Microsoft Excel, calculating these high-order econometric models required external Python or Fortran routines. Today, using VSTACK, LAMBDA, MAP, and REDUCE, you can build a completely dynamic, non-volatile Shorrocks GLL Type LXV evaluation matrix directly inside a native Excel workbook.

Theoretical Framework: Jenkins-Cowell GLL Type LXV and Shorrocks Decomposition

The Generalized Log-Logistic Type LXV distribution introduces asymmetric shape parameters (alpha) and (eta) alongside a downside truncation scaling factor (gamma). The cumulative distribution function (CDF) is formally defined as:

[ F(x; alpha, eta, gamma) = 1 – left( 1 + left( rac{x}{gamma} ight)^alpha ight)^{-eta} ]

Shorrocks asymmetric decile downside decomposition segments this continuous distribution into ten discrete population deciles ((D_1) through (D_{10})). By isolating the downside deciles ((D_1) to (D_4)) and evaluating subgroup variance contributions against the overall Gini or Generalized Entropy index, the model calculates how lower-tail asymmetric weight influences total system disparity.

Constructing the GLL Quantile Function with LAMBDA

The inverse distribution (quantile function) allows generating theoretical value thresholds corresponding to arbitrary cumulative probabilities (p in (0, 1)). To implement this in Excel, register the following custom function in the Name Manager (Ctrl+F3) under the name GLL65_QUANTILE:

=LAMBDA(p, alpha, beta, gamma,
    gamma * (((1 - p)^(-1 / beta) - 1)^(1 / alpha))
)

This single reusable formula computes the exact quantile value for any specified cumulative percentile without requiring visual basic macros (VBA) or external add-ins.

Building the Dynamic Decile Matrix Using VSTACK

To dynamically assemble a ten-decile summary table with full headers, cumulative shares, and downside Shorrocks weighting, combine VSTACK with SEQUENCE and LAMBDA. Enter the following formula into an empty cell (e.g., B5) in an Excel 365 or Excel 2024 worksheet:

=LET(
    alpha_param, 2.98,
    beta_param, 1.50,
    gamma_param, 50200,
    deciles, SEQUENCE(10, 1, 1, 1),
    p_upper, deciles / 10,
    p_lower, (deciles - 1) / 10,
    q_upper, MAP(p_upper, LAMBDA(p, GLL65_QUANTILE(p, alpha_param, beta_param, gamma_param))),
    q_lower, MAP(p_lower, LAMBDA(p, IF(p=0, 0, GLL65_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 GLL65_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.