How a single number — the time-varying reproduction number R(t) — drives an epidemic forward. The renewal equation turns today's transmissibility and the generation interval into tomorrow's cases. Above 1 it grows, below 1 it shrinks, and the epidemic peaks exactly where R(t) crosses 1. Everything here is live — drag the sliders and watch the outbreak respond.
New infections are made by old infections — scaled by R(t)
Infections are not independent. Each new case was infected by someone who is already infectious. The renewal equation writes this down directly: the expected number of new infections on day t is the reproduction number times a weighted sum of recent infections, where the weights are the generation interval g(s) — the distribution of times between an infector being infected and them infecting someone else:
Read it piece by piece:
This is more general than the basic reproduction number R0 (secondary infections in a fully susceptible population) and includes the simple SIR model as a special case — there R(t) = R0 S/N, falling as susceptibles are depleted.
Today's cases = R × a weighted sum of recent cases
The renewal equation is the same convolution as turning infections into onsets — except the series convolves with itself: each day's cases are built from the recent days' cases, weighted by the generation interval g(s) and scaled by R. Step a day forward and watch its bar get assembled from the ones before it.
R says how many; the generation interval says how fast
Apply a step change to R(t) — from an initial R0 down or up to a later R1 on a chosen day (think of an intervention, with an optional smooth transition). The epidemic is seeded with a handful of infections, then the renewal recursion I(t) = R(t)·Σs I(t−s) g(s) runs forward for 120 days using the generation interval set right here.
Three panels share the day axis. The top is R(t), with a slate dashed line at R = 1. The middle is incidence I(t) (toggle a log axis to see the straight-line exponential phases). The bottom is the realised per-day growth rate r(t) = ln(I(t)/I(t−1)). The two purple dashed lines mark the equilibrium growth rates r0 and r1 that R0 and R1 imply through the Euler–Lotka relation. Watch the key thing: when R steps, r(t) does not jump — it glides from r0 to r1 over roughly one generation interval.
One R, many growth rates — the generation interval decides which
R and the per-day growth rate r are two views of the same exponential phase, related through the generation interval by the Euler–Lotka equation. For a constant R the asymptotic growth rate solves
The right-hand side decreases monotonically in r, so each R maps to exactly one growth rate (and back). The curve below plots that map for the current generation interval. The two dots are the operating points from the step above: (R0, r0) and (R1, r1). Now slide the generation-interval mean: the whole curve shifts, so the same R slides to a different r — and the same observed r implies a different R. R alone does not pin down the growth rate.