Skip to main content
Back to Causal Inference

Causal Inference · When You Can’t Randomize

Synthetic Control

The one idea: When you change just one market and no other single market is a good match, build a stand-in by blending several untreated markets so the blend traces your market's history before the change. After the change, the gap between your real market and its blended twin is the effect.
⚠️ The trap: "We launched in one city and the city grew, so the launch caused that growth." That feels right and it's wrong. Part of that growth is market-wide trend the city would have gotten with no launch at all — only the gap between your city and a blended "synthetic twin" built from untreated markets counts as the effect.

"We launched in Austin, and Austin grew 12%." Every growth team has said some version of this sentence, and every version has the same hole: grew compared to what? Austin without the launch doesn't exist. You changed one market, no twin market matches it, and a t-test needs more than one treated unit. This is the exact situation — one treated unit, a handful of untreated ones — where the usual toolkit goes quiet.

Synthetic control is the tool built for that silence. The trick: if no single untreated market looks like Austin, build one. Take your donor pool of untreated markets and find the weighted blend that tracks Austin's metric as closely as possible over the pre-launch period. That blend — 40% Denver, 35% Nashville, 25% Raleigh, say — is your synthetic Austin. After launch, real Austin does whatever it does; synthetic Austin keeps doing what the blend of donors does. The gap between the two lines is your treatment effect.…

Keep reading: Synthetic Control

Unlock the full Causal Inference track — every lesson, the AI tutor, and full mock assessments.

  • Full lesson content
  • AI tutor for this section
  • Practice questions