Course outline

Pre-Registration and the Design Doc

By the end of this lesson, you should be able to: write a design doc that makes the readout a formality, state a decision rule that can't be argued with afterwards, explain what pre-registration protects against, and keep exploratory analysis without letting it decide anything.

An experiment where nothing happened

Basket tested a button copy change on 61,184 users. The true effect is exactly zero. Nothing was done to anybody that could have moved any metric.

The pre-registered analysis says:

MetricConversion (chosen before launch)
PopulationEveryone (chosen before launch)
StopDay 14 (chosen before launch)
Resultp = 0.559, not significant

Correct. Don't ship. That takes about thirty seconds and there's nothing to discuss.

Now suppose those three choices hadn't been made in advance.

363 ways to analyse one null experiment

An analyst who wants a result has three ordinary-looking freedoms: which metric, which segment, and when to stop. Eleven metrics, eleven segments, three stopping points. Every combination is defensible in isolation.

That's 363 analyses. Five come back with p below 0.05:

MetricSegmentStoppedLiftp
RevenueCountry USDay 14−8.36%0.0075
SessionsCountry USDay 14−1.81%0.0136
RevenuePlatform androidDay 14−8.10%0.0143
RevenueEveryoneDay 14−4.65%0.0313
SessionsEveryoneDay 14−1.03%0.0404

"US revenue fell 8.4%, p = 0.0075" is a sentence somebody would put in a deck. It's a large effect, a tight p-value and a segment that matters commercially. It came from an experiment in which literally nothing was done.

Two panels. On the left, a histogram of p-values from 363 different analyses of one null experiment, roughly flat across the range with a shaded red band below 0.05 containing five of them. On the right, a curve showing the chance of at least one false finding rising steeply as the number of independent analyses increases, with a single pre-registered analysis marked at 5%.
Left, every way of analysing an experiment where nothing happened. Right, the cost of each extra look, for analyses that are independent.

Notice something about that table: every one of the five findings is negative. A team that wanted to kill this feature has five ways to justify it, all of them technically correct and all of them meaningless. The freedom to choose your analysis afterwards doesn't only manufacture wins.

Five out of 363 is 1.4%, which is lower than 5% because these analyses overlap heavily. The same users appear in many of them, so they aren't independent tests. The right-hand curve above is the idealised version, and the real inflation is smaller. The conclusion doesn't change: at least one publishable finding exists, and someone looking for one will find it.