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 reportTrickle-Down Ethnic Politics: Drunk and Absent in the Kenya Police Force (1957-1970)
Oliver Vanden Eynde; Patrick M. Kuhn; Alexander Moradi (2018) · American Economic Journal: Economic Policy
report("aeraej-78")Oliver Vanden Eynde; Patrick M. Kuhn; Alexander Moradi (2018). American Economic Journal: Economic Policy. Table 3, column 3: officer fixed effects.
Source specification
| Source coefficient | Template on source sample | Source N | Template source-sample N |
|---|---|---|---|
| 0.028141 | 0.028141 | 44689 | 44689 |
Source-to-template coefficient difference: 3.48e-12, in original outcome units.
| Role | Column |
|---|---|
| Outcome | offense_dum |
| Treatment | kanu_power |
| Unit | uniqid |
| Time | year |
| Cluster | uniqid |
1 retained control columns. weight
Estimates below divide the outcome by its source-sample standard deviation, 0.39354. 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 |
|---|---|---|---|---|---|
| 36357 | 4714 | 1509 | 3205 | 2 | 4714 |
| Sample restriction | Count |
|---|---|
| initially treated units removed | 1668 |
| post adoption untreated rows removed | 782 |
| additional rows removed | 402 |
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: 100 of 4714 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.063369 | 0.021553 | 0.021116 | 0.10562 | Coefficient | estimated |
| Dynamic TWFE | 0.07881 | 0.030219 | 0.019566 | 0.13805 | Treated cells | estimated |
| BJS / did2s | 0.072784 | 0.023171 | 0.027358 | 0.11821 | Treated cells | estimated |
| Sun–Abraham | 0.084804 | 0.031201 | 0.023636 | 0.14597 | Treated cells | estimated |
| CS-DID (equal event-time) | 0.021412 | 0.036317 | -0.049767 | 0.092592 | Equal post-event times | estimated |
| CS-DID (treated cells) | 0.049413 | 0.032128 | -0.013556 | 0.11238 | Treated cells | estimated |
| 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 |
|---|---|
| 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(6, 31603) = 1.9638; p = 0.06703.** Homoskedastic nested-model F. 27 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 | {“est_method”: “dr”, “covariate_basis”: “cell-specific rank-reduced column space”, “control_group”: “notyettreated”, “xformla”: “y ~ 1 + x0”, “panel”: true, “effective_panel”: false, “allow_unbalanced_panel”: true, “weights_name”: “weight”, “fix_weights”: null, “base_period”: “universal”, “clustervar”: “cluster”, “aggregate”: “dynamic”, “faster_mode”: true} | {} |
| 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": 3.350797233916958e-07,
"package_aggregate_vs_estimable_cell_weights": null,
"saturated_vs_deviations_relative_rss_difference": 1.3824720223575564e-13
}