Introduction

In 1927, two Scottish scientists — William Kermack and Anderson McKendrick — published a short paper that would become one of the most cited in all of science. They asked a deceptively simple question: why does an epidemic peak and then recede, even when most of the population was never infected?

Their answer was the SIR model. Divide everyone in a closed population into three buckets:

  • SSusceptible: people who have not yet caught the disease and could catch it.
  • IInfected: people who are currently ill and spreading the pathogen.
  • RRecovered (or removed): people who are immune or no longer infectious.

The model tracks how individuals flow from S to I to R over time. Every day, some susceptibles encounter an infected person and become infected; every day, some of the infected recover. The balance of those two rates produces the classic epidemic bell curve — a rapid rise, a sharp peak, and a long tail.

The key insight is a single number: the basic reproduction number R0R_0 (pronounced "R-naught"). It counts, on average, how many new infections one sick person causes in a fully susceptible population. When R0>1R_0 > 1 the epidemic grows; when R0<1R_0 < 1 it dies out. The tipping point at R0=1R_0 = 1 is the model's most important threshold.

Try It

Drag the R0R_0 slider and watch the outbreak curve reshape in real time. When R0R_0 drops below 1 the epidemic vanishes before it starts; push it above 3 and the infected peak shoots up and arrives sooner.

<!-- {{c_html_intro}} -->
<div class="controls">
  <label>
    <span>{{lbl_r0}} <strong id="r0val">2.5</strong></span>
    <input type="range" id="r0" min="0.5" max="5" step="0.1" value="2.5">
  </label>
  <label>
    <span>{{lbl_gamma}} <strong id="gammaval">0.10</strong></span>
    <input type="range" id="gamma" min="0.05" max="0.30" step="0.01" value="0.10">
  </label>
</div>
<canvas id="chart" width="560" height="280"></canvas>
<div class="legend">
  <span class="dot s"></span> {{lbl_s}}
  <span class="dot i"></span> {{lbl_i}}
  <span class="dot r"></span> {{lbl_r}}
</div>
<div id="summary" class="summary"></div>
/* {{c_css_intro}} */
* { box-sizing: border-box; margin: 0; }
body { font-family: system-ui, sans-serif; color: #222; padding: .5rem; }
.controls { display: flex; flex-direction: column; gap: .5rem; margin-bottom: .8rem; }
label { display: flex; align-items: center; gap: .8rem; font-size: .9rem; }
label span { min-width: 10rem; }
input[type=range] { flex: 1; accent-color: #1d3557; }
canvas { display: block; width: 100%; max-width: 560px; border: 1px solid #cdd9e3; border-radius: 8px; background: #f8fafc; }
.legend { display: flex; gap: 1.2rem; font-size: .85rem; margin-top: .5rem; align-items: center; }
.dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: .3rem; }
.dot.s { background: #1d6fa4; }
.dot.i { background: #e63946; }
.dot.r { background: #2a9d5c; }
.summary { margin-top: .6rem; font-size: .9rem; line-height: 1.6; color: #333; }
strong { font-weight: 700; }
// Code not found

Notice that even a large outbreak leaves a fraction of the population never infected — the epidemic burns itself out once enough people have recovered and the susceptible pool shrinks below the threshold needed to sustain transmission.

The Real Complexity

The SIR model is analytically clean — you can write down three ordinary differential equations and solve for the threshold in closed form. But that simplicity hides several layers of genuine difficulty.

The equations. The model is defined by:

dSdt=βSI,dIdt=βSIγI,dRdt=γI\frac{dS}{dt} = -\beta S I, \quad \frac{dI}{dt} = \beta S I - \gamma I, \quad \frac{dR}{dt} = \gamma I

where β\beta is the transmission rate and γ\gamma is the recovery rate. The basic reproduction number is R0=β/γR_0 = \beta / \gamma.

The herd-immunity threshold. An epidemic can only sustain itself while S>γ/β=1/R0S > \gamma/\beta = 1/R_0. Once the susceptible fraction falls below 1/R01/R_0, each infected person infects fewer than one new person on average and the outbreak collapses. This means the fraction of the population that must be immune to stop spread is:

p=11R0p^* = 1 - \frac{1}{R_0}

For measles (R015R_0 \approx 15), that threshold is about 93 %. For seasonal flu (R01.3R_0 \approx 1.3), roughly 23 % suffices.

Where it gets hard. The idealized model assumes a homogeneous, well-mixed population — everyone contacts everyone else equally. Real epidemics do not. Fitting β\beta and γ\gamma to noisy surveillance data involves nonlinear least-squares problems that are sensitive to initial conditions and measurement error. Adding spatial structure, age stratification, or multiple strains turns the system into a high-dimensional optimization problem with no guaranteed global solution. And predicting the effect of interventions (lockdowns, vaccination campaigns) requires counterfactual reasoning under deep uncertainty.

So the SIR model itself is solved; the hard problems arise the moment you try to apply it faithfully to a real outbreak.

Where It Matters

The SIR framework — a source pool, a spreading compartment, and a removed pool — turns up far outside medicine:

  • Public-health policy: every vaccine rollout plan, quarantine guideline, and school-closure decision involves estimating R0R_0 and the herd-immunity threshold. The model is the lingua franca of epidemic advisors worldwide.
  • Computer security: the spread of malware through a network follows SIR-like dynamics. Patching a machine moves it from I to R; the "basic reproduction number" of a worm determines whether it dies or goes pandemic.
  • Viral marketing and misinformation: ideas, memes, and rumors spread through social networks in patterns that SIR-type models describe well — "infected" nodes share the content, "recovered" nodes lose interest.
  • Ecology: the same equations model the spread of plant diseases, forest fires, and invasive species through a landscape.

Understanding R0<1R_0 < 1 as the universal extinction threshold is one of the most transferable insights in applied mathematics. For more on how threshold phenomena appear across complexity theory, see the article on P vs NP.

Conclusion

Kermack and McKendrick's 1927 model is nearly a century old, yet it still anchors every modern pandemic response. Three compartments and two parameters produce the iconic bell curve, the herd-immunity threshold p=11/R0p^* = 1 - 1/R_0, and the insight that an epidemic always ends — not because the pathogen disappears, but because the susceptible pool is exhausted.

The elegance is real: you can fit the whole trajectory of an outbreak onto a single page of calculus. The limitation is equally real: homogeneous mixing, no age structure, no geography, no behavioral response. Every extension that makes the model more realistic adds parameters that must be estimated from noisy data, turning a solved differential equation into a genuinely hard inference problem.

That tension — simple model, complex reality — is the engine of epidemiological research. The next time you see an exponential rise in a case count, you are watching R0>1R_0 > 1 in action. The next time you see it flatten, you are watching the susceptible pool drain below the threshold that sustains it.

Share this article

Pick a channel — or use your device's native share sheet.

Comments

Loading comments...

https://www.kipuhub.com/en/article/sir-epidemic-model/Content licensed under CC BY-NC 4.0.