GeoLift: Methodology
How GeoLift works technically
GeoLift measures incremental impact by building a counterfactual: what the treatment market would likely have done without the intervention. The gap between actual performance and that counterfactual is the estimated lift.
The full process has five stages:
- Prepare data — map columns, clean the panel, validate quality
- Characterize markets — learn pre-treatment behavior per geo
- Set up test vs control — select or rank comparable control markets
- Run causal models — estimate lift with one or more inference methods
- Score reliability — power analysis, quality status, and report generation
Default GeoLift runs use all three models (ANCOVA, Synthetic DiD, BSTS) so results are not dependent on a single approach.
Stage 1: Data preparation
Column mapping
The pipeline auto-detects:
- date (week/day/period),
- location (market, store, DMA, etc.),
- outcome (sales, revenue, units, or another KPI).
You can also specify the outcome column explicitly when submitting a job.
Panel balancing
- Duplicate rows are aggregated
- Time index is normalized (weekly alignment where applicable)
- Missing values are handled so trends stay stable
- Geos with too much missing history may be dropped
Why it matters: sparse or inconsistent panels produce unreliable lift estimates.
Validation
Checks include:
- minimum number of geos and time periods,
- missingness and sparsity,
- structural readiness for causal modeling.
Validation issues feed into the final quality score.
Stage 2: Pre-treatment market characterization
Before the intervention date, each geo gets a fingerprint summarizing historical behavior:
- average outcome level,
- volatility,
- trend direction,
- seasonality-like patterns,
- stability signals.
Fingerprints are computed on pre-treatment data only so post-campaign changes do not bias control selection.
Stage 3: Test and control setup
GeoLift supports two input modes:
| Mode | What you provide | What the system does |
|---|---|---|
| Explicit | Test + control markets | Runs inference on your specified pair(s) |
| Test only | Test market(s) only | Ranks and selects best controls from remaining geos |
Controls are sorted by similarity to the treatment geo. Top matches are used for inference (typically capped for performance).
Stage 4: Causal inference
Each model estimates lift differently but answers the same question: how much extra outcome came from the intervention?
See geolift-models for a detailed breakdown of ANCOVA, Synthetic DiD, and BSTS.
Common outputs per method:
- total lift (absolute),
- relative lift (%),
- confidence interval,
- p-value,
- model fit diagnostics.
Stage 5: Power and quality scoring
Power analysis
Answers: "Could this study reliably detect an effect of realistic size?"
Key outputs:
- MDE — smallest lift the design can detect at target power
- power curve — detectability across effect sizes
If MDE cannot be computed, the run is treated as underpowered.
Quality status
| Status | Meaning |
|---|---|
| Significant | At least one method found a reliable effect |
| Inconclusive | Models ran but no method reached significance |
| Underpowered | Design too weak for confident detection |
| Data Issues | Input quality problems dominate |
| No Results | Models failed to produce output |
Quality combines significance evidence, effect size, and data-issue penalties.
Data requirements
| Requirement | Practical guidance |
|---|---|
| History | Aim for 10+ pre-treatment weeks where possible |
| Post window | Enough weeks after intervention to observe effect |
| Geos | At least 1 treatment + 2 controls after cleaning |
| Frequency | Weekly time series is the typical grain |
| Outcome | Single stable KPI (sales, revenue, units, etc.) |
Automated safeguards
- Parallel-trend checks (ANCOVA)
- Pre-period fit reliability (Synthetic DiD)
- Bootstrap/simulation-based confidence intervals
- Plausibility guards on extreme lift values
- Multi-method agreement as a sanity check
What can go wrong
- Wrong column mapped as outcome or location
- Treatment geo dropped due to missing data
- Weak or contaminated controls
- Methods disagree strongly on direction or magnitude
- Underpowered design mistaken for "no effect"
For interpretation guidance, see geolift-results.