Destination 4 of 6

Microeconomics / Game Theory Study ST-06 · Gemini 4 Argon + Pandas

Why gas prices
feather down.

Decomposing retail pump prices across 12 countries into crude/wholesale rack cost, sovereign tax wedges, and ex-tax oligopoly markups — and modeling why street-sign transparency, inelastic market demand, and AI pricing sustain tacit collusion.

Workbench Study ST-06 · Generated with Gemini 4 Argon (gemini-4-argon · High Thinking + Google Search + Pandas) · Grounded in IEA Energy Prices & Taxes, German MTS-K (Assad et al. 2024, JPE), Western Australia FuelWatch (Byrne & de Roos 2019, AER), UK CMA Road Fuel Reports (2023–2025), Canadian Cartel Records (Clark & Houde 2013/2014), and Chilean CNE (Luco 2019, AEJ: Microeconomics).

01 / Pump price decomposition

Separating sovereign fuel taxes from oligopoly ex-tax retail markups across 12 countries.

Raw international pump comparisons confuse fiscal taxation with corporate pricing power. In Denmark ($2.35/L) and the Netherlands ($2.26/L), excise, carbon, and VAT taxes account for over 60% of the retail price. However, once we strip out taxes and wholesale Terminal Gate Prices (TGP) using Pandas, a stark industrial-organization pattern emerges: countries where 3 to 5 vertically integrated refiner-marketers or supermarket chains control 65%–89% of stations (Germany, the UK, Australia, Chile, and Canada) sustain ex-tax retail markups of 24 to 28 cents/L — more than double the 12 cents/L spread in unconcentrated US markets anchored by high-volume maverick discounters (Costco, QuikTrip, Wawa).

■ Wholesale Crude & Refining TGP ($/L)■ Ex-Tax Retail & Oligopoly Markup Spread ($/L)■ Sovereign Tax Wedge (Excise + Carbon + VAT)

Cross-country pump price decomposition ($ USD/L): Wholesale TGP vs. Ex-Tax Oligopoly Markup vs. Tax WedgeCountries ranked by Ex-Tax Retail & Distribution Markup (amber). High European headline pump prices are 55%–62% sovereign tax (purple), but concentrated 3-to-5 firm oligopolies (DE, UK, AU, CL, CA) extract 24–28 c/L ex-tax markups vs. 12 c/L in unconcentrated US big-box markets.$0.00/L$0.50/L$1.00/L$1.50/L$2.00/L$2.50/LDE · Germany (CR4 68%)Germany (MTS-K / Algorithmic Oligopoly) · Wholesale Rack/TGP: $0.64/LGermany (MTS-K / Algorithmic Oligopoly) · Ex-Tax Retail Oligopoly Markup: $0.28/L (28 c/L)Germany (MTS-K / Algorithmic Oligopoly) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.06/L$1.98/L (28c markup)UK · United Kingdom (CR4 64%)United Kingdom (CMA Supermarket Quadropoly) · Wholesale Rack/TGP: $0.63/LUnited Kingdom (CMA Supermarket Quadropoly) · Ex-Tax Retail Oligopoly Markup: $0.27/L (27 c/L)United Kingdom (CMA Supermarket Quadropoly) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.04/L$1.94/L (27c markup)AU · Australia (CR4 74%)Australia (Perth FuelWatch / 4-Pillar Refiners) · Wholesale Rack/TGP: $0.62/LAustralia (Perth FuelWatch / 4-Pillar Refiners) · Ex-Tax Retail Oligopoly Markup: $0.27/L (27 c/L)Australia (Perth FuelWatch / 4-Pillar Refiners) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.49/L$1.38/L (27c markup)CL · Chile (CR4 89%)Chile (COPEC–Shell–Petrobras Triopoly) · Wholesale Rack/TGP: $0.65/LChile (COPEC–Shell–Petrobras Triopoly) · Ex-Tax Retail Oligopoly Markup: $0.26/L (26 c/L)Chile (COPEC–Shell–Petrobras Triopoly) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.53/L$1.44/L (26c markup)CA · Canada (CR4 71%)Canada (Regional Refiner-Marketers & Cartel Clusters) · Wholesale Rack/TGP: $0.61/LCanada (Regional Refiner-Marketers & Cartel Clusters) · Ex-Tax Retail Oligopoly Markup: $0.25/L (25 c/L)Canada (Regional Refiner-Marketers & Cartel Clusters) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.46/L$1.32/L (25c markup)NL · Netherlands (CR4 67%)Netherlands (Highway Concession Oligopoly) · Wholesale Rack/TGP: $0.64/LNetherlands (Highway Concession Oligopoly) · Ex-Tax Retail Oligopoly Markup: $0.25/L (25 c/L)Netherlands (Highway Concession Oligopoly) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.37/L$2.26/L (25c markup)DK · Denmark (CR4 76%)Denmark (Nordic Retail Consolidation) · Wholesale Rack/TGP: $0.65/LDenmark (Nordic Retail Consolidation) · Ex-Tax Retail Oligopoly Markup: $0.24/L (24 c/L)Denmark (Nordic Retail Consolidation) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.46/L$2.35/L (24c markup)IT · Italy (CR4 62%)Italy (Integrated Eni–IP–Q8 Network) · Wholesale Rack/TGP: $0.64/LItaly (Integrated Eni–IP–Q8 Network) · Ex-Tax Retail Oligopoly Markup: $0.22/L (22 c/L)Italy (Integrated Eni–IP–Q8 Network) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.18/L$2.04/L (22c markup)JP · Japan (CR4 82%)Japan (ENEOS–Idemitsu–Cosmo Triopoly) · Wholesale Rack/TGP: $0.62/LJapan (ENEOS–Idemitsu–Cosmo Triopoly) · Ex-Tax Retail Oligopoly Markup: $0.19/L (19 c/L)Japan (ENEOS–Idemitsu–Cosmo Triopoly) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.43/L$1.24/L (19c markup)FR · France (CR4 54%)France (Hypermarket vs. Highway Split) · Wholesale Rack/TGP: $0.64/LFrance (Hypermarket vs. Highway Split) · Ex-Tax Retail Oligopoly Markup: $0.18/L (18 c/L)France (Hypermarket vs. Highway Split) · Sovereign Tax Wedge (Excise + Carbon + VAT): $1.17/L$1.99/L (18c markup)US · United States (CR4 31%)United States (Unconcentrated Independent & Big-Box Benchmark) · Wholesale Rack/TGP: $0.59/LUnited States (Unconcentrated Independent & Big-Box Benchmark) · Ex-Tax Retail Oligopoly Markup: $0.12/L (12 c/L)United States (Unconcentrated Independent & Big-Box Benchmark) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.15/L$0.96/L (12c markup)DZ · Algeria (CR4 95%)Algeria (State-Subsidized Producer Benchmark) · Wholesale Rack/TGP: $0.22/LAlgeria (State-Subsidized Producer Benchmark) · Ex-Tax Retail Oligopoly Markup: $0.07/L (7 c/L)Algeria (State-Subsidized Producer Benchmark) · Sovereign Tax Wedge (Excise + Carbon + VAT): $0.05/L$0.34/L (7c markup)
Cross-country gasoline price decomposition ($ USD/L), Top-4 firm concentration (CR4), HHI, and empirical collusion regime.
CountryPump $/LWholesale TGPTax wedgeEx-tax markupEx-tax Lerner %CR4 / HHIDominant firmsEmpirical regime
DE · Germany (MTS-K / Algorithmic Oligopoly)$1.98/L$0.64/L$1.06/L (54%)$0.28/L (28 c/L)30.4%68% (HHI 2640)Aral (BP), Shell, Jet, Esso, TotalEnergiesAlgorithmic tacit collusion (+28% duopoly margin, Assad et al. 2024 JPE)
UK · United Kingdom (CMA Supermarket Quadropoly)$1.94/L$0.63/L$1.04/L (54%)$0.27/L (27 c/L)30.0%64% (HHI 2480)Asda, Tesco, Sainsbury's, Morrisons + BP/ShellRocket-and-feather margin expansion (+6 p/L CMA 2023–2025 finding)
AU · Australia (Perth FuelWatch / 4-Pillar Refiners)$1.38/L$0.62/L$0.49/L (36%)$0.27/L (27 c/L)30.3%74% (HHI 2890)BP, Ampol/Caltex, Viva (Shell), Coles/7-ElevenBP focal-point signaling ended Edgeworth wars (+75% margin, Byrne & de Roos 2019 AER)
CL · Chile (COPEC–Shell–Petrobras Triopoly)$1.44/L$0.65/L$0.53/L (37%)$0.26/L (26 c/L)28.6%89% (HHI 3620)COPEC (~55%), Shell (Enex), Esmax (Petrobras)Mandatory price-disclosure portal increased local margins (+7%–11%, Luco 2019 AEJ)
CA · Canada (Regional Refiner-Marketers & Cartel Clusters)$1.32/L$0.61/L$0.46/L (35%)$0.25/L (25 c/L)29.1%71% (HHI 2580)Petro-Canada (Suncor), Esso (Imperial), Shell, Couche-TardPhone-tree & asymmetric pass-through coordination (Clark & Houde 2013/2014)
NL · Netherlands (Highway Concession Oligopoly)$2.26/L$0.64/L$1.37/L (61%)$0.25/L (25 c/L)28.1%67% (HHI 2510)Shell, BP, Esso, TotalEnergiesHigh tax wedge + concentrated highway auction leases
DK · Denmark (Nordic Retail Consolidation)$2.35/L$0.65/L$1.46/L (62%)$0.24/L (24 c/L)27.0%76% (HHI 2790)Circle K, OK, Q8, ShellHighest OECD pump price (62% sovereign tax + 24 c/L synchronized list price)
IT · Italy (Integrated Eni–IP–Q8 Network)$2.04/L$0.64/L$1.18/L (58%)$0.22/L (22 c/L)25.6%62% (HHI 2290)Eni, IP (Gruppo API), Q8, TamoilParallel recommended price lists with regional sticky spreads
FR · France (Hypermarket vs. Highway Split)$1.99/L$0.64/L$1.17/L (59%)$0.18/L (18 c/L)22.0%54% (HHI 1920)TotalEnergies, E.Leclerc, Carrefour, IntermarcheLoss-leader hypermarkets compress urban margins; highway corridors stay oligopolistic
JP · Japan (ENEOS–Idemitsu–Cosmo Triopoly)$1.24/L$0.62/L$0.43/L (35%)$0.19/L (19 c/L)23.5%82% (HHI 3180)ENEOS (~50%), Idemitsu Showa Shell, Cosmo Oil3-refiner wholesale consolidation + government subsidy smoothing
US · United States (Unconcentrated Independent & Big-Box Benchmark)$0.96/L$0.59/L$0.15/L (16%)$0.12/L (12 c/L)16.9%31% (HHI 1120)Costco, QuikTrip, Wawa, Sheetz, Buc-ee's, 60%+ independentsCompetitive high-volume discounters break focal-point coordination (12 c/L spread)
DZ · Algeria (State-Subsidized Producer Benchmark)$0.34/L$0.22/L$0.05/L (15%)$0.07/L (7 c/L)24.1%95% (HHI 8200)Naftal (Sonatrach state monopoly)Administratively capped domestic fuel price below export parity

02 / Rockets, feathers & Edgeworth cycles

How tacit focal points and AI pricing replace price wars with asymmetric pass-through.

In an oligopoly without an explicit cartel ring, firms coordinate dynamically through two signature price trajectories:

Asymmetric pass-through ('Rockets & Feathers') and Edgeworth sawtooth cycles over 28 daysCoral curve tracks cumulative retail pass-through of a +10 c/L wholesale shock (Rocket); cyan curve tracks pass-through of a -10 c/L drop (Feather). Dashed purple sawtooth shows competitive Edgeworth price cycles vs. green sticky focal-point collusion.0%25%50%75%100%Day 0Day 3Day 7Day 14Day 21Day 28Day 0 · Rocket upward pass-through: 0%Day 0 · Feather downward pass-through: 0% (Edgeworth margin: 8.0 c/L vs Collusive: 19.5 c/L)Day 1 · Rocket upward pass-through: 54%Day 1 · Feather downward pass-through: 8% (Edgeworth margin: 18.5 c/L vs Collusive: 20.0 c/L)Day 2 · Rocket upward pass-through: 82%Day 2 · Feather downward pass-through: 15% (Edgeworth margin: 16.2 c/L vs Collusive: 20.4 c/L)Day 3 · Rocket upward pass-through: 93%Day 3 · Feather downward pass-through: 22% (Edgeworth margin: 13.8 c/L vs Collusive: 20.6 c/L)Day 5 · Rocket upward pass-through: 98%Day 5 · Feather downward pass-through: 33% (Edgeworth margin: 10.4 c/L vs Collusive: 20.8 c/L)Day 7 · Rocket upward pass-through: 100%Day 7 · Feather downward pass-through: 44% (Edgeworth margin: 7.2 c/L vs Collusive: 21.0 c/L)Day 8 · Rocket upward pass-through: 100%Day 8 · Feather downward pass-through: 49% (Edgeworth margin: 18.8 c/L vs Collusive: 21.1 c/L)Day 10 · Rocket upward pass-through: 100%Day 10 · Feather downward pass-through: 58% (Edgeworth margin: 14.5 c/L vs Collusive: 21.2 c/L)Day 12 · Rocket upward pass-through: 100%Day 12 · Feather downward pass-through: 67% (Edgeworth margin: 10.9 c/L vs Collusive: 21.0 c/L)Day 14 · Rocket upward pass-through: 100%Day 14 · Feather downward pass-through: 74% (Edgeworth margin: 7.5 c/L vs Collusive: 21.3 c/L)Day 15 · Rocket upward pass-through: 100%Day 15 · Feather downward pass-through: 78% (Edgeworth margin: 19.0 c/L vs Collusive: 21.4 c/L)Day 18 · Rocket upward pass-through: 100%Day 18 · Feather downward pass-through: 85% (Edgeworth margin: 13.2 c/L vs Collusive: 21.2 c/L)Day 21 · Rocket upward pass-through: 100%Day 21 · Feather downward pass-through: 91% (Edgeworth margin: 7.8 c/L vs Collusive: 21.5 c/L)Day 22 · Rocket upward pass-through: 100%Day 22 · Feather downward pass-through: 93% (Edgeworth margin: 18.6 c/L vs Collusive: 21.5 c/L)Day 25 · Rocket upward pass-through: 100%Day 25 · Feather downward pass-through: 97% (Edgeworth margin: 11.8 c/L vs Collusive: 21.4 c/L)Day 28 · Rocket upward pass-through: 100%Day 28 · Feather downward pass-through: 100% (Edgeworth margin: 8.1 c/L vs Collusive: 21.6 c/L)Rocket (+10 c/L wholesale jump: 93% passed in 3 days)Feather (-10 c/L wholesale drop: slow 24-day decay = tacit rent wedge)

03 / Game theory: why gas colludes and other industries don't

Repeated Bertrand supergames: comparing effective δ = exp(−rT) against critical threshold δ* = 1 − 1/N.

In a one-shot Bertrand game with homogeneous 87-octane fuel, price collapses to marginal cost \((P = MC)\). In an infinitely repeated supergame, tacit collusion is sustainable as a Subgame Perfect Nash Equilibrium (SPNE) if and only if the effective discount factor \(\delta = e^{-rT}\) exceeds the critical defection threshold \(\delta^* = \frac{\pi^{\text{deviate}} - \pi^{\text{collude}}}{\pi^{\text{deviate}} - \pi^{\text{punish}}} \approx 1 - \frac{1}{N}\). Click any industry below to inspect why retail fuel, cement, and 3-carrier telecom sit deep inside the collusive zone while B2B SaaS, custom manufacturing, and aircraft procurement cannot sustain tacit collusion:

Repeated Bertrand supergame incentive-compatibility: Effective δ vs. critical threshold δ* = 1 − 1/NBars show effective discount factor δ = exp(−rT) (amber = Collusive SPNE where δ ≥ δ*; cyan = Competitive Bertrand where δ < δ*). White markers indicate each industry's critical threshold δ* = 1 − 1/N.δ = 0.00δ = 0.25δ = 0.50δ = 0.75δ = 1.00Retail Gasoline (Local Duopoly + ARetail Gasoline (Local Duopoly + AI Pricing) · Effective δ = 0.98 vs Critical δ* = 0.60 (Tacit Collusion SPNE)Critical threshold δ* = 1 - 1/N = 0.60 (N = 2.5)δ=0.98 / δ*=0.60 · SPNE (+0.38)Retail Gasoline (4-Firm National ORetail Gasoline (4-Firm National Oligopoly) · Effective δ = 0.95 vs Critical δ* = 0.75 (Tacit Collusion SPNE)Critical threshold δ* = 1 - 1/N = 0.75 (N = 4)δ=0.95 / δ*=0.75 · SPNE (+0.20)Ready-Mix Cement & AggregatesReady-Mix Cement & Aggregates · Effective δ = 0.89 vs Critical δ* = 0.71 (Tacit Collusion SPNE)Critical threshold δ* = 1 - 1/N = 0.71 (N = 3.5)δ=0.89 / δ*=0.71 · SPNE (+0.18)Canadian / OECD Wireless Telecom (Canadian / OECD Wireless Telecom (3-Carrier) · Effective δ = 0.91 vs Critical δ* = 0.67 (Tacit Collusion SPNE)Critical threshold δ* = 1 - 1/N = 0.67 (N = 3)δ=0.91 / δ*=0.67 · SPNE (+0.24)Concentrated Supermarket / Bread RConcentrated Supermarket / Bread Retail · Effective δ = 0.86 vs Critical δ* = 0.78 (Tacit Collusion SPNE)Critical threshold δ* = 1 - 1/N = 0.78 (N = 4.5)δ=0.86 / δ*=0.78 · SPNE (+0.08)Hub-and-Spoke Domestic AirlinesHub-and-Spoke Domestic Airlines · Effective δ = 0.79 vs Critical δ* = 0.75 ( Knife-Edge / Cyclical)Critical threshold δ* = 1 - 1/N = 0.75 (N = 4)δ=0.79 / δ*=0.75 · SPNE (+0.04)Retail Gasoline (10+ Firms + CostcRetail Gasoline (10+ Firms + Costco/Big-Box) · Effective δ = 0.81 vs Critical δ* = 0.90 (Competitive Bertrand)Critical threshold δ* = 1 - 1/N = 0.90 (N = 10)δ=0.81 / δ*=0.90 · Comp. (-0.09)Enterprise B2B SaaS & Cloud ContraEnterprise B2B SaaS & Cloud Contracts · Effective δ = 0.52 vs Critical δ* = 0.80 (Competitive / Differentiated)Critical threshold δ* = 1 - 1/N = 0.80 (N = 5)δ=0.52 / δ*=0.80 · Comp. (-0.28)Custom B2B Precision ManufacturingCustom B2B Precision Manufacturing & Job Shops · Effective δ = 0.41 vs Critical δ* = 0.88 (Competitive Bidding)Critical threshold δ* = 1 - 1/N = 0.88 (N = 8)δ=0.41 / δ*=0.88 · Comp. (-0.47)Commercial Widebody Aircraft ProcuCommercial Widebody Aircraft Procurement · Effective δ = 0.34 vs Critical δ* = 0.50 (Aggressive Bidding Wars)Critical threshold δ* = 1 - 1/N = 0.50 (N = 2)δ=0.34 / δ*=0.50 · Comp. (-0.16)
Repeated Bertrand supergame parameters across 10 benchmark industries.
IndustryLocal NDetection lag TCritical δ*Effective δCollusive slack (δ − δ*)Product homogeneityPrice visibilityEquilibrium outcome
Retail Gasoline (Local Duopoly + AI Pricing)2.50.1 hr0.600.98+0.38Identical (87/91 octane)Real-time API & street signsTacit Collusion SPNE
Retail Gasoline (4-Firm National Oligopoly)41 hr0.750.95+0.20Identical commodityMandatory gov't portals & signsTacit Collusion SPNE
Ready-Mix Cement & Aggregates3.512 hr0.710.89+0.18Standardized ASTM gradePublished zone haulage tariffsTacit Collusion SPNE
Canadian / OECD Wireless Telecom (3-Carrier)36 hr0.670.91+0.24Standardized GB tier plansPublic web plan cardsTacit Collusion SPNE
Concentrated Supermarket / Bread Retail4.524 hr0.780.86+0.08Staple SKUs homogeneousWeekly flyers & shelf scrapersTacit Collusion SPNE
Hub-and-Spoke Domestic Airlines42 hr0.750.79+0.04Perishable seat inventoryGDS / Sabre instant fares Knife-Edge / Cyclical
Retail Gasoline (10+ Firms + Costco/Big-Box)101 hr0.900.81-0.09Identical commodityPublic street signsCompetitive Bertrand
Enterprise B2B SaaS & Cloud Contracts5720 hr0.800.52-0.28High feature differentiationSecret NDA enterprise discountsCompetitive / Differentiated
Custom B2B Precision Manufacturing & Job Shops81440 hr0.880.41-0.47Bespoke CAD specificationsSealed-bid private RFQsCompetitive Bidding
Commercial Widebody Aircraft Procurement24320 hr0.500.34-0.16High switching costsConfidential multi-year concessionsAggressive Bidding Wars
🐍 View reproducible Pandas analysis script (gas_price_collusion_pandas.py)
"""Reproducible Pandas analysis for ST-06: Gas Price Collusion & Oligopoly Supergames."""
import numpy as np
import pandas as pd

# 1. Load the cross-country pump price decomposition & concentration table
countries = pd.read_csv("studies-gas-countries.csv")
countries["ex_tax_price_usd_l"] = countries["wholesaleUsdL"] + countries["markupUsdL"]
countries["tax_share_pct"] = (countries["taxUsdL"] / countries["pumpUsdL"] * 100).round(1)
countries["lerner_ex_tax_pct"] = (countries["markupUsdL"] / countries["ex_tax_price_usd_l"] * 100).round(1)
countries["excess_markup_vs_us_cpl"] = ((countries["markupUsdL"] - 0.12) * 100).round(1)

# Exclude state-capped producer monopoly (DZ) when estimating market oligopoly HHI gradient
market_oecd = countries[countries["code"] != "DZ"].copy()
corr_cr4 = market_oecd["cr4Pct"].corr(market_oecd["markupUsdL"])
corr_hhi = market_oecd["hhi"].corr(market_oecd["markupUsdL"])
slope_cpl_per_10pct_cr4 = np.polyfit(market_oecd["cr4Pct"], market_oecd["markupUsdL"] * 100, 1)[0] * 10

print("=== Cross-Country Oligopoly Markup Summary (Pandas) ===")
print(market_oecd[["code", "pumpUsdL", "wholesaleUsdL", "taxUsdL", "markupUsdL", "cr4Pct", "hhi", "lerner_ex_tax_pct"]])
print(f"Correlation(CR4, Ex-Tax Markup): r = {corr_cr4:.3f} | Correlation(HHI, Markup): r = {corr_hhi:.3f}")
print(f"OLS Gradient: +{slope_cpl_per_10pct_cr4:.2f} cents/L markup per +10 percentage points in CR4 concentration\n")

# 2. Asymmetric Pass-Through ("Rockets & Feathers" Error Correction Model)
pt = pd.read_csv("studies-gas-pass-through.csv")
rocket_half_life = pt.loc[pt["rocketPassPct"] >= 50, "day"].min()
feather_half_life = pt.loc[pt["featherPassPct"] >= 50, "day"].min()
cumulative_wedge_cpl_days = np.trapezoid(pt["rocketPassPct"] - pt["featherPassPct"], pt["day"]) / 10.0
print(f"Rocket 50% pass-through lag: {rocket_half_life} day(s) vs. Feather 50% decay lag: {feather_half_life} days")
print(f"Asymmetric tacit rent per 10 c/L wholesale cycle: +{cumulative_wedge_cpl_days:.1f} cent-days/L\n")

# 3. Repeated Bertrand Supergame Incentive-Compatibility (delta >= delta* = 1 - 1/N)
ind = pd.read_csv("studies-gas-industries.csv")
ind["collusive_spne"] = ind["deltaEff"] >= ind["deltaStar"]
print("=== Supergame Incentive-Compatibility (delta_eff vs. delta_star) ===")
print(ind[["id", "industry", "firmsN", "deltaStar", "deltaEff", "slack", "collusive_spne"]])

The evidence desk

Sources, LaTeX paper, Pandas script, and downloads.