diff_diff.compute_power#

diff_diff.compute_power(effect_size, n_treated, n_control, sigma, alpha=0.05, n_pre=1, n_post=1, rho=0.0, deff=1.0)[source]

Convenience function to compute power for given effect and sample.

Parameters:
  • effect_size (float) – Expected treatment effect.

  • n_treated (int) – Number of treated units.

  • n_control (int) – Number of control units.

  • sigma (float) – Residual standard deviation.

  • 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).

  • deff (float, default=1.0) – Survey design effect (variance inflation factor).

Returns:

Statistical power.

Return type:

float

Examples

>>> power = compute_power(effect_size=5.0, n_treated=50, n_control=50, sigma=10.0)
>>> print(f"Power: {power:.1%}")