Bell Statistics

What is GeoLift?

GeoLift is Meta's open-source R package for planning and analysing geo experiments. It uses synthetic control to build the counterfactual and, unusually, includes power simulation that tells you which markets to treat before any money is spent.

Also called
GeoLift R package, Meta GeoLift, geo lift test
Allon Korem

Written by Allon Korem

Chief Executive Officer

Last updated

In plain English

GeoLift is an open-source R package from Meta for running geo experiments. Analytically it is built on synthetic control: the counterfactual for the treated markets is a weighted combination of untreated ones, with the weights fitted so the blend tracks the treated set closely over the pre-period. That part is well-established methodology rather than anything proprietary.

What distinguishes it in practice is the planning half. Before committing budget, it simulates the experiment across candidate market sets and reports the minimum detectable effect each would achieve for a given duration and spend. That answers the question most geo tests fail to ask — whether the design can detect the effect you expect — and it frequently returns an uncomfortable answer, which is precisely its value. A great many geo tests are run without the power to resolve anything, and the finding arrives after the money is spent.

The market-selection output is the practical payoff. Rather than treating the largest markets or the ones a media team prefers, it searches for the treatment set whose synthetic control fits best and whose size supports the effect you want to detect. Those two criteria pull against each other — the best-fitting markets are not necessarily the ones with enough volume — and having the trade-off computed rather than argued is a real improvement on how these decisions are usually made.

It inherits synthetic control's assumptions and they are the things to supervise. The donor pool must be genuinely untreated, which for advertising means checking the media plan rather than the correlation matrix, since a market receiving spillover fits especially well. The pre-period must be long enough and stable enough for the weights to mean something. And the fitted weights should be inspected: a synthetic control resting almost entirely on one donor market is fragile, because anything happening in that market propagates straight into the estimate.

The honest framing is that it is a well-built implementation of a known method with unusually good planning tooling, not a different kind of evidence. A randomised geo test where assignment creates the counterfactual is still stronger. GeoLift's contribution is making a careful synthetic-control analysis accessible to teams who would otherwise run a before-and-after comparison — which is a substantial improvement on the realistic alternative rather than on the ideal one.

The formula

The estimator it implements, and the planning quantity that is its distinguishing feature.

The synthetic control
ŷ_treated,t = Σ wⱼ · y_donor j,t, wⱼ ≥ 0, Σ wⱼ = 1

Non-negative weights summing to one, fitted on the pre-period. The constraint prevents extrapolation beyond the donors.

The effect
lift = Σ ( y_treated,t − ŷ_treated,t ) over the test window

Actual minus synthetic counterfactual, accumulated — see counterfactual forecast.

The power simulation
simulate known effects over candidate market sets; report detectable MDE

Run before spending. The feature that most distinguishes it from a bare synthetic control implementation.

The fragility check
inspect the fitted weights

A synthetic control dominated by one donor is fragile — see the correlation calculator for the pre-period fit.

Worked example

An advertiser plans a geo test with a £400,000 budget and expects roughly a 5% lift. GeoLift's power simulation is run across candidate market sets before anything is committed.

Available markets
112 with usable volume
Proposed set: 10 largest markets
MDE 11.2% over 4 weeks
Simulation-selected set: 24 markets
MDE 4.6% over 4 weeks
Simulation-selected set, 6 weeks
MDE 3.8%
Expected effect
≈ 5%
Top donor weight in the selected synthetic control
0.19

The media team's preferred ten large markets could only detect an 11.2% effect. A different set of 24 markets detects 4.6%, below the effect expected.

The first two rows are the case for running the simulation at all. Treating the ten largest markets is the intuitive plan — the most spend, the most volume — and it would have produced a test incapable of detecting the effect the campaign was expected to deliver. The likely outcome would have been an inconclusive result read as "the campaign did not work", which is the worst possible return on £400,000 of media and several weeks. The selected set of 24 markets is a mix of sizes chosen because their synthetic control fits well, and it brings the detectable effect below the expected one with room to spare. The final row is the fragility check passing: the largest donor weight is 0.19, so no single market dominates the counterfactual. Had one donor carried 0.6 of the weight, a store closure or local promotion there would have propagated straight into the estimate, and the design would have been worth revisiting despite a good headline fit.

Common misconceptions

GeoLift is a new methodology for measuring incrementality.
The estimator is synthetic control, which predates it by more than a decade. What GeoLift adds is a well-built open-source implementation and, more usefully, power simulation for market selection. That is a real contribution to practice rather than a new kind of evidence.
Because it is from Meta, it favours Meta channels.
It is channel-agnostic — it measures the effect of whatever was switched on or off in the treated markets, including television, print or a competitor's platform. The reasonable scepticism is about incentives around promotion rather than about the mathematics, which is standard and open to inspection.
A good pre-period fit means the synthetic control is sound.
Fit is necessary and not sufficient. Check that donors are genuinely untreated, since a market receiving spillover fits especially well, and inspect the weights — a synthetic control resting mostly on one donor is fragile regardless of how well it tracks, because anything local to that donor lands directly in the estimate.

Frequently asked questions

What does GeoLift's power simulation actually do?
It injects known synthetic effects into historical data across candidate market sets and durations, then checks how often the analysis recovers them. The output is a minimum detectable effect for each design, so you can see before spending whether the test can resolve the lift you expect. Running it frequently reveals that the intuitive market selection cannot, which is the most valuable thing it does.
How does GeoLift differ from CausalImpact?
Both build a counterfactual from untreated series and they use different machinery. GeoLift uses synthetic control with non-negative weights summing to one, which prevents extrapolating beyond the donor markets. CausalImpact fits a Bayesian structural time-series model with regression on the controls, which is more flexible and less constrained. GeoLift adds the planning simulation; CausalImpact handles trend and seasonality more explicitly. They frequently agree, and running both is a reasonable cross-check.
What needs checking when using GeoLift?
That the donor pool is genuinely unexposed, verified against the media plan rather than by correlation. That the pre-period is long enough to cover seasonality. And the fitted weights — a synthetic control dominated by one or two donors is fragile, because a local disruption in those markets propagates straight into the effect estimate. None of these is checked automatically.

Related terms

  • CausalImpact

    Fits a time-series model on the pre-period and projects it forward — powerful, easy to run, and easy to run badly.

  • Counterfactual forecast

    The dotted line on every geo chart — a prediction, not an observation, and the whole result rests on it.

  • Synthetic control

    Build the comparison group instead of finding one — the method for when you have one treated unit.

  • Test and control markets

    Too few markets for randomisation to balance them, so they are matched — and the matching is the whole design.

Calculate it

  • Paired t-test

    Before-and-after or matched pairs — size the study on the difference SD, then test it.

  • A/B test sample size

    Size a two-proportion experiment before you launch, then read the lift and its interval once it lands.

Knowing the term is the easy part

Applying it to a live measurement problem is the part that goes wrong. If you are designing an experiment, reading a result you do not trust, or trying to work out what your marketing actually caused, that is the work we do.