diff_diff.compute_sample_size#
- diff_diff.compute_sample_size(effect_size, sigma, power=0.8, alpha=0.05, n_pre=1, n_post=1, rho=0.0, treat_frac=0.5, deff=1.0)[source]
Convenience function to compute required sample size.
- Parameters:
effect_size (float) – Treatment effect to detect.
sigma (float) – Residual standard deviation.
power (float, default=0.80) – Target statistical power.
alpha (float, default=0.05) – Significance level.
n_pre (int, default=1) – Number of pre-treatment periods.
n_post (int, default=1) – Number of post-treatment periods.
rho (float, default=0.0) – Within-unit (serial) equicorrelation for panel designs. Higher rho LOWERS the MDE (Burlig et al. 2020, Eq. 2, equicorrelated case); valid range [-1/(T-1), 1).
treat_frac (float, default=0.5) – Fraction assigned to treatment.
deff (float, default=1.0) – Survey design effect (variance inflation factor).
- Returns:
Required total sample size.
- Return type:
Examples
>>> n = compute_sample_size(effect_size=5.0, sigma=10.0) >>> print(f"Required N: {n}")