Twindex · live demo
Real data · January 1978 · 763 boys

Could anyone have known R₀?

Influenza swept through an English boarding school, and the nurses counted the boys confined to bed each day. Slide through the outbreak to see what those counts could prove at the time and what they could not. Compatibility and incompatibility claims have certificates you can re-check yourself, in this browser, in exact arithmetic.

through 26 Jan
lower-R₀ certified twin higher-R₀ certified twin ● seen counts  ○ not yet seen, with assumed counting error
Certified R₀ gap
No method can promise better than
Certificate
VALIDsaved verdict, from when the certificate was made
not runfresh replay in this browser
The first check downloads Python (Pyodide, ~10 MB) and the 100 KB Twindex checker. Nothing is sent to any server.

The discovery loop

Stop the clock on 26 January, after five days of counts. Using only those counts (the search never sees later data), Twindex finds two explanations that both fit, and a next-day measurement that would distinguish them under a stated future allowance. Then we compare with the count that was actually recorded, using its own historical allowance. This is a replay of historical data, run as if on 26 January.

1 · 26 Jan

2 · before 27 Jan

3 · 27 Jan

More certificates to check

The same exact checker covers drug dosing, neurons, epidemics and PDEs. Each card replays a real certificate from the repository.

Verify your own certificate
Drop a Twindex JSON certificate here, or click to choose one (up to 5 MB). It is checked locally.

What this proves, and what it doesn't

What a VALID pair proves

Two parameter sets, here two values of R₀, each have a true SIR solution that stays within the assumed counting error of every count seen so far. The proof bounds the gap between a polynomial approximation and the true solution in exact rational arithmetic, using outward rational bounds; the proof does not rely on numerical solver convergence. As a consequence, no method can estimate R₀ from those counts with a worst-case error below half the gap.

The assumptions
  • Model: SIR, with R₀, the recovery rate γ and the initially infected fraction as unknowns.
  • The number of boys confined to bed is treated as the infected compartment. That is a modelling choice, not a fact about influenza.
  • A count c is trusted to within 3√c + 5 boys (the square root is rounded to six decimal places). This is an assumed total discrepancy allowance, not a confidence interval.
  • Priors: R₀ in [1, 20], γ in [0.05, 2] per day, initial infected fraction in [0, 0.05]. Results that hit R₀ = 20 are limited by the prior.
What it does not prove
  • That SIR is the right model. A separate certificate shows only that some SIR trajectory fits all 14 days under the stated allowance.
  • That R₀ lies between the two twins, or that the true range is no wider. A failed search proves nothing.
  • That a later day is the best possible day to measure. The separation test is exact only for the two named twins.
Data source

Anonymous (1978), "Influenza in a boarding school", British Medical Journal 1:578. Values as distributed in the R package outbreaks 1.9.0 (dataset influenza_england_1978_school, GPL ≥ 2), read from the package's own data file. The original data were published as a figure, so transcriptions differ slightly between sources.