jpam-research-design
GitHub针对JPAM稿件,用于辩护政策评估的因果识别设计。涵盖RCT、DiD、RD、IV及合成控制等方法,强调假设检验、估计量定义及排除最强替代解释,不生成代码。
Trigger Scenarios
Install
npx skills add brycewang-stanford/Awesome-Journal-Skills --skill jpam-research-design -g -y
SKILL.md
Frontmatter
{
"name": "jpam-research-design",
"description": "Use when defending the causal identification of a Journal of Policy Analysis and Management (JPAM) manuscript — RCTs, difference-in-differences \/ event study, regression discontinuity \/ kink, instrumental variables, and synthetic control for policy and program evaluation. Strengthens the design and its assumptions; it does not write estimation code."
}
Research Design & Identification (jpam-research-design)
Credible identification is JPAM's core bar. The journal evaluates the effects of real policies and
programs, so the design must connect the theory of change (jpam-theory-building) to evidence a
policymaker can trust. State the estimand, the assumptions that license a causal reading, and
how each is defended — then rule out the single strongest rival explanation. Selection-on-
observables alone rarely clears the bar.
When to trigger
- Specifying or defending identification for a policy evaluation
- A reviewer questioned causal claims, parallel trends, the instrument, the discontinuity, or confounding
- Choosing among RCT / DiD / RD / IV / synthetic control for a given policy variation
- Preparing a pre-analysis plan for a prospective program evaluation
Design menu (match to the policy variation)
- RCT / field experiment. The gold standard where feasible. Report randomization unit, balance, power/MDE, take-up, attrition, and ITT vs. TOT/LATE. Pre-register primary outcomes and subgroups.
- Difference-in-differences / event study. For staggered policy adoption use heterogeneity-robust estimators (Callaway–Sant'Anna, Sun–Abraham, de Chaisemartin–D'Haultfœuille, BJS imputation) — not naive TWFE. Show pre-trends as an event study; test, don't assert, parallel trends.
- Regression discontinuity / kink. For eligibility thresholds and benefit formulas. Report bandwidth selection, local-polynomial robustness, density/manipulation tests (McCrary/rddensity), covariate continuity, and the local nature of the estimand.
- Instrumental variables. For policy-induced variation. Defend the exclusion restriction substantively, report first-stage strength (effective F / weak-IV-robust inference), and interpret the LATE — whose behavior the instrument shifts.
- Synthetic control. For a single treated unit (a state/country policy). Report donor pool, pre- period fit, placebo/permutation inference, and leave-one-out robustness.
Inference & policy-evaluation standards
- Cluster at the level of treatment assignment; with few clusters use wild-cluster bootstrap.
- Adjust for multiple outcomes/subgroups (and say which test is primary).
- Distinguish ITT vs. treatment-on-the-treated; report take-up for any offer-based program.
- Specify the estimand and target population — JPAM cares which population the policy decision is about.
The adjudication test (JPAM-specific)
For the single strongest rival explanation (selection, anticipation, concurrent policy, mean reversion), write one sentence: "If the rival were driving the result, the data would look like ___; instead they look like ___." If you cannot, the design does not yet identify the policy effect.
Execution bridge (StatsPAI / Stata MCP)
Estimate and audit the design, don't only describe it. Full map:
execution-with-mcp. JPAM is policy analysis — program evaluation is the core; DiD/IV/RDD and the policy-relevant magnitude are decisive.
detect_design→recommend→ fit withas_handle=true→audit_result.- Observational causal claims: staggered DiD (
callaway_santanna/sun_abraham+bacon_decomposition+honest_did_from_result); IV (effective_f_test+anderson_rubin_ci); RDD (rdrobust+mccrary_test). - Experiments: randomization-based inference +
romano_wolffor many-outcome control. - Sensitivity:
oster_delta/sensemakrfor observational claims.
Report the magnitude in interpretable units; route the full battery to the appendix. A run end-to-end (synthetic data, real returns) is in the JF execution walkthrough.
Checklist
- Estimand and target population stated explicitly
- Identifying assumption named and defended, not asserted
- Modern, heterogeneity-robust estimator for staggered DiD; pre-trends shown
- RD: bandwidth, density, and covariate-continuity tests reported
- IV: substantive exclusion argument + first-stage strength + LATE interpretation
- Clustering at the assignment level; multiple-testing handled
- Strongest rival explicitly ruled out (adjudication sentence)
Anti-patterns
- Naive TWFE on staggered policy adoption; clustering at the wrong level
- "Causal effect of the policy" language on a selection-on-observables design
- Asserting parallel trends without an event-study pre-trend test
- A weak or substantively implausible instrument waved through on a high F alone
- Ignoring take-up/attrition so ITT and TOT are conflated
- Over-claiming a local RD/LATE estimate as the average policy effect for the whole population
Calibration anchors (hedged)
- Credible identification is JPAM's price of entry; a real exogenous source of variation typically beats a richer set of controls on the same selection problem.
- The estimand JPAM cares about is the one the policy decision is about — be explicit when an RD/LATE is local and the decision concerns a broader population, and discuss external validity rather than papering over it.
- For staggered policy rollouts, default to a heterogeneity-robust estimator and show the underlying TWFE bias (e.g., a Goodman-Bacon decomposition) if a reviewer expects it.
Worked micro-example (illustrative)
A state raises a benefit eligibility threshold; the team uses an RD at the income cutoff. The design write-up states the estimand (effect at the threshold), defends continuity (covariates smooth across the cutoff, no manipulation by a density test), reports bandwidth and local-polynomial robustness, and adjudicates the strongest rival: "If families were sorting just under the cutoff to qualify, the running-variable density would spike there; it does not." It then flags that the estimate is local and discusses how it might differ away from the threshold. (Illustrative.)
Output format
【Design】RCT / DiD-event-study / RD-kink / IV / synthetic control
【Estimand + population】what is identified, for whom
【Key assumption(s)】and how each is defended
【Rival ruled out】the adjudication sentence
【Inference】clustering, multiple-testing, weak-IV plan
【Next】jpam-data-analysis
Supplementary resources
../../resources/code/— runnable DiD / IV / RD / DML skeletons (Stata + Python)../../../shared-resources/empirical-methods/reviewer-objection-checklist.md— objections by identification strategy, each with a preemption
Version History
- 1839142 Current 2026-07-05 13:53


