Trickle-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

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-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
}