docs: add CiC/QDiD paper reviews (Athey-Imbens 2006, Callaway-Li-Oka 2018, Melly-Santangelo 2015, Ciaccio 2024)#678
Conversation
…2018, Melly-Santangelo 2015, Ciaccio 2024) PR-A of the Changes-in-Changes / distributional DiD initiative: four version-pinned methodology reviews scoping the ChangesInChanges + QDiD v1 estimators (2x2, continuous outcomes, bootstrap inference, panel + repeated cross-section modes, R qte parity) and documenting the reviewed-but-deferred extensions (covariates, discrete-outcome bounds, analytical SEs, staggered adoption). - athey-imbens-2006-review.md: core CiC + QDiD source (published Econometrica typeset); exact inverse-CDF conventions, influence- function inference, discrete bounds, Section 6 multi-group machinery - callaway-li-oka-2018-review.md: two-period panel QTT under copula invariance (arXiv v1); exchangeable-bootstrap validity machinery - melly-santangelo-2015-review.md: CiC with covariates via quantile regression (Oct 2015 working paper); QR pipeline blueprint - ciaccio-2024-review.md: staggered distributional DiD (arXiv v2); un-parks the ROADMAP row to reviewed-deferred status Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011hismLBFcUbUzvDRq8ruWb
Overall Assessment✅ Looks good — no unmitigated P0/P1 findings. The PR is documentation-only and does not change estimator code, inference behavior, defaults, or public APIs. I found several P2/P3 documentation issues that should be cleaned up before these notes become implementation guidance. Executive Summary
MethodologyFinding 1Severity: P2 Finding 2Severity: P2 Finding 3Severity: P2 Finding 4Severity: P2 Code QualityNo findings. The PR adds markdown only; no Python/Rust/R code quality issues are in scope. PerformanceNo findings. No executable path or benchmark-sensitive code changed. MaintainabilityFinding 5Severity: P3 Tech DebtNo blocker findings. The docs clearly mark covariates, discrete bounds, analytical SEs, and staggered extensions as deferred. Because no implementation is added in this PR, lack of SecurityNo findings. The diff contains paper-review markdown only; no credentials, tokens, private data, or workflow execution changes. Documentation/TestsFinding 6Severity: P3 No tests are needed for this documentation-only PR. |
- Separate the ecic (staggered event-study CiC, Section 6 lineage) and
Ciaccio (copula-based staggered distributional DiD) threads in the
Athey-Imbens review's Section 6 deferral notes (Finding 1)
- Flag Ciaccio p. 22 IPW display's sum_{i in r} + C-indicator
inconsistency; give the implementable Hajek-normalized never-treated
form inline and as Gaps item 17 (Finding 2)
- Verify AI 2006 footnote 31 against journal p. 463: the paper itself
prints half-range (y_upper - y_lower)/2 while calling it the support
midpoint; flag as suspected typo, instruct true-midpoint split
(Finding 3)
- Verify MS 2015 Lemma 3 against p. 14: the paper prints the negative
h_2 sign (and cites G^{-1} inversion in a proof that inverts F);
flag as suspected copy-paste typo from Lemma 2 with re-derive
instruction (Finding 4)
- Update ROADMAP Ciaccio row to reviewed-deferred status so it matches
the review doc's claim (Finding 5)
- Fix inline-code backticks on the F_hat^{-1}(0) convention (Finding 6)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hismLBFcUbUzvDRq8ruWb
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good — no unmitigated P0/P1 findings. This re-review found the previous issues addressed, and the PR remains documentation-only with no estimator, inference, default, or public API changes. Executive Summary
MethodologyNo findings. Prior findings are resolved:
Code QualityNo findings. The PR changes markdown only. PerformanceNo findings. No executable or benchmark-sensitive path changed. MaintainabilityNo findings. The previous ROADMAP inconsistency is fixed at Tech DebtNo findings. Deferred scope is explicitly documented in the paper reviews, e.g. Ciaccio not shipping in v1 at SecurityNo findings. No credentials, tokens, workflow execution changes, or sensitive files are added. Documentation/TestsNo findings. No tests are needed for this documentation-only PR. The previous minor markdown readability issue around |
Athey & Imbens (2006) nonlinear DiD for the 2x2 design with continuous
outcomes: ChangesInChanges (alias CiC) recovers the treated group's full
counterfactual outcome distribution and quantile treatment effects; QDiD
is the paper's additive quantile-DiD comparison estimator.
- Point estimation matches R qte 1.3.1 exactly: CiC via an exact port of
R quantile.default type-1 arithmetic incl. fuzz (bit-exact golden
parity); QDiD via qte's type-7 additive form (REGISTRY Note documents
the finite-sample deviation from the paper's k^QDID transformation)
- Bootstrap-only inference per qte's schemes (panel unit-block / RCS
pooled resample; seedable; n_bootstrap=200; replicate-SD SEs, normal
CIs, sup-t uniform bands at qte's fixed 95% level)
- Diagnostics: eq.-17 interior-range guard (NaN inference outside),
support-violation / heavy-ties / QDiD-non-monotonicity warnings;
joint-NaN inference contract via safe_inference(_batch)
- Golden fixtures: benchmarks/R/generate_qte_golden.R (qte pinned 1.3.1
in requirements.R) -> benchmarks/data/qte_golden.json; parity tests
cover 4 scenarios x {CiC,QDiD} x {panel,RCS} at atol=1e-10, type-1
micro-fixtures at atol=0, seeded-R SE block statistically
- Docs: REGISTRY entry + cross-reference rows, api rst, references,
llms(-full).txt, README/choosing/r_comparison/practitioner catalogs,
estimator count 20 -> 22 (incl. paper.md + new Athey2006 bib entry),
TODO deferral rows (covariates/bounds/analytical-SE/staggered/ATC +
tutorial and practitioner-handler follow-ups)
Deferred and documented per the merged PR-A review stack (#678):
covariates, discrete-outcome bounds, analytical SEs, staggered designs,
treatment-on-controls.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hismLBFcUbUzvDRq8ruWb
Athey & Imbens (2006) nonlinear DiD for the 2x2 design with continuous
outcomes: ChangesInChanges (alias CiC) recovers the treated group's full
counterfactual outcome distribution and quantile treatment effects; QDiD
is the paper's additive quantile-DiD comparison estimator.
- Point estimation matches R qte 1.3.1 exactly: CiC via an exact port of
R quantile.default type-1 arithmetic incl. fuzz (bit-exact golden
parity); QDiD via qte's type-7 additive form (REGISTRY Note documents
the finite-sample deviation from the paper's k^QDID transformation)
- Bootstrap-only inference per qte's schemes (panel unit-block / RCS
pooled resample; seedable; n_bootstrap=200; replicate-SD SEs, normal
CIs, sup-t uniform bands at qte's fixed 95% level)
- Diagnostics: eq.-17 interior-range guard (NaN inference outside),
support-violation / heavy-ties / QDiD-non-monotonicity warnings;
joint-NaN inference contract via safe_inference(_batch)
- Golden fixtures: benchmarks/R/generate_qte_golden.R (qte pinned 1.3.1
in requirements.R) -> benchmarks/data/qte_golden.json; parity tests
cover 4 scenarios x {CiC,QDiD} x {panel,RCS} at atol=1e-10, type-1
micro-fixtures at atol=0, seeded-R SE block statistically
- Docs: REGISTRY entry + cross-reference rows, api rst, references,
llms(-full).txt, README/choosing/r_comparison/practitioner catalogs,
estimator count 20 -> 22 (incl. paper.md + new Athey2006 bib entry),
TODO deferral rows (covariates/bounds/analytical-SE/staggered/ATC +
tutorial and practitioner-handler follow-ups)
Deferred and documented per the merged PR-A review stack (#678):
covariates, discrete-outcome bounds, analytical SEs, staggered designs,
treatment-on-controls.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011hismLBFcUbUzvDRq8ruWb
Summary
docs/methodology/papers/athey-imbens-2006-review.md(413 lines): the core source, reviewed from the published Econometrica 74(2) typeset. Covers CiC identification (Theorem 3.1 / eq. 9), the exact inf-based and sup-based inverse-CDF conventions where implementations diverge (eqs. 8, 24, 34-35, A.1-A.2), the plug-in ATT/quantile estimators (eqs. 36, 17-18), the QDiD variant (eq. 22 + p. 447 transformation), influence-function inference (Theorems 5.1-5.7), discrete-outcome bounds (Section 4/5.2), covariate routes, and the Section 6 multi-group machinery with Appendix B's 26-case covariance ruledocs/methodology/papers/callaway-li-oka-2018-review.md(417 lines): two-period panel QTT under Distributional DiD + Copula Invariance (arXiv:1702.03618v1, pinned; JoE 206(2) is the version of record). Reviewed as panel-mode grounding and qte-package foundations; carries the exchangeable-bootstrap validity machinery relevant to v1's bootstrap-first inferencedocs/methodology/papers/melly-santangelo-2015-review.md(522 lines): CiC with covariates via quantile regression (October 2015 working paper, pinned; still unpublished). Documents the QR pipeline blueprint and the DiD-bias motivation; flags draft typos verbatimdocs/methodology/papers/ciaccio-2024-review.md(619 lines): staggered/multi-period distributional DiD (arXiv:2408.01208v2, pinned). Un-parks the ROADMAP "Distributional DiD for staggered timing" row to reviewed-deferred; documents the Unc-vs-Cond Monte Carlo bias evidence backing the covariates-deferral documentationqte::CiC()/qte::QDiD()golden-file parity); defer covariates, discrete bounds, analytical SEs, and staggered extension - reviewed here so every deferral is documented, not silentMethodology references (required if estimator / math changes)
Validation
Security / privacy
papers/)Generated with Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_011hismLBFcUbUzvDRq8ruWb