AN-024: λ sensitivity and bootstrap CI on welfare loss¶
Intuition (plain-language)
The welfare loss depends on λ, the cost of public funds — so does the conclusion hinge on a lucky λ? Across the whole plausible λ range the loss runs 24–33% in non-pharma and the preference-beats-set-aside ranking never flips. The ranking is driven by how you model the SME pool, not by the λ knob.
Question¶
The static welfare arithmetic in AN-011 uses \(\lambda = 0.30\) as the Ballard-Shoven-Whalley benchmark. Two sensitivity questions are open:
- λ choice: Does the welfare loss magnitude — and especially the welfare ranking between full set-aside (\(V_0\)) and a 10% price preference (\(V_3\)) — depend on the λ choice? Or is the ranking stable across a reasonable MCPF grid?
- Sampling variability: What is the bootstrap CI on the welfare loss?
Design¶
- Sample: structural cells from AN-010; the same auction-level cluster-bootstrap design as AN-022, now evaluating the welfare loss rather than the price decomposition.
- λ grid: {0.15, 0.20, 0.30, 0.40, 0.45} — the standard Ballard-Shoven-Whalley range, with 0.30 as the headline baseline.
- Welfare ranking: \(V_0\) (full SME-only) vs \(V_3\) (10% SME price preference) under (i) main equilibrium-selection specification, (ii) strict-primitive-invariance benchmark.
- Bootstrap CI: B = 500 replicates, cluster at auction level.
Results¶
λ sensitivity of welfare loss as % of \(p^{S_1}\)
(tab_welfare_ranking_lambda.tex):
| λ | NP Loss(\(V_0\)) | NP Ranking | PH Loss(\(V_0\)) | PH Ranking (main) | PH Ranking (strict-inv) |
|---|---|---|---|---|---|
| 0.15 | 24.1% | \(V_3 \succ V_0\) | 38.1% | \(V_3 \succ V_0\) | \(V_0 \succ V_3\) |
| 0.20 | 25.7% | \(V_3 \succ V_0\) | 40.3% | \(V_3 \succ V_0\) | \(V_0 \succ V_3\) |
| 0.30 | 28.9% | \(V_3 \succ V_0\) | 44.8% | \(V_3 \succ V_0\) | \(V_0 \succ V_3\) |
| 0.40 | 32.2% | \(V_3 \succ V_0\) | 49.3% | \(V_3 \succ V_0\) | \(V_0 \succ V_3\) |
| 0.45 | 33.8% | \(V_3 \succ V_0\) | 51.6% | \(V_3 \succ V_0\) | \(V_0 \succ V_3\) |
Point estimates are the canonical values from values.tex (matching the
main text and online appendix). The bootstrap CIs below are the B=500
uncertainty bands around them.
Bootstrap 95% CI on welfare loss (tab_v3_welfare_ci.tex,
B = 500 cluster-bootstrap at auction):
| Class | λ | Loss / \(p^{S_1}\) point | 95% CI |
|---|---|---|---|
| Non-pharma | 0.20 | 24.70% | [18.30, 31.00] |
| Non-pharma | 0.30 | 27.76% | [20.52, 34.80] |
| Non-pharma | 0.40 | 30.82% | [22.59, 38.87] |
| Pharma | 0.20 | 40.86% | [31.28, 50.04] |
| Pharma | 0.30 | 45.55% | [34.90, 55.85] |
| Pharma | 0.40 | 50.25% | [38.50, 61.41] |
(The λ-grid point estimates above are the canonical values.tex values
— 28.9% NP / 44.8% PH at λ=0.30. The bootstrap-mean point in the CI
table, 27.76% NP, differs by ~1 pp of Monte Carlo noise from the B=500
cluster bootstrap; the canonical point sits well inside the CI.)
Output: output/tables/tab_welfare_ranking_lambda.tex,
tab_v3_welfare_ci.tex.
Interpretation¶
The welfare ranking is not driven by λ. Across the entire λ range [0.15, 0.45], the non-pharma ranking is \(V_3 \succ V_0\) (10% preference dominates full set-aside) under both main and strict- invariance specifications. In pharma, the ranking is \(V_3 \succ V_0\) across the entire λ range under the main specification and reverses to \(V_0 \succ V_3\) across the entire λ range under strict invariance. This is the cleanest possible answer to the "λ-cherrypicking" concern: the ranking flip in pharma is not a λ artifact — it is the composition treatment (equilibrium-selection vs strict-primitive- invariance) that determines it. The choice of λ does not flip rankings in either class under either specification.
The headline loss magnitude scales with λ in the expected direction. Non-pharma: 24% → 33% across [0.15, 0.45], roughly linear in λ (MCPF distortion = λ · Δ_gov, plus DWL_alloc which does not scale with λ). The slope of ~21 pp per 0.30 increment in λ matches the Δ_gov term of about 0.234 of \(p^{S_1}\) from AN-011.
The bootstrap CI excludes economically small losses at every λ. At the canonical λ=0.30, the non-pharma CI lower endpoint is 20.5% of \(p^{S_1}\) — still economically very large. At λ=0.20, lower endpoint is 18.3%. Even at the lowest λ in the grid (λ=0.20) and the 2.5th percentile of the bootstrap, the loss is bounded below by ~18% of the open-regime price.
Implication for the implied SME welfare weight (H10). The implied weight \(\omega\) that rationalizes the full set-aside solves \(\omega \cdot \text{transfer} = \text{DWL}_{\mathrm{alloc}} + \lambda \cdot \Delta_{\mathrm{gov}}\). At higher λ the RHS is larger, so \(\omega\) must be larger; conversely at lower λ the implied \(\omega\) is smaller. The headline \(\omega = 2.42\) (non-pharma, λ=0.30) is the median of the implied range. At λ=0.15 the implied weight drops; at λ=0.45 it rises. The qualitative claim that the set-aside requires substantially-above-unity SME welfare weighting is stable across the λ grid (the implied weight is bounded below ~1.5 even at λ=0.15).
Confidence: yellow. The ranking-stability result is the strongest finding of this AN — it disposes of the "λ choice drives the headline" critique. The bootstrap CI is informative on sampling variability but inherits the IPV-clock restriction. The bootstrap-mean point (27.76% NP) differs by ~1 pp of Monte Carlo noise from the canonical 28.9%; the canonical point lies inside the bootstrap CI [20.5, 34.8], so the uncertainty conclusion is unaffected.
Follow-ups¶
- Recenter the bootstrap CI: the λ-grid point estimates are now the
canonical
values.texvalues; a future re-run of56_welfare_bootstrap.Ron the v8 sample would also recenter the CI midpoint (~1 pp shift), without affecting the lower-endpoint clearance. - Implied-weight bootstrap: directly bootstrap the implied \(\omega\) in addition to bootstrapping the loss. Would give a CI on the \(\omega\) = 2.42 headline of AN-011.
- Lower-λ extension: include λ ∈ {0.05, 0.10} in the grid. Hendren (2020) reports MVPF benchmarks consistent with λ ≈ 0.10 for some transfer instruments; this would tighten the welfare-weight benchmarking against the broader public-finance literature.
- Per-class λ: the BSW benchmark of 0.30 is national-aggregate. State-level (São Paulo) MCPF may differ — sensitivity to a São Paulo-specific λ would be a useful policy refinement.