The Economics of Rights: Does the Right to Counsel Increase Crime?

Itai Ater; Yehonatan Givati; Oren Rigbi (2017) · American Economic Journal: Economic Policy

Published

October 10, 2026

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 report
report("aeraej-105")

Itai Ater; Yehonatan Givati; Oren Rigbi (2017). American Economic Journal: Economic Policy. Table 7.

Source specification

Source coefficient Template on source sample Source N Template source-sample N
0.032973 0.032973 2496 2496

Source-to-template coefficient difference: 7.15e-16, in original outcome units.

Role Column
Outcome log_crime
Treatment public_defender
Unit district
Time week_counter
Cluster month_district

No additional covariates beyond fixed effects.

Estimates below divide the outcome by its source-sample standard deviation, 0.53375. 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
2136 6 5 1 3 492

No never-treated group is available. The window ends before the latest cohort adopts; that cohort is the untreated comparison group within this window.

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: 6 of 6 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.031458 0.022708 -0.013159 0.076074 Coefficient estimated
Dynamic TWFE 0.10369 0.093113 -0.079259 0.28664 Treated cells estimated
BJS / did2s 0.063132 0.022843 0.01825 0.10801 Treated cells estimated
Sun–Abraham nan nan nan nan Treated cells unvalidated
CS-DID (equal event-time) nan nan nan nan Equal post-event times unsupported
SDID 0.013512 nan nan nan Treated cells estimated
Matrix completion 0.051521 nan nan nan Treated cells estimated
Horizontal ridge -0.018042 nan nan nan Treated cells estimated
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
Sun–Abraham unvalidated: saturated and reference deviations fits disagree
CS-DID (equal event-time) CS-DID panel influence functions require a stable cluster ID within unit.
Multisynth (cohort-averaged) Multisynth bootstrap requires a stable cluster ID within unit.
Multisynth (individual) Multisynth bootstrap requires a stable cluster ID within unit.

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: homogeneity test not identified.** The saturated and imported deviations designs do not span the same fitted model on this sparse panel. Test withheld.

Fitting settings and checks

Specification Estimator Settings Pooling
y__d CS-DID {} {}
y__d SDID {} {“parameter”: null, “value”: null, “status”: “not_applicable”, “fit_scope”: “Separate adoption-cohort fits”, “within_cohort_target”: “Mean treated outcome history”, “cross_cohort_partial_pooling”: false, “shared_structure”: null, “note”: “Regularization penalties are not partial-pooling parameters.”}
y__d Matrix completion {“lambda_fraction”: 0.25, “max_iterations”: 1000, “tolerance”: 1e-12} {“parameter”: null, “value”: null, “status”: “not_applicable”, “fit_scope”: “Joint untreated-cell fit”, “within_cohort_target”: null, “cross_cohort_partial_pooling”: false, “shared_structure”: “Low-rank matrix and unit/time effects”, “note”: “Regularization penalties are not partial-pooling parameters.”}
y__d Horizontal ridge {“penalty”: 1.0} {“parameter”: null, “value”: null, “status”: “not_applicable”, “fit_scope”: “Separate adoption-cohort fits”, “within_cohort_target”: “Mean treated outcome history”, “cross_cohort_partial_pooling”: false, “shared_structure”: null, “note”: “Regularization penalties are not partial-pooling parameters.”}
y__d Multisynth (cohort-averaged) {} {}
y__d Multisynth (individual) {} {}
{
  "did2s_vs_direct_imputation_max_post_difference": 5.551115123125783e-17,
  "package_aggregate_vs_estimable_cell_weights": 0.0
}