This simulator is a known, fully specified causal system in which a hidden common cause can link X and Y even when X has no direct effect on Y. Turn up the common-cause strength, set the true direct effect, then intervene by fixing X for everyone and compare what the data seem to say with what actually happens.
• A real-time 3D scene with 4 inspectable parts (Common cause U, X variable / intervention, Y outcome and Observational and intervention evidence), with home view, focus-selected-part, auto-rotate, expand, instrument-cover and hide-labels scene tools, plus a model response curve beneath the scene. • Experiment controls: Common-cause strength (0-2); True direct effect X→Y (-1-1); intervene: fix x for everyone; Intervention value (-2-2); Repeatable random seed (1-99); show animated explanatory markers; pause/resume, 0.1 s and 1 s single-step buttons, four playback speeds and a restart button. • A Curves & measurements tab with a parameter-comparison chart, a live-measurements chart, the model equations and snapshot readouts (Observational correlation r; Observational regression slope; Known structural direct effect; Current mean Y; Expected Y shift from do(X=0)). • An Experiments tab with 2 guided presets (spurious association and intervene without an effect) and a Model verification bench that runs independent fresh models, plus a timestamped event log and a copyable trial report. • A Learn & assess tab with guided lessons, a knowledge-check quiz with reset and a written model-scope statement linking to a technical reference.
X is generated from a common cause U plus noise, and Y is generated from U, from X through a direct effect you control, and more noise. Because the simulator sets these equations, the true direct effect is known exactly, which real data never allows. With the direct effect at zero and a strong common cause you get a clear observational correlation and regression slope that is entirely spurious.
The lab reports the observational correlation r, the observational regression slope, the known structural direct effect, the current mean of Y, and the expected shift in Y from setting X to zero.
Switching on the intervention replaces the equation that generates X with a fixed value for all 80 seeded cases, removing the incoming causal link from the common cause. Comparing the outcome after do(X = x) with the observational slope shows that association and intervention effects can disagree.
When every X is held equal the current correlation is undefined, so the displayed r stays the original observational value. This is a specified structural model, not a method for identifying causation from arbitrary data; the direct effect is known only because the simulator wrote the data-generating equations.
No. A common cause can generate a strong correlation between two variables that have no direct causal link. The spurious-association experiment sets the direct effect to zero yet still produces a clear correlation.
It replaces the equation that generates X with a fixed value for every case, cutting the causal link from the common cause into X. Any change in Y after that reflects X's direct effect rather than the shared cause.
Because the observational slope mixes the direct effect with the association created by the common cause. Only when confounding is removed or controlled does the slope estimate the direct effect.
No. It is a teaching model with a specified causal structure and 80 seeded cases. It shows why confounding matters but does not perform causal identification on arbitrary datasets.