A fair coin (50/50, zero edge) streams in as fake "trading results." Watch a classical p-value get fooled by pure noise ā and watch an anytime-valid e-value refuse to lie, no matter when you stop looking.
šØ p < 0.05 ā a naive peeker would shout "SIGNIFICANT EDGE FOUND!" right now. There is no edge. This is exactly why optional stopping p-hacks itself.
ā ļø e-value crossed 1/α ā this is a genuine false alarm, but Ville's inequality guarantees it happens at most ~α = 5% of the time, no matter how long you monitor.
GROUND TRUTH: fair coin, p = 0.50. There was never an edge.
Classical p-value peeker
Anytime-valid e-value
The math (simplified, real): the e-value is a sequential likelihood ratio En = (pā/pā)headsĀ·((1āpā)/(1āpā))tails testing pā=0.50 vs. an assumed edge pā=0.55. En is a nonnegative martingale under the null (E[En] = 1 for all n), so by Ville's inequality, P(supn En ā„ 1/α) ⤠α ā a guarantee that holds no matter when or how often you look. The classical p-value has no such guarantee under repeated peeking.
Live Fooled-Rate 3,000 simulated peekers
Background Monte Carlo of 3,000 independent fair-coin streams, run once at load. Shows what fraction of peekers get fooled by the time they reach the live stream's current flip count.
Classical p-value, stopped at first p<0.05 seen so farā
Anytime-valid, stopped at first Enā„20 seen so farā
Your Scoreboard
Every time you hit "I quit here" it's tallied here. Ground truth is always the same fair coin ā any "win" for a method is a false positive.
Naive p-value
0%
fooled 0 / 0 runs
Anytime-valid
0%
fooled 0 / 0 runs
Why this matters: by the Law of the Iterated Logarithm, a classical p-value computed on accumulating noise is guaranteed to dip below any fixed threshold infinitely often if you watch forever. "Just check whenever you feel like it" is a broken protocol. The anytime-valid e-value is built so its error budget never leaks, however you peek.