DID-ACTO / FIELD GUIDE

Estimators, methods and availability

A reference to the statistical toolkit: what each method estimates, when the MCP workflow can use it, and which uncertainty it supplies.

How to read availability

Primary is the main estimate in an eligible plan. Robustness is a comparison, subject to compatible targets. Exact profile means the design, options and inference must match a supported procedure. Expert MCP uses a separate request path. Python only / no planner role is not a normal guided MCP choice.

The Python registry contains 21 canonical estimators. That count includes experimental and research-only procedures. Start with the design and target: the planner then selects eligible methods, explains its choices and lists the checks included in your analysis.

Staggered DiD: seven estimator families

Estimator / roleWhat it estimatesWhen it is availableInference / checks
Callaway–Sant’Anna (CS)
callaway_santanna

Primary / robustness

Estimates cohort-by-period treatment effects, then aggregates to overall, event-time, cohort or calendar targets.Binary absorbing treatment with eligible never-treated or not-yet-treated comparisons. Conditional panel profiles support 1–5 finite, unit-constant baseline covariates; the exact profile must match.Influence-function covariance, pointwise intervals, and multiplier-bootstrap simultaneous bands for supported vectors.
Sun–Abraham
sun_abraham

Exact profile

Interaction-weighted event study for effects that vary across adoption cohorts and time since treatment.Balanced, unweighted panel, never-treated controls, no covariates, reference event −1 and the pinned fixest 0.14.2 convention. Dynamic robustness by default; may be explicitly requested as the dynamic primary. Other variants are unpromoted.Unit-cluster t inference at 95%, cohort-event support and a joint pretrend test. Not an HonestDiD source.
Borusyak–Jaravel–Spiess (BJS)
borusyak_jaravel_spiess

Exact profile

Imputes untreated outcomes from a model fitted to untreated observations; reports overall ATT or a post-treatment event path.Exact balanced, unweighted, unadjusted LOCO simple/dynamic profiles. Ask the planner to confirm the exact imputation and covariance options for your design.Unit-cluster leave-own-cluster-out smart-residual covariance; pretrend leads are a separate diagnostic.
Wooldridge extended TWFE (ETWFE)
wooldridge_etwfe

Robustness / exact profile

Saturated cohort-by-calendar regression with a treated-row aggregate effect.Balanced, unweighted, zero-anticipation panel. Exact unadjusted profile, or exactly one unit-constant baseline covariate with never-treated controls. Uses the pinned fetwfe 1.10.0 treated-row convention.Unit-cluster covariance and normal-reference 95% intervals. Alternative aggregation choices need their own eligibility.
Fused extended TWFE (FETWFE)
fused_etwfe

Exact profile

Regularizes the treatment-effect structure, then refits selected effects with native post-selection OLS.Exact native post_ols simple/dynamic profiles: balanced, unweighted, no covariates and never-treated controls. The CRAN cran_bridge route is withdrawn from governed use.Post-selection unit-cluster CR1 normal inference within the supported profile. A selection with no effect coordinates produces unavailable effects, not proof of a zero effect.
Gardner two-stage DiD
gardner_did2s

Robustness

Two-stage estimation of an overall ATT with first-stage estimation uncertainty carried into inference.Eligible unadjusted panel designs using the default analytical two-stage GMM procedure.Two-stage unit-clustered GMM covariance with a normal reference. Legacy bootstrap is a separate option, not the promoted default.
Efficient staggered GMM
staggered_gmm

Robustness / exact profile

Combines clean two-by-two comparisons through an efficient generalized method of moments procedure.Balanced, unweighted, no-covariate panel; converged pooled or cohort-specific Toeplitz weighting and the exact 95% profile. Unrestricted covariance weighting remains unpromoted.GMM covariance and normal intervals; comparison support, reweighting convergence and Hansen overidentification diagnostics.

Common adoption, synthetic and time-series methods

Estimator / roleWhat it estimatesWhen it is availableInference / checks
Mean DiD / two-way fixed effects (TWFE)
twfe

Primary for common adoption; diagnostic if staggered

Conventional treated-versus-control change comparison with unit and time effects.The common-adoption default when its design fits. Under staggered adoption the coefficient is labeled a TWFE coefficient, not a heterogeneity-robust overall ATT.Cluster-robust inference; the implementation supports unit or unit-and-time clustering, subject to the approved plan.
TWFE event study
event_study

Dynamic / pretrend diagnostic

Relative-time coefficients show the outcome path around adoption and support joint lead checks.Eligible common-adoption dynamic analysis and pretrend diagnostics. Under staggered heterogeneity, plain TWFE event-study coefficients remain diagnostic.Unit-clustered covariance and a joint pretrend F test using eligible leads.
Doubly robust DiD
doubly_robust_did

Primary for adjusted common adoption

Combines propensity-score weighting and an outcome model for an adjusted overall ATT.One common adoption date, controls and declared finite baseline covariates. Requires acceptable propensity overlap, effective sample size and weight concentration.Unit bootstrap with complete trajectories. Every required draw must succeed.
Inverse-probability-weighted DiD (IPW)
ipw_did

Robustness for adjusted common adoption

Reweights control outcome changes using propensity odds.Common adoption and declared baseline covariates with supported propensity overlap. The propensity model is part of the identifying specification.Unit bootstrap; overlap, effective sample size and concentrated-weight checks.
Synthetic control
synthetic_control

Primary for eligible few-treated designs

Builds a comparison path from a weighted pool of untreated donor units.Balanced common-adoption panel, usable pre/post paths and adequate donors for treated-size-preserving placebo groups.Pre-fit RMSPE, in-space placebo RMSPE-ratio p-values and donor diagnostics. Placebo-SD normal intervals are heuristic, not coverage-guaranteed sampling intervals.
Synthetic DiD (SDID)
synthetic_did

Robustness

Combines unit and time weights with a level correction for a common intervention.Eligible balanced donor design with at least two treated-size-preserving placebo assignments and remaining donors for each fit.Placebo RMSPE diagnostics and heuristic placebo-SD intervals; fit and solver checks.
Interrupted time series (ITS)
interrupted_time_series

Primary for eligible time-series designs

Models intervention-associated level and slope changes and the average post-intervention effect.Suitable single-intervention series. Interpretation depends on the continuation of the pre-intervention trend and the absence of competing changes.Newey–West heteroskedasticity-and-autocorrelation-consistent (HAC) inference.

Separate expert MCP workflows

Estimator / roleWhat it estimatesWhen it is availableInference / checks
Conditional repeated-cross-section CS
callaway_santanna_rcs

Separate expert MCP profile

Cohort-time ATT and simple, dynamic, group or calendar aggregation when different respondents are observed each period.Exact unweighted profile with 1–5 baseline/pretreatment covariates, unique respondents, explicit stable composition and independent cross sections, and adequate four-arm support. Uses the conditional_rcs request path, outside the ordinary panel conversation.Respondent influence-function covariance and receipt-bound vector bands. Saved results and reports are available; this expert path keeps claim and export authorization false.
Randomized difference in means
randomized_difference_in_means

Separate randomized MCP workflow

Sample intent-to-treat (ITT) for individual or cluster randomization, with declared strata where applicable.A valid assignment contract is required. Cluster assignment targets an equal-cluster-weight sample effect, not an individual-weighted population effect.Exact or Monte Carlo two-sided sharp-null randomization tests. Resolution depends on the allowed assignment space.
Lin covariate-adjusted ITT
lin_covariate_adjusted_itt

Non-confirmatory randomized robustness

Fully interacted baseline-covariate adjustment alongside the randomized difference-in-means result.Declared eligible baseline covariates and adequate design rank, including under reassignment. Not a confirmatory replacement for the primary procedure.Sharp-null randomization inference, assignment-rank checks and few-cluster/discrete-p-value limitations.

For repeated cross sections, ask for the exact conditional RCS workflow and disclose respondent identity, cohort assignment, covariate timing, stable composition and independence. For randomized data, declare the actual assignment mechanism and unit. Do not fabricate panel repetition or observational parallel-trends declarations to route these designs.

Registered procedures outside current guided planning

Estimator / roleWhat it estimatesWhen it is availableInference / checks
Goodman–Bacon decomposition
goodman_bacon

Implemented; no current planner role

Reconstructs unweighted TWFE and reports the weight on problematic treated-versus-treated comparisons.Balanced panel; weighted decomposition is not implemented. Available in the Python catalog, but not selected by the current governed planner.Decomposition and reconstruction diagnostics; not a new causal ATT estimate.
Counterfactual forecast
counterfactual_forecast

Implemented; no current planner role

Fits a treated series to controls and optional trend before the intervention, then projects a counterfactual.Requires stable post-period relationships and an appropriate error process. Python procedure, not a current automatic MCP planning choice.Forecast uncertainty for the average post effect; no per-period uncertainty band.
Changes-in-changes
changes_in_changes

Implemented; no current planner role

Distributional counterfactual mapping with an overall ATT and quantile-treatment-effect provenance.Common adoption and untreated controls. Multi-period results map each post period from the final pre period. Python procedure, not a current automatic MCP planning choice.Unit-trajectory bootstrap and period-specific/quantile diagnostics.
Continuous-dose DiD
continuous_did

Experimental Python API

Dose-response ATT(d) on an explicitly supported dose grid.Separate balanced continuous-dose input contract. Unpromoted and unavailable through governed panel planning; covariates are rejected.Pointwise unit-clustered normal inference within the experimental implementation; no general governed claim.

Names and aliases

bjs, did_imputation and didimputation → Borusyak–Jaravel–Spiess; etwfe → Wooldridge ETWFE; fetwfe → fused ETWFE; gmm_staggered → efficient staggered GMM. Mean DiD is implemented through the common-adoption TWFE procedure; it is not a 22nd registered estimator.

Choose the effect before seeing it

An overall effect aggregates over an approved population and window. A dynamic effect describes how the effect evolves relative to treatment timing. Cohort and first-post targets answer still other questions.

Changing the target changes the interpretation and may change which observations support it. Comparing two methods is useful only when their targets are compatible. Do not choose a target after discovering which estimate is largest or most significant.

Assumptions you need to discuss

TopicQuestion to ask
Parallel trendsAbsent treatment, would the outcome trends have been comparable under the chosen adjustment?
AssignmentWhy did these units adopt at these times? What could jointly affect timing and outcomes?
AnticipationCould units react before the recorded treatment date?
InterferenceCould treatment affect the comparison group through spillovers?
Treatment versionsDoes the recorded intervention mean the same thing across units and periods?
Measurement and compositionDid the population, boundaries or measurement process change?

Use your knowledge of the setting to answer these questions. The statistical checks then help assess whether the observed data fit that account.

Ask for the method and its evidence

Try asking your assistant

For this dataset and target, list the eligible primary estimators, robustness methods and diagnostics by name. Explain their support, adjustment and inference requirements, and why alternatives were excluded. Tell me whether the path is ordinary panel MCP, an expert workflow or Python only. Show the exact plan before fitting.

Continue to Tests, sensitivity and inference for the diagnostic and uncertainty catalog.

Reference scope

Each entry describes a specific implementation and supported design. The planner checks the active procedure policy against your data and analysis choices, then records the selected methods and any exclusions in the saved plan.