*! 1.1.0 Ariel Linden 24Jul2025 *! 1.0.0 Ariel Linden 11Jun2025 capture program drop power_cmd_multi_itsa program define power_cmd_multi_itsa, rclass version 11 syntax , n(integer) /// number of periods CINTercept(real) /// starting level - controls CPOSTtrend(real) /// post-intervention trend - controls TINTercept(real) /// starting level - treated TPOSTtrend(real) /// post-intervention trend - treated [ TRPeriod(string) /// the treatment period when the intervention begins CONTCnt(int 1) /// count of controls CPREtrend(real 0) /// baseline trend - controls CSTep(real 0) /// post-intervention change in level - controls CSD(real 1) /// standard deviation for variability of time series - controls CACorr(real 0) /// autocorrelation (rho) - controls TPREtrend(real 0) /// baseline trend - treated TSTep(real 0) /// post-intervention change in level - treated TSD(real 1) /// standard deviation for variability of time series - treated TACorr(real 0) /// autocorrelation (rho) - treated Alpha(real 0.05) /// alpha level LEVel /// specify level change and not trend change NOIsily /// show the simulations dots reps(integer 100) ] // number of repetitions preserve if "`noisily'" == "" { local quietly quietly } if "`trperiod'" == "" { local trperiod = ceil(`n' / 2) } `quietly' simulate reject=r(reject), reps(`reps'): power_sim_multi_itsa, /// n(`n') contcnt(`contcnt') /// tintercept(`tintercept') cintercept(`cintercept') /// tpretrend(`tpretrend') cpretrend(`cpretrend') /// tposttrend(`tposttrend') cposttrend(`cposttrend') /// tstep(`tstep') cstep(`cstep') /// tsd(`tsd') csd(`csd') /// tacorr(`tacorr') cacorr(`cacorr') /// trperiod(`trperiod') alpha(`alpha') `level' summarize reject, meanonly // return results return scalar power = r(mean) return scalar N = `n' return scalar contcnt = `contcnt' return scalar trperiod = `trperiod' return scalar alpha = `alpha' return scalar tintercept = `tintercept' return scalar tpretrend = `tpretrend' return scalar tstep = `tstep' return scalar tposttrend = `tposttrend' return scalar tsd = `tsd' return scalar tacorr = `tacorr' return scalar cintercept = `cintercept' return scalar cpretrend = `cpretrend' return scalar cstep = `cstep' return scalar cposttrend = `cposttrend' return scalar csd = `csd' return scalar cacorr = `cacorr' return scalar reps = `reps' restore end