2026-10-19
Under development — computational feasibility inventory.
Shared spreadsheet: readiness summary and paper-level inventory.
The collection contains 262 distinct papers: Peter Hull’s original 22-paper collection and 240 extension papers. Existing analysis inputs permit direct inspection of 281 specifications across 65 papers, yielding 1,728 cohort–outcome blocks. This inventory reads the actual panels, including 86 reconstructed from existing preparation code with sample counts checked against archived receipts. The remaining 195 specifications use saved matrix inputs.
Thirteen papers have at least one balanced block with two or more controls, two or more pre-treatment periods, a post-treatment period, and no outstanding controls/fixed-effects adapter requirement. These are computationally usable inputs for a time-weight investigation; successful new optimization and specification review remain separate checks.
Seven papers offer at least five pre-treatment periods. Six are observational candidates in the current audit. The seventh is the randomized government-audit study preserved in the original collection and can be analyzed as a separate experimental stratum. Six of the seven have a block with at least ten pre-periods. Five and ten periods are planning thresholds, not SDID identification requirements.
| Longer-history candidate | Pre-periods | Post-periods | Donors | Existing SDID experience |
|---|---|---|---|---|
| Medical implants / product liability | 5 | 6 | 2,462 | Archived fit |
| Rebel on the Canal | 176 | 86 | 455 | Archived fit |
| Reconciliation Narratives / Birth of a Nation | 25–65 | 1–43 | 494–560 | Previous solver failed |
| The Gift of a Lifetime / hospitals | 5–18 | 3–16 | 49–52 | Archived fits |
| Government audits and corruption (randomized) | 5–12 | 1–8 | 3,523 | Archived fits |
| Copyrights and Creativity / Italian opera | 31–58 | 12–39 | 4 | Some fits succeeded; others failed |
| Credit Markets, Property Rights, and the Commons | 7–50 | 3–46 | 194 | Archived fit |
Ranges refer to qualifying blocks, with at least five pre-periods, within the existing prepared specifications. Counts are observed periods, not uniformly years: retain original calendar labels and frequency before comparing distances. Staggered studies are assessed cohort by cohort, using the existing control pool.
The six shorter-history cases are Curriculum and Ideology (2–3 pre-periods), school construction in Indonesia (2–3), collectivization/draft-animal deaths (3), ARRA road spending and voting (3), cap-and-trade (4), and Religion, Division of Labor, and Conflict (2). The school-construction and religion papers retain pending design/specification labels; school construction’s earlier fit timed out.
Categories are mutually exclusive at the paper level, assigned by the most usable inspected target. They do not classify every analysis in a paper.
| Readiness category | Papers |
|---|---|
| Balanced inputs with at least 5 pre-periods | 7 |
| Balanced inputs with only 2–4 pre-periods | 6 |
| Balanced subset or earlier-cohort/not-yet-treated window possible | 14 |
| Current controls, fixed-effects or weighting adapter needs work | 21 |
| Inspected targets have only one pre-period or one donor | 14 |
| Other missingness/window/preparation work needed | 3 |
| Contributed absorbing-treatment candidates without inspected panels here | 48 |
| Other contributed binary temporal contrasts needing treatment-path review | 26 |
| No prepared target inspected and no such contributed candidate flag | 123 |
| Total | 262 |
The 14 sample/window candidates have an explicit mechanical route to a nontrivial balanced block: either retaining complete units over the existing window, or using later cohorts as controls strictly before their adoption. The exports give donor/treated retention and alternative post horizons. These changes were not applied. They can change the estimand and selection of units, so they need a declared sampling/window rule before fitting.
The 21 adapter cases are limitations of the current integration, rather than general claims about SDID. The authors’ package accepts covariates. Matching the original specification, aggregation and weights still requires work. The 48 additional absorbing candidates come from the contributed Deep DiD audit; their panel completeness and pre-period lengths remain unmeasured here. The final 123 are also not whole-paper exclusions. Earlier inventory notes and proposed authored targets remain visible in the paper-level export.
A single pre-period forces its time weight to one. With one donor and a free time-weight intercept, the balance residual can be absorbed by the intercept; regularization and algorithmic conventions then determine the weights. These cases provide little evidence about data-driven temporal concentration. For the no-covariate time-weight problem, only donor outcomes are required; checking complete donors alone yields the same 13-paper set in these inputs.
There are 142 archived SDID estimates across 26 papers. The saved summaries and effect matrices do not retain the pre-treatment time-weight vectors. None of these inventory counts describes an observed weight distribution. No models, standard errors or bootstrap runs were recomputed for this inventory.
The archived backend is crabbymetrics.SyntheticDID. Its
cohort-specific implementation estimates time weights from donor
pre-period outcomes to match donor post-period means, with a free
intercept. The existing report writer discards the time weights after
using them to adjust pre-treatment gaps.
For a study of non-zero weights, use a pinned
version of the authors’ synthdid
package, save the actual weights$lambda, and record
penalty, convergence settings and sparsification. The inspected upstream
version is 70c1ce3:
its default time penalty multiplier is eta.lambda = 1e-6,
it uses a time-weight intercept, and its default optimization includes a
sparsification step. The archived backend’s support pattern should not
be substituted for the authors’ implementation without a direct
cross-check.
Recommended first pass:
1e-8,
1e-6 and 1e-4, together with effective
pre-periods (1 / sum(lambda^2)), mass on the last 20% of
pre-periods, weighted lag from adoption, and the shortest interval
containing 90% of mass. For clustering, add the number of contiguous
support runs and gaps between active periods. Normalize location/span by
pre-period length, while retaining frequency-specific calendar
summaries.Run
.venv/bin/python scripts/inventory_sdid_time_weights.py
from the repository with the existing local analysis inputs available.
The script is read-only with respect to models and inputs; only these
inventory exports are written. It checks binary absorbing prepared
treatment, cached row/unit counts and recovered sample counts. Source
paths and SHA256 hashes are recorded at specification and cohort level.
Temporary reconstruction folders are removed automatically. Input
availability is required; exported source paths are provenance rather
than a redistribution of restricted microdata.
All original 22-paper membership, public pages, fitted estimates, calibration plots and eligibility decisions remain unchanged. These inventory artifacts belong to the community’s Under development work.