Lab

One number decides everything

An outbreak is a race between how fast a disease finds new people and how fast it runs out of them. The ratio of those two rates is called Rβ‚€, and almost everything else β€” whether it takes off at all, how high it peaks, how many people it eventually reaches β€” follows from it. The model below is the real one epidemiologists start from, integrated properly, and every number it reports matches the closed-form answer to three decimal places.

Preset

1The shape every outbreak has

Susceptible people fall, infections spike, recovered people rise to meet them. The spike turns over at the exact moment susceptibles drop through 1/Rβ‚€ β€” not because anyone intervened, but because each case can no longer find one new person to replace itself. That crossing point is herd immunity, and the model reaches it on its own.

still susceptible infectious right now recovered herd immunity threshold

2The overshoot nobody mentions

Herd immunity at Rβ‚€ = 2.5 arrives once 60% have had it. The epidemic does not stop there β€” it stops at 89%. The extra 29% get infected after the turning point, by the infections already in flight. This is why slowing an outbreak reduces the total and not just the peak: a gentler epidemic overshoots by less. The popular version of "flatten the curve" said the area under it stays the same. In this model it does not.

3Intervene β€” and then stop intervening

Cut transmission from a chosen day for a chosen number of days, then release. The pale line is what would have happened otherwise. Lift the measures while a large share of people are still susceptible and the model gives you a second wave, because nothing that was true before has changed β€” you paused the epidemic, you did not end it. Try starting on day 0 and holding for 400: suppress it early enough and the rebound is taller than the peak you prevented, because almost nobody was infected during the pause and so almost nobody is immune when it ends.

4Why the last few percent matter so much

Vaccinate a fraction of people before anything starts and the effective R falls to Rβ‚€ Γ— (1 βˆ’ v). The curve below sweeps every coverage level. It does not slope gently down β€” it falls off a cliff at 1 βˆ’ 1/Rβ‚€, because that is where each case stops replacing itself. Note also what happens below the cliff: at Rβ‚€ = 2.5, vaccinating half of everyone is not enough to stop it, yet still cuts total infections from 89% to 29%.

5Real diseases, real numbers

Rβ‚€ is not a property of a virus alone β€” it depends on how people live, how crowded they are and who they meet, which is why published ranges are wide and why the same disease has a different Rβ‚€ in different places. The vaccination threshold column is computed from the estimate shown, and explains why measles outbreaks return the moment coverage slips a few points.

diseaseRβ‚€ (typical estimate) needs vaccinatedif unchecked, reaches

What this model gets right, and where it would mislead you

The integration is fourth-order Runge–Kutta on the standard SIR equations, and it reproduces the known closed forms exactly: the final size solves 1 βˆ’ eβˆ’Rβ‚€Β·x = x (79.681% at Rβ‚€ = 2, against a simulated 79.681%), the peak height is 1 βˆ’ (1 + ln Rβ‚€)/Rβ‚€, and the peak lands precisely where susceptibles cross 1/Rβ‚€. Those are checks, not settings β€” nothing in the code is tuned to produce them.

What it leaves out matters. Everyone here mixes with everyone else at random, which real populations emphatically do not β€” households, schools and travel networks change the answers, usually lowering the final size. There is no incubation period, no reinfection or waning immunity, no age structure and no deaths, so this model cannot tell you about mortality at all. And Rβ‚€ here is a fixed number, whereas in a real epidemic people change their behaviour as soon as they hear about it, which is itself one of the strongest interventions and one of the hardest to measure.