Analyses — The Price of Exclusion¶
This page is the directory of analyses for The Price of Exclusion: SME Set-Asides in Public Procurement. Each AN-NNN page is anchored by a YAML frontmatter block that drives the generated index below.
This page is the directory of designs and results. For curated claims
about the world — sentences that could go in the paper — see
docs/findings/. For the testable predictions and
their cross-references to AN pages, see
docs/hypotheses/.
How to read an AN page¶
Each an-NNN-<slug>.md follows the same skeleton:
- Frontmatter: identifier, status, hypothesis it bears on, script and output path, design block (sample, specification, FEs, etc.).
## Question— the precise research question.## Design— sample, variation, specification, identification threats.## Results— headline number + headline table or figure, with a link to the underlying script.## Interpretation— what the result means; confidence color with justification.## Follow-ups— forward-looking only; analyses not yet run.
Status. pending (scaffolded, not yet run or not yet interpreted) →
done (script run, headline + interpretation written, confidence set) →
stale (superseded by a newer AN or by upstream-data change).
Confidence. 🟢 green (clean identification, large sample, robust),
🟡 yellow (informative with caveats), 🔴 red (unreliable, kept for the
record only). Set only when status: done.
Generated index¶
The table below mirrors the frontmatter of every an-*.md in this folder.
The full machine-readable index is regenerated by
python3 scripts/gen_analysis_index.py and lives at
docs/reference/analysis-index.yaml.
| ID | Status | Type | Hypothesis | Question |
|---|---|---|---|---|
| AN-001 | done · 🟡 | causal | H:price-discipline-loss | Does open competition lower negotiated procurement prices in switched group 65, identified by DiDiR around the March 2018 PGE-SP reinterpretation? |
| AN-002 | done · 🟡 | causal | H:entry-thickens-pool | Does open competition raise the number of bidder firms and valid bids in switched group 65? |
| AN-003 | done · 🟡 | causal | H:distance-widens-under-open | Does open competition widen the average distance between the public buyer and the winning supplier? |
| AN-004 | done · 🟡 | placebo | H:parallel-trends-hold | Do placebo treatment dates applied to pre-treatment data yield null price effects, as required for parallel trends? |
| AN-005 | done · 🟡 | robustness | H:parallel-trends-hold | How tight are Lee (2009) sample-selection bounds on the DiDiR price coefficient? |
| AN-006 | done · 🟡 | robustness | H:parallel-trends-hold | Does the price effect survive HonestDiD (Rambachan-Roth 2023) robust confidence intervals under controlled violations of parallel trends? |
| AN-007 | done · 🟡 | causal | H:price-discipline-loss | How does the price treatment effect vary across the conditional price distribution? |
| AN-008 | done · 🟡 | descriptive | H:sme-winner-share-falls | What share of the reduced-form price effect is attributable to the competition (more bidders) vs composition (winner-type) channels? |
| AN-009 | done · 🟡 | descriptive | H:sme-winner-share-falls | Does the probability of an SME winner fall under open competition, and is the composition shift symmetric across PBU types? |
| AN-010 | done · 🟡 | descriptive | H:exclusion-dominates | What is the structural decomposition of the set-aside price effect into the lost-discipline channel (\(S_2-S_1\)) and the protected-pool offset (\(S_3-S_2\))? |
| AN-011 | done · 🟡 | descriptive | H:static-welfare-loss-large | What is the per-auction static welfare loss of the full SME-only set-aside, decomposed into allocative DWL and MCPF distortion at λ=0.30? |
| AN-012 | done · 🟡 | descriptive | H:preference-near-zero-cost | What is the simulated price and SME win-rate effect of a 10% SME price preference relative to the open benchmark \(S_1\)? |
| AN-013 | done · 🟡 | descriptive | H:ipv-clock-admissible | How are losing-bidder drop-out prices extracted from BEC Pregão event-log data, and how robust are downstream simulations to the cost-distribution recovery regime? |
| AN-014 | done · 🟡 | robustness | H:ipv-clock-admissible | Does the Krasnokutskaya-style auction-level heterogeneity correction (a) remove common scale shocks without mechanically generating the exclusion-dominant decomposition, and (b) does relaxing within-auction independence to a Gaussian copula leave the decomposition intact? |
| AN-015 | done · 🟡 | robustness | H:no-collusion-confound | Do Conley-Decarolis close-pair and Bajari-Ye bid-coordination screens detect a post-policy intensification of bidder clustering that would invalidate the IPV-clock reading of Pregão drop-outs? |
| AN-016 | done · 🟡 | robustness | H:static-welfare-loss-large | How does the structural decomposition and welfare arithmetic behave in pharmaceuticals, and what specifically makes pharmaceuticals a boundary case rather than a second headline? |
| AN-017 | done · 🟡 | robustness | H:exclusion-dominates | Does the exclusion-dominant decomposition survive a strict-invariance specification that holds the SME pool composition fixed at the pre-policy distribution while keeping observed post-policy SME entry counts? |
| AN-018 | done · 🟡 | robustness | H:parallel-trends-hold | Do Callaway-Sant'Anna (2021) and Sun-Abraham (2021) staggered-DiD estimators reproduce the DiDiR price effect once heterogeneous treatment timing is accounted for? |
| AN-019 | done · 🟡 | robustness | H:ipv-clock-admissible | Does a GPV (Guerre-Perrigne-Vuong 2000) recovery of the bidder cost distribution from Convite first-price bids converge with the Pregão drop-out recovery, providing cross-modality discipline on the IPV-clock interpretation? |
| AN-020 | done · 🟢 | robustness | H:parallel-trends-hold | Does the Goodman-Bacon (2021) decomposition of the TWFE DiD coefficient show that all weight falls on the clean treated-vs-never-treated 2×2 comparison, with no contamination from forbidden treated-vs-already-treated comparisons? |
| AN-021 | done · 🟡 | robustness | H:parallel-trends-hold | Does a synthetic-control match of group 65 to a weighted donor pool of never-treated product groups validate parallel trends and reproduce the DiDiR price effect? |
| AN-022 | done · 🟡 | robustness | H:exclusion-dominates | What is the 95% bootstrap confidence interval on the absolute exclusion share, and does the lower endpoint exclude 50% (the dominance threshold)? |
| AN-023 | done · 🟡 | robustness | H:parallel-trends-hold | Does the DiD price coefficient survive dropping the 8-month BEC enablement window (Jul 2017–Feb 2018) during which the SME-only OC functionality was operationalized? |
| AN-024 | done · 🟡 | robustness | H:static-welfare-loss-large | How does the static welfare loss vary across the MCPF λ grid, and what is the 95% bootstrap CI on the loss as a percent of the open-regime price? |
| AN-025 | done · 🟡 | descriptive | H:static-welfare-loss-large | How does the annualized fiscal welfare cost on Group 65 vary across plausible SME-only adherence rates, and what is the baseline empirical adherence? |
| AN-026 | done · 🟡 | robustness | H:no-collusion-confound | Does a persistent-pair coordination screen conditional on CADMAT product class detect within-class bidder coordination, and does the persistent-pairing signature survive class conditioning? |
| AN-027 | done · 🟡 | robustness | H:price-discipline-loss | Does the price effect appear both inside CMED-regulated medications (class 6531) and outside it (other medical supplies), as required if competition — not pharmaceutical-specific inflation — drives the headline? |
| AN-028 | done · 🟡 | causal | H:sme-winner-share-falls | Does the price effect survive restricting the sample to RAIS-validated SME winners, and does the distance effect vanish in that subsample as the firm-size composition channel would predict? |
| AN-029 | done · 🟡 | causal | H:entry-thickens-pool | Is the open-competition price effect driven purely by more bidders (headcount channel), or does it persist when the bidder count is held fixed (the composition / order-statistic channel)? And does open competition raise the extensive margin (tender completion rate)? |
| AN-030 | done · 🟡 | robustness | H:protected-pool-responds | What is the Pre→Post entry-rate shift in each modality × class × type cell, what is the calibrated entry-cost asymmetry that explains why SMEs cannot fully replace non-SMEs, and does the dominance ordering survive across the 2×2 method grid? |
Index by hypothesis¶
This view groups AN pages by the hypothesis they bear on. Mirrors the
scorecard in hypotheses/index.md — that view
groups by prediction.
Cluster A — Reduced-form policy effects¶
- H:price-discipline-loss: AN-001, AN-007, AN-010, AN-018, AN-020, AN-027
- H:entry-thickens-pool: AN-002, AN-029
- H:distance-widens-under-open: AN-003, AN-028
- H:sme-winner-share-falls: AN-008, AN-009, AN-028
Cluster B — Price formation and decomposition¶
- H:exclusion-dominates: AN-010, AN-014, AN-017, AN-022
- H:protected-pool-responds: AN-010, AN-030
- H:ipv-clock-admissible: AN-013, AN-014, AN-015, AN-019
Cluster C — Static welfare and policy design¶
- H:static-welfare-loss-large: AN-011, AN-016, AN-024, AN-025
- H:preference-near-zero-cost: AN-012, AN-024
- H:implied-welfare-weight-large: AN-011, AN-024