Synthetic control answers one question: what would this market have done if we hadn’t changed the advertising? It answers it by building a stand-in for the market out of other markets, weighted so the stand-in moved in lockstep with the real one before anything changed. Afterwards, any gap between the two is the effect.
That is the whole idea. The rest of this guide is the detail that decides whether you can trust a particular read: how the weights are chosen, a worked example with every number shown, the checks that catch bad fits, and the situations where the method simply doesn’t work.
Synthetic control in plain English
Suppose you raise paid social in Charlotte. Comparing Charlotte with last month is useless, because last month had different weather, a different season and different paydays. Comparing Charlotte with Raleigh is better, but Raleigh is its own place with its own quirks. Comparing Charlotte with 40% Raleigh, 35% Nashville and 25% Richmond, a blend that tracked Charlotte week for week over the past six months, is better still. That blend is the synthetic control.
The method comes from economics. Alberto Abadie and Javier Gardeazabal introduced it in 2003 to estimate the economic cost of conflict in the Basque Country, and Abadie, Diamond and Hainmueller used it in 2010 to measure California’s 1988 tobacco-control program against a blend of 38 other states (Source: Cunningham, Causal Inference: The Mixtape, 2021). Susan Athey and Guido Imbens later called it “arguably the most important innovation in the policy evaluation literature in the last 15 years” (Source: Athey & Imbens, Journal of Economic Perspectives, 2017).
Swap “state” for “market” and “tobacco law” for “spend change” and you have a tool shaped almost perfectly for a multi-location brand.
How the synthetic control is built, step by step
- Pick the treated market and the moment. The market where spend changed, and the week it changed.
- Assemble the donor pool. Markets where spend held steady over the whole window, with no openings, closures or local promotions. These are the only markets allowed into the blend.
- Line up a pre-period. Ideally 26 to 52 weeks of the same outcome (weekly guests, members, jobs) for the treated market and every donor.
- Find the weights. Choose non-negative weights that add up to 100% and make the weighted blend track the treated market as closely as possible through the pre-period. Most donors end up at zero; a handful carry the blend.
- Project forward. Apply the same weights to the donors’ actual numbers after the change. That line is what the treated market would have done without it.
- Read the gap, then test it. Actual minus blend, week by week, summed over the test. Then run the checks in the next sections before believing it.
The “non-negative, adds to 100%” rule matters more than it looks. It means the blend is an average of real markets, so it can’t invent a market that behaves in ways none of your markets do. That keeps the method honest, and it is also why it breaks for outliers (more on that below).
A worked example with every number shown
Illustrative numbers. A burger chain raises Meta spend by $6,000 a week in one market with 5 restaurants. The weights came out at 50% Donor A, 30% Donor B and 20% Donor C. To keep the table readable it shows 4 of the pre-period weeks; a real fit would use 26 or more. Figures are average weekly guests per restaurant.
| Week | Donor A | Donor B | Donor C | Blend | Market | Gap |
|---|---|---|---|---|---|---|
| Pre 1 | 1,180 | 1,420 | 960 | 1,208 | 1,212 | +4 |
| Pre 2 | 1,150 | 1,390 | 1,000 | 1,192 | 1,186 | −6 |
| Pre 3 | 1,210 | 1,460 | 990 | 1,241 | 1,247 | +6 |
| Pre 4 | 1,240 | 1,480 | 1,020 | 1,268 | 1,262 | −6 |
| Test 1 | 1,260 | 1,500 | 1,030 | 1,286 | 1,338 | +52 |
| Test 2 | 1,300 | 1,530 | 1,050 | 1,319 | 1,392 | +73 |
| Test 3 | 1,280 | 1,510 | 1,040 | 1,301 | 1,381 | +80 |
| Test 4 | 1,320 | 1,560 | 1,070 | 1,342 | 1,419 | +77 |
Check one row yourself. Test 1: 0.5 × 1,260 + 0.3 × 1,500 + 0.2 × 1,030 = 630 + 450 + 206 = 1,286. The market served 1,338, so the gap is 52 guests per restaurant that week.
- Pre-period fit: gaps of +4, −6, +6, −6. The root mean square is √31 ≈ 5.6 guests, under half a percent. Good.
- Extra guests: 52 + 73 + 80 + 77 = 282 per restaurant over 4 weeks, × 5 restaurants = 1,410.
- Lift: average gap 70.5 ÷ average blend 1,312 ≈ 5.4%.
- Cost per extra guest: $24,000 added spend ÷ 1,410 ≈ $17.
Now the punchline. A simple before-and-after comparison of the market’s own numbers (1,227 a week before, 1,383 after) says +12.7%. More than half of that was the season, which the donors felt too. The synthetic control strips it out.
How to tell if a synthetic control read is trustworthy
Check 1: pre-period fit
If the blend didn’t track the market before the change, there’s no reason to believe it tracks what the market would have done after. Look at the pre-period gap chart, not just a summary statistic. A blend that’s right on average but misses every holiday spike is a bad blend for a test that runs through December.
Check 2: placebo runs
Pretend each donor market was the one that changed. Build its own synthetic control from the others and measure its “lift.” None of them had a real change, so their gaps show what noise looks like. If your real market’s gap is far bigger than every placebo, you have something. In the California tobacco study, the real gap ranked first against every placebo state, a permutation p-value of about 0.026 (Source: Cunningham, 2021).
One subtlety for brands with few markets: placebo tests can only be so precise. With 15 markets in total, the best possible rank-based p-value is 1 in 15, about 0.067, however huge the effect. That is why a good read combines placebo results with the pre-period fit error rather than leaning on either alone.
Synthetic control vs other marketing measurement methods
| Method | Comparison it uses | Main weakness |
|---|---|---|
| Before and after | The market’s own past | Season and trend get counted as lift |
| Difference-in-differences | Average of control markets | Assumes controls moved in parallel; often they didn’t |
| Matched market test | One or a few look-alike markets | A single twin can drift for its own reasons |
| Randomized geo experiment | Randomly assigned control markets | Needs many markets and planning; noisy with few |
| Synthetic control | Weighted blend fitted on the pre-period | Fails when no blend can match the market |
| Media mix modeling | Statistical model across all spend and time | Needs years of data; brand-level, not per location |
In practice these aren’t rivals. A planned geo test is often read with a synthetic control, which gives you randomization’s protection against bias plus the blend’s tighter fit. Our guide to matched market testing vs geo holdout covers that pairing.
When not to use synthetic control
- Your treated market is an outlier. If your flagship metro is twice the size of anything else, or growing three times faster, no average of other markets can reach it. Index outcomes per location or as growth rates, or accept that this market can’t be read this way.
- The donors aren’t clean. If spend also changed in donor markets, or one of them had a new store, the blend absorbs that change and the lift is wrong. Exclude them.
- The pre-period is short or broken. Eight weeks of history can be fitted by almost anything. A POS migration or a remodel in the middle of the pre-period breaks the series.
- Spillover between markets. If ads in the treated market reach donor-market customers, the donors rise too and the effect shrinks. Keep neighbors out of the pool.
- You need a creative or keyword answer. Synthetic control reads markets. For “which headline won,” use the platform’s own A/B tests.
Questions people ask about synthetic control
What is the synthetic control method in simple terms?
It estimates what would have happened to one market without a change by building a weighted average of similar markets that didn’t change. The weights are chosen so the average matched the market’s history beforehand. After the change, the difference between the market and that average is the estimated effect of the change.
How is synthetic control different from difference-in-differences?
Difference-in-differences compares the treated market with a simple average of controls and assumes they would have moved in parallel. Synthetic control chooses weights so the comparison actually did move in parallel before the change. When controls differ a lot from each other, synthetic control usually gives a closer, more believable comparison.
How many markets do you need for synthetic control?
Enough steady markets to build a blend that fits. In practice that’s roughly 8 to 10 clean donor markets at minimum, and more is better. With very few markets the fit gets loose, placebo tests lose precision, and ranges widen. It still beats before-and-after, but say how uncertain it is.
Is synthetic control the same as Google’s CausalImpact?
No, though they are cousins. Both build a counterfactual from other series. CausalImpact fits a statistical time-series model that uses the control series as regressors. Synthetic control uses a constrained weighted average of real markets, with weights that add to 100%, and judges uncertainty with pre-period fit error and placebo runs.
Can synthetic control measure a single location?
Only if that location has other comparable units to blend from. A brand with one store doesn’t, so it needs an on/off test over time or, for service businesses that know customer ZIP codes, a ZIP-level test. A single location inside a multi-location brand can be read, though its range will be wider than a market’s.
If you remember one thing: the read is only as good as the pre-period fit. Look at that chart first, every time.
Next step
Put your own locations through the comparison.
Your first location report is free at any size. Bring a CSV of weekly sales and spend, or connect your POS and ad accounts.
Written by The Countlift team at First Byte in The Woodlands, Texas. Questions or corrections? Email hello@countlift.com.