Skip to main content
Back to Causal Inference

Causal Inference · The Causal Mechanism

Structural Causal Models

The one idea: A structural causal model writes down, for every variable, the exact equation that produces it from its causes plus randomness — and once you have those equations, "intervention" stops being a vague word and becomes a precise operation: erase one equation, replace it with a constant, leave everything else untouched.
⚠️ The trap: "If I know the equation Revenue = f(Price, Demand), I know what happens if I set the price." That feels right and it's wrong. **The equation tells you what happens when price is set by the mechanism you wrote down; the moment you intervene and set price by hand, you've deleted that equation and replaced it with a new one — conditioning on an observed price and intervening to fix a price are different operations on different models, and they generally give different answers.**

A DAG tells you the shape of the causal story — which arrows exist, which don't. A structural causal model (SCM) tells you the story itself. For every variable in the system, an SCM writes down a deterministic function of that variable's direct causes (its "parents" in the DAG) plus some background noise you don't observe:

Y = f(Parents of Y, U)

U is the noise term — everything that affects Y that isn't in your model: idiosyncratic shocks, unmeasured factors, plain randomness. It's assumed independent across variables unless you explicitly say otherwise (an arrow between two U's is just a hidden confounder you haven't drawn yet).

This looks like overkill — why bother writing equations when a DAG already shows the arrows? Because the DAG is a sketch and the SCM is the…

Keep reading: Structural Causal Models

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