How to Use VSTACK and LAMBDA to Author Dynamic Hall-Tideman Concentration Index Models in Microsoft Excel

When assessing economic market concentration for competition policy, traditional measures like the Herfindahl-Hirschman Index (HHI) square market shares, placing exponential emphasis on the largest market participants. However, regulatory frameworks often require metrics that emphasize the absolute rank order of competing entities. The Hall-Tideman Index (HTI) weights each firm’s market share strictly by its descending rank order. By utilizing modern Excel dynamic array functions—specifically VSTACK, LAMBDA, LET, and SORT—analysts can construct dynamic Hall-Tideman models without legacy VBA macros.

Mathematical Definition of the Hall-Tideman Index

Let an industry consist of N competitors sorted in descending order of market share: s1 ≥ s2 ≥ … ≥ sN, where ∑ si = 1. The Hall-Tideman Index is formulated as:

HTI = 1 / (2 * ∑ (i * s_i) - 1)

Where i denotes the rank of the firm (1 for the market leader, 2 for the second largest, and so forth). The resulting value spans between 1 / N (perfect equality across N identical firms) and 1.0 (pure monopoly). The reciprocal 1 / HTI represents the “numbers equivalent” of equal-sized competitors representing equivalent concentration.

Creating the Reusable LAMBDA Function

In Microsoft Excel (Microsoft 365 or Excel 2024), navigate to Formulas > Name Manager and create a defined name titled HALL_TIDEMAN with the following dynamic formula:

=LAMBDA(shares,
    LET(
        clean, FILTER(shares, (shares > 0) * ISNUMBER(shares)),
        sorted, SORT(clean, 1, -1),
        total, SUM(sorted),
        norm_shares, sorted / total,
        n, ROWS(norm_shares),
        ranks, SEQUENCE(n, 1, 1, 1),
        weighted_sum, SUM(ranks * norm_shares),
        hti, 1 / (2 * weighted_sum - 1),
        hti
    )
)

This LAMBDA handles unranked raw revenue or market share figures directly, performing descending sorting, normalisation, sequence rank multiplication, and index resolution dynamically.

Constructing the Dynamic Executive Summary with VSTACK

Assume quarterly participant revenues are listed in cells A2:A15. In cell C2, enter this reporting formula to assemble a comprehensive antitrust scorecard:

=LET(
    revs, A2:A15,
    hti_val, HALL_TIDEMAN(revs),
    num_equiv, 1 / hti_val,
    clean_revs, FILTER(revs, (revs > 0) * ISNUMBER(revs)),
    sorted_revs, SORT(clean_revs, 1, -1),
    tot_rev, SUM(sorted_revs),
    cr4, SUM(TAKE(sorted_revs, 4)) / tot_rev,
    hhi, SUM((sorted_revs / tot_rev)^2) * 10000,
    
    header, HSTACK("Antitrust Metric", "Computed Value", "Benchmark Description"),
    r1, HSTACK("Hall-Tideman Index (HTI)", ROUND(hti_val, 4), IF(hti_val > 0.25, "High Concentration", IF(hti_val > 0.15, "Moderate Concentration", "Competitive"))),
    r2, HSTACK("Numbers Equivalent (Equal Firms)", ROUND(num_equiv, 2), "Effective number of equal-sized rivals"),
    r3, HSTACK("CR4 Concentration Ratio", TEXT(cr4, "0.0%"), IF(cr4 > 0.6, "Oligopolistic Dominance", "Distributed Mid-Tier")),
    r4, HSTACK("Herfindahl Index (HHI)", ROUND(hhi, 1), IF(hhi > 1800, "Highly Concentrated Market", "Unconcentrated Market")),
    
    VSTACK(header, r1, r2, r3, r4)
)

Analytical Benefits for Economic Compliance

  1. Linear Rank Weighting: Unlike the HHI which penalises larger firms quadratically, Hall-Tideman evaluates distribution across all competitors linearly by rank, ensuring mid-size competitors contribute meaningfully to market power assessments.
  2. Instant Dynamic Recalculation: Updating sales volumes or appending new market entrants automatically triggers array re-spilling without manual formula extension.
  3. Macro-Free Security: Dynamic array functions operate natively in web-based Excel, ensuring secure cloud distribution across legal and regulatory audit teams.

Get the best tech tips delivered straight to your inbox.

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