SyntheticControl.effect_summary#

SyntheticControl.effect_summary(*, window='post', direction='increase', alpha=0.05, cumulative=True, relative=True, min_effect=None, treated_unit=None, period=None, prefix='Post-period', **kwargs)[source]#

Generate a decision-ready summary of causal effects for Synthetic Control.

Parameters:
  • window (str, tuple, or slice, default="post") – Time window for analysis: - “post”: All post-treatment time points (default) - (start, end): Tuple of start and end times (handles both datetime and integer indices) - slice: Python slice object for integer indices

  • direction ({"increase", "decrease", "two-sided"}, default="increase") – Direction for tail probability calculation (PyMC only, ignored for OLS).

  • alpha (float, default=0.05) – Significance level for HDI/CI intervals (1-alpha confidence level).

  • cumulative (bool, default=True) – Whether to include cumulative effect statistics.

  • relative (bool, default=True) – Whether to include relative effect statistics (% change vs counterfactual).

  • min_effect (float, optional) – Region of Practical Equivalence (ROPE) threshold (PyMC only, ignored for OLS).

  • treated_unit (str, optional) – For multi-unit experiments, specify which treated unit to analyze. If None and multiple units exist, uses first unit.

  • period ({"intervention", "post", "comparison"}, optional) – Ignored for Synthetic Control (two-period design only).

  • prefix (str, optional) – Prefix for prose generation. Defaults to “Post-period”.

  • kwargs (Any)

Returns:

Object with .table (DataFrame) and .text (str) attributes

Return type:

EffectSummary