Bell Statistics

What is a counterfactual forecast?

A counterfactual forecast is a model's prediction of what the treated markets would have done had the campaign not run. The measured effect is the gap between actual and forecast, so the estimate is only as good as the forecast behind it.

Also called
predicted baseline, synthetic baseline, expected trajectory
Allon Korem

Written by Allon Korem

Chief Executive Officer

Last updated

In plain English

Every geo test report contains a chart with a solid line for what happened and a dotted line for what would have happened otherwise. The dotted line is the counterfactual forecast, and it is a model output rather than an observation — the counterfactual itself is unobservable, so it has to be predicted. The measured effect is the area between the two lines, which makes the forecast the load-bearing part of the whole analysis.

Different methods build it differently. A matched-market design uses the control markets' actual trajectory directly. Synthetic control constructs a weighted blend of untreated markets chosen to track the treated ones over the pre-period. CausalImpact fits a Bayesian time-series model using control markets as predictors and projects it forward. Each is answering the same question with different machinery, and each rests on the same assumption: that the relationship observed before the campaign continues to hold during it.

That assumption is what has to be validated, and pre-period fit alone does not validate it. A model can fit the pre-period beautifully by overfitting — enough donor markets and enough flexibility will reproduce any historical series — and then forecast badly. The meaningful test is holding out a window: fit on data ending before some period the campaign did not touch, forecast into it, and compare against what actually happened. A model that cannot predict a quiet month it did not see should not be trusted to predict a counterfactual.

The forecast also has uncertainty that is frequently discarded in reporting. A prediction interval widens the further out it projects, so a twelve-week campaign has a much less certain counterfactual at week twelve than at week one. Reporting a single effect number without the interval implied by that widening is the most common way a geo result is overstated — the point estimate is often reasonable and the confidence attached to it is not.

The practical failure to watch for is something changing in the control markets rather than the treated ones. If a competitor launches nationally mid-test, both sets are affected and the relationship may hold; if it launches only in the control regions, the forecast is wrong in a direction that has nothing to do with the campaign. Monitoring the control markets during the test, not just at the end, is what makes that detectable while there is still time to respond.

The formula

The estimator, and the validation that distinguishes a trustworthy forecast from a well-fitted one.

The effect
lift = Σ ( actual_t − forecast_t ) over the test period

The area between the lines. Every geo method computes this; they differ in how the forecast is built.

The assumption
the pre-period relationship holds through the test period

Untestable during the test itself, which is why holdout validation beforehand matters.

The validation that counts
fit on data ending at T−k, forecast the k weeks to T, compare

Pre-period fit alone is not evidence — an overfitted model fits perfectly and forecasts badly.

Widening uncertainty
prediction interval grows with horizon

A twelve-week counterfactual is far less certain at week twelve — see the correlation calculator for the pre-period fit check.

Worked example

A geo test's counterfactual forecast is validated two ways before the campaign result is read: by pre-period fit, and by a holdout test on the eight weeks immediately before the campaign started.

Pre-period fit (R²)
0.982
Pre-period fit, in-sample MAPE
1.4%
Holdout forecast, 8 weeks
MAPE 6.8%
Holdout bias
forecast ran 4.2% high on average
Campaign period measured lift
+5.9%
Lift after correcting for holdout bias
+10.1%, wide interval

An excellent in-sample fit and a forecast that runs 4.2% high out of sample — which would have understated the campaign effect by nearly half.

The first two rows would satisfy most reviewers: R² of 0.982 and in-sample error of 1.4% look like a model that has learned the relationship. The holdout says otherwise. Forecasting eight weeks it had not seen, the model overshot by 4.2% on average, which means it would have predicted a higher baseline than reality and made the campaign look smaller than it was. Correcting for that bias moves the estimate from +5.9% to around +10.1%, though with much wider uncertainty, and the honest report says the effect is somewhere in that region rather than picking either number. The general lesson is the gap between the second and third rows: in-sample fit measures how well a model reproduces data it has seen, which is nearly free with enough donor markets, and says very little about forecasting. Any geo result should come with a holdout validation, and a model that fails one should be rebuilt rather than corrected.

Common misconceptions

A high pre-period R² means the counterfactual is reliable.
In-sample fit is nearly free when there are many donor markets to weight — a flexible model reproduces any historical series and can still forecast badly. The evidence that matters comes from holding out a window the model has not seen and checking whether it predicts that period accurately.
The counterfactual is the baseline before the campaign started.
It is what the treated markets would have done DURING the campaign, which includes seasonality, trend and everything else that would have happened anyway. Using the pre-campaign level as the baseline attributes all of that to the campaign, which is the before-and-after error in a more sophisticated-looking form.
A point estimate of the lift is what should be reported.
The forecast carries uncertainty that widens with the horizon, so the effect estimate inherits an interval that grows through the test period. Reporting a single number without it is where most geo results are overstated — the estimate is often defensible and the confidence attached to it is not.

Frequently asked questions

How do I validate a counterfactual forecast?
Hold out a window the model has not seen — typically the weeks immediately before the campaign — fit on everything earlier, forecast into the holdout, and compare against what actually happened. Look at both the error magnitude and any systematic bias. A model that consistently runs high or low out of sample will bias the campaign estimate in the opposite direction by a similar amount.
How far ahead can a counterfactual forecast be trusted?
Not far, and the uncertainty grows steadily with the horizon. A four-week projection is usually reasonable if the pre-period relationship is strong; a six-month one is speculative regardless of how good the fit looked. This is one of the practical arguments for shorter geo tests — the forecast degrades as the test lengthens, so a longer test buys more data and a less certain baseline to compare it against.
What if something changes in the control markets during the test?
The forecast becomes wrong for reasons unconnected to the campaign, and the direction depends on what happened. Monitor the control markets throughout rather than only at the end, so a divergence is visible while there is still time to respond — by extending the pre-period, dropping the affected markets, or documenting the disruption before it becomes an argument about which result to report.

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

    The outcome you did not get to see — and every method in causal inference is a way of estimating it.

  • Geo test periods

    Match, measure, then wait — and the cooldown is the phase teams skip and then misread the result.

  • GeoLift

    Open-source geo testing with the power simulation built in — it tells you whether the test can work before you run it.

Calculate it

  • Correlation test

    Pearson r or Spearman rho, with the Fisher-z interval that says how little a small sample knows.

  • Paired t-test

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

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.