Power and MDE Methodology
GeoSC power is a simulation-based design diagnostic. For effect and duration , it estimates
Failed simulations are excluded from the denominator and reported separately.
A row is valid only when at least one simulation succeeds and its failure rate
does not exceed power_failure_rate_threshold. Validity does not assert that
the DGP or design assumptions are credible.
Implemented workflow
For every effect-duration grid point, GeoSC:
- pivots the long CSV to a unit-by-period matrix;
- uses periods before
treatment_dateas the fixed observed pre-period; - demeans each unit, fits an SVD factor model, and estimates factor dynamics;
- simulates a post-period panel;
- computes one baseline as the mean across all treated units and all pre-periods;
- multiplies that pooled baseline by
effect_sizeand applies the resulting same absolute effect path to every treated unit; - appends simulated post data to the observed pre-period;
- calls SparseSC with treated periods at the split and counts
results.p_value < alpha.
This denominator means a configured 10% lift is relative to the pooled treated pre-period mean. It is not a separate 10% of each treated unit’s own baseline. The output records the baseline and full absolute injection.
The power loop uses the SparseSC estimator and its top-level placebo p-value,
but it is not identical to geosc infer. It does not run inference’s panel
policies, cooldown resolver, assumption checks, CI configuration, result
processor, or full SparseSC config surface. “Same inference path” is therefore
too strong; align panels and settings explicitly.
Effect patterns
constantandimmediate: full absolute effect in every simulated period;ramp: linear sequence from zero to full effect, inclusive;decay: full effect followed by decay;- any other value: configuration error.
The 0.1 decay rate is not configurable in version 0.3.1.
Grid-based MDE
For duration and target power , GeoSC reports the smallest valid tested effect that reaches the target:
target_power defaults to 0.80 in the CLI and pipeline but is configurable. No
interpolation is performed. If no valid tested effect reaches the target, no
grid-based MDE is established. Distinguish failure to attain the target on valid
rows from having no valid simulation rows. An untested effect is not assessed.
Monte Carlo uncertainty
The CSV includes a Wilson interval around the estimated detection proportion.
Its confidence setting uses the configured alpha. This interval describes
finite simulation uncertainty, not DGP misspecification, donor-selection
uncertainty, or future-campaign uncertainty. If it straddles target power,
increase n_simulations before making a threshold decision.
Worked output
These rows are hypothetical illustrations, not retained benchmark results.
| duration | effect_size | power | interval | failure_rate | valid |
|---|---|---|---|---|---|
| 28 | 0.05 | 0.42 | 0.36–0.48 | 0.00 | true |
| 28 | 0.10 | 0.76 | 0.71–0.81 | 0.00 | true |
| 28 | 0.15 | 0.91 | 0.87–0.94 | 0.00 | true |
| 35 | 0.10 | 0.84 | 0.79–0.88 | 0.00 | true |
| 42 | 0.10 | 0.89 | 0.85–0.92 | 0.25 | false |
At 80% target power, the 28-period grid-based MDE is 15% and the 35-period MDE is 10%. The 42-period row is excluded despite high estimated power.
Power is computationally intensive because total work scales approximately with effect sizes × durations × simulations × SparseSC fit and placebo cost. This differs from a closed-form regression MDE, but computational intensity is not by itself evidence of better calibration.