Skill 40 · Debugging Experiments
Subchapter 40.3
references/real-vs-noise.mdMarkdown2 KBView on GitHub
Symptom: a funnel step the feature doesn’t touch (e.g. event page → checkout) shows a lift,
often while the step it does touch is flat. The customer suspects a measurement bug.
A rate measured between two mid-funnel steps only counts users who already reached the earlier step, and reaching it happens after randomization and can be nudged by the treatment. So the leg compares two groups shaped by the experiment, not the randomized groups, and a gap can appear there with no real effect on the downstream action. It can even read more significant than the honest metric, because it’s a smaller, more-selected denominator.
Trust the randomized endpoint — exposure → final step, counting everyone assigned — over any rate
measured between two mid-funnel steps. PostHog computes significance from the first step to the last
step for exactly this reason (see numbers-vs-sql.md D2 in the diagnosing-experiment-results
library).
Report the randomized exposure → outcome number (with its win probability) as the verdict, explain the conditioning trap in plain terms, and — if the checks point to noise — advise against shipping on the downstream figure and to keep running to the pre-planned sample.