import sys
from pathlib import Path
ROOT = next(
p for p in [Path.cwd(), *Path.cwd().parents]
if (p / "scripts/tranche50_report.py").exists()
)
sys.path.insert(0, str(ROOT / "scripts"))
from tranche50_report import reportHow Punishment Severity Affects Jury Verdicts: Evidence from Two Natural Experiments
Anna Bindler; Randi Hjalmarsson (2018) · American Economic Journal: Economic Policy
report("aeraej-63", tranche="tranche100")Anna Bindler; Randi Hjalmarsson (2018). American Economic Journal: Economic Policy. Table 3, Panel A, column 1: jury conviction, no defendant controls.
Source specification
Trial observations remain uncollapsed. Offense, year and month effects are retained. Comparison inference clusters by offense category.
| Source coefficient | Template on source sample | Source N | Template source-sample N |
|---|---|---|---|
| 0.09173 | 0.09173 | 1.0491e+05 | 1.0491e+05 |
Source-to-template coefficient difference: 2.55e-14, in original outcome units.
| Role | Column |
|---|---|
| Outcome | guilty_jury_dummy |
| Treatment | not_death_punishable |
| Unit | offencesubcat_cat |
| Time | year |
| Cluster | offencesubcat_cat |
11 retained control columns. month::factor(d[[k]])2; month::factor(d[[k]])3; month::factor(d[[k]])4; month::factor(d[[k]])5; month::factor(d[[k]])6; month::factor(d[[k]])7; month::factor(d[[k]])8; month::factor(d[[k]])9; month::factor(d[[k]])10; month::factor(d[[k]])11; month::factor(d[[k]])12
Estimates below divide the outcome by its source-sample standard deviation, 0.448834. Static TWFE is the treatment coefficient. Dynamic TWFE, BJS and Sun–Abraham average supported post-treatment cells by observation count. CS-DID additionally reports an equal-event-time average.
Analysis sample and treatment timing
| Observations | Units | Treated | Control units | Cohorts | Clusters |
|---|---|---|---|---|---|
| 42880 | 17 | 16 | 1 | 9 | 17 |
| Sample restriction | Count |
|---|---|
| initially treated units removed | 8 |
Adoption is the first observed treated period. Initially treated units and units without an observed minus-one baseline are excluded. Post-adoption untreated rows are excluded for switching policies. The plot shows at most 100 seeded-sample units; estimation uses the full eligible sample. Empty cells remain missing.
y__d: 17 of 17 units shown (seed 20261008). All eligible units enter estimation. Purple: untreated; yellow: treated; white: unobserved.
Estimates
| Estimator | Estimate (SD) | SE | 95% lower | 95% upper | Target | Status |
|---|---|---|---|---|---|---|
| Static TWFE | 0.16603 | 0.11001 | -0.067187 | 0.39924 | Coefficient | estimated |
| Dynamic TWFE | -0.1041 | 0.08898 | -0.29273 | 0.08453 | Treated cells | estimated |
| BJS / did2s | -0.0062174 | 0.092481 | -0.20227 | 0.18983 | Treated cells | estimated |
| Sun–Abraham | 0.17327 | 0.052942 | 0.061034 | 0.2855 | Treated cells | estimated |
| CS-DID (equal event-time) | nan | nan | nan | nan | Equal post-event times | unidentified |
| SDID | nan | nan | nan | nan | Treated cells | unsupported |
| Matrix completion | nan | nan | nan | nan | Treated cells | unsupported |
| Horizontal ridge | nan | nan | nan | nan | Treated cells | unsupported |
| Multisynth (cohort-averaged) | nan | nan | nan | nan | Treated cells | unsupported |
| Multisynth (individual) | nan | nan | nan | nan | Treated cells | unsupported |
Intervals use the configured clusters and the estimator’s available inference. Hollow points have no computed interval; no new refit-bootstrap batch is run.
| Estimator | Reason |
|---|---|
| CS-DID (equal event-time) | UnidentifiedTarget: CS-DID cannot estimate 315 observed post-treatment group-time cells with the configured controls; no target cells were dropped. See csdid-group-time.json and package log. |
| SDID | sdid: this adapter does not implement covariate adjustment; controls retained. |
| Matrix completion | matrix-completion: this adapter does not implement covariate adjustment; controls retained. |
| Horizontal ridge | horizontal-ridge: this adapter does not implement covariate adjustment; controls retained. |
| Multisynth (cohort-averaged) | multisynth-cohort: this adapter does not implement covariate adjustment; controls retained. |
| Multisynth (individual) | multisynth-individual: this adapter does not implement covariate adjustment; controls retained. |
Event studies
Cohort homogeneity
The imported TestingInEventStudies deviations design tests positive-event-time cohort deviations jointly. This is the homoskedastic nested-model F-test; the estimator confidence intervals above use clustered inference.
**y__d: F(249, 42236) = 1.3932; p = 4.232e-05.** Homoskedastic nested-model F. 559 design columns.
Each line is a cohort deviation. The joint test restricts positive-event-time deviations to zero; event time 0 remains unrestricted.
Fitting settings and checks
| Specification | Estimator | Settings | Pooling |
|---|---|---|---|
| y__d | CS-DID | {} | {} |
| y__d | SDID | {} | {} |
| y__d | Matrix completion | {} | {} |
| y__d | Horizontal ridge | {} | {} |
| y__d | Multisynth (cohort-averaged) | {} | {} |
| y__d | Multisynth (individual) | {} | {} |
{
"did2s_vs_direct_imputation_max_post_difference": 2.2573187495253388e-07,
"package_aggregate_vs_estimable_cell_weights": null,
"saturated_vs_deviations_relative_rss_difference": 1.2961236518306809e-11
}