*! version 1.0.0 Subir Hait 2026

Title

rdstagger_pretest -- Pre-treatment parallel trends falsification tests

Syntax

rdstagger_pretest [, method(string)]

method(string) test type; default both

Description

rdstagger_pretest tests the parallel trends assumption using
pre-treatment cohort-period cells from the ATT(g,t) matrix stored by
rdstagger. Under the null hypothesis of parallel trends, all
pre-treatment ATT(g,t) cells should be zero (or statistically
indistinguishable from zero).

Two tests are available. The joint test conducts a Wald chi-squared
test of H0: ATT(g,t) = 0 simultaneously for all pre-treatment
cells. The individual test reports cell-by-cell t-statistics, which
is useful for identifying specific cohort-period combinations that drive
any rejection.

Note that the joint test uses the assumption of independence across cells.
For a more conservative test, use bootstrap standard errors when
running rdstagger.

Options

method(string) selects which test(s) to report:

joint Wald chi-squared test. Degrees of freedom equal the
number of non-missing pre-treatment cells.

individual Cell-by-cell t-tests. Each pre-treatment ATT(g,t)
is divided by its standard error. Cells significant at 5% are flagged
with an asterisk (*).

both Both joint and individual tests (default).

Saved results

rdstagger_pretest saves in e():

e(pretest_chi2) joint Wald chi-squared statistic

e(pretest_df) degrees of freedom for joint test

e(pretest_pval) p-value for joint test

All original rdstagger results in e() are preserved.

Examples

. rdstagger_sim, n(400) periods(8) cohorts(3) seed(42)

. rdstagger y x, cutoff(0) gvar(g) tvar(period) idvar(id) bw(1.5)

. rdstagger_pretest, method(both)

Check joint test result programmatically:

. di "Pre-test p-value: " e(pretest_pval)

Also see

rdstagger, rdstagger_agg, rdstagger_plot