The mathematics of lockdowns

During the pandemic the death rate per 100,000 of population has varied widely between countries. For example at the time of writing the UK's rate is 72.51 while Germany's is 13.40, a factor of 5 smaller despite the two countries being superficially similar in other ways (, snapshot at time of writing:

There are obviously many things that the UK and Germany did differently but the media have particularly focused on the fact that Germany locked down earlier than the UK. Coronavirus was first confirmed in Germany on January 27 and they locked down on March 13, a period of 46 days, whereas the first two cases in the UK were confirmed on January 31 and lockdown began on March 23, a period of 52 days, six days later than in Germany.

This doesn't seem like a huge difference. Could it really be that locking down a mere six days earlier could have reduced the UK's death rate by four fifths? This article attempts to answer this question. To do so requires only simple school-level maths.

Growth and decline

Let \(\dot{n}\) be the rate of infection, i.e. the number of new infections per day. If nothing is done to prevent transmission \(\dot{n}\) will grow exponentially according to Equation \eqref{eq:initial_exponential_growth}:

\[ \begin{equation}\label{eq:initial_exponential_growth} \dot{n}(t) = \dot{n}(t_0) e^{a \left( t – t_0\right)} \end{equation} \]

If at time \(t_\mathrm{start}\) we introduce measures to reduce transmission, such as a lockdown, then hopefully \(\dot{n}\) will stop growing and start to decline. Assuming that the decline is also exponential, then:

\[ \begin{equation}\label{eq:exponential_decline} \dot{n}(t) = \dot{n}(t_\mathrm{start}) e^{-b \left( t – t_\mathrm{start} \right) } \end{equation} \]


\[ \begin{equation}\label{eq:time_to_tstart} \dot{n}(t_\mathrm{start}) = \dot{n}(t_0) e^{a \left( t_\mathrm{start} – t_0\right) } \end{equation} \]

Combining Equations \eqref{eq:initial_exponential_growth}, \eqref{eq:exponential_decline} and \eqref{eq:time_to_tstart} gives:

\[ \begin{equation}\label{eq:infection_rate_time} \dot{n}(t) = \begin{cases} \dot{n}(t_0) e^{a \left( t – t_0\right) } &: t < t_\mathrm{start}\\ \dot{n}(t_0) e^{a \left( t_\mathrm{start} - t_0\right) -b \left( t - t_\mathrm{start} \right) } &: t \geqslant t_\mathrm{start} \end{cases} \end{equation} \] The curve represented by Equation \eqref{eq:infection_rate_time} looks like:
Figure 1. Function given by Equation \eqref{eq:infection_rate_time} with \(a = 0.25\), \(\dot{n}_0 = 1\), \(b =0.043\) and \(t_\text{start} = 52\) days at which time \(\dot{n} = 442413\)


1 UK

Figure 4 shows data on UK deaths downloaded from on 7 November 2020. It is better to use data on deaths rather than infections because the latter are of poor quality. Deaths are a specific fraction of infections, estimated to be 1.15% for high-income countries and 0.23% for low income countries. I'm not sure which category the UK falls into.

Figure 2. UK Deaths within 28 days of positive test by date of death (from

In Figure 4 the upward slope at the start of the ‘second wave’ is shallower than at the start of the first wave. This must be because restrictions were only partially eased at the ‘end’ of the national lockdown.

To estimate the exponential coefficients \(a\) and \(b\) it is necessary to plot the data on a logarithmic axis. Figure 5 shows a plot of the same data with the vertical axis showing \( \ln (\dot{n}) \) and the horizontal axis showing the number of days since 28 February 2020. It also shows two linear least squares best fit straight lines.

Figure 3. Natural logarithm of UK Deaths within 28 days of positive test by date of death against number of days since 28 February.

It is clear from Figure 5 that nowhere is the curve straight, meaning that growth and decline are not strictly exponential. The red line is fitted to a subset of the data between 28 February and 25 March and the blue line is fitted to a subset between 30 April and 30 June. These subsets were chosen arbitrarily to make the lines look good although, of course, no subset of the data is straight enough to give a really good fit to a straight line. They are, however, close enough for practical purposes. The slope of the red line is 0.2548053 and that of the blue line is -0.04337337, which is where the values of \(a\) and \(b\) in Figure 1 are from.

0.2548053 / 0.04337337 = 5.8747, which means that the speed with which the death rate came down was only one sixth as fast as it went up. This seems very slow.

2 Germany

I have not been able to find official data on any German government website. The only ones I have been able to find are on the World Health Organisation site This has a downloadable csv file containing data for all countries. Figures 4 and 5 show data from the WHO dataset downloaded on 7 November 2020 filtered for country code ‘DE’.

Figure 4.

These data appear much noisier than the UK ones. Maybe if I had been able to find data direct from the German government they might have been better. It is interesting to observe that the peak death rate in the German data is roughly 300 per day, whereas in the UK data it was over 1000.

Figure 5.

In Figure 5 the least-squares lines are fitted over the same date ranges as in Figure 4. The gradient of the upward-sloping red line, \(a\), is 0.2273 and that of the downward-sloping blue line, \(-b\), is -0.04891. These numbers are surprisingly close to the UK values, though the value of \(a\) is slightly lower and \(b\) slightly higher. This may imply that in Germany the growth phase was slightly slower and the decline phase slightly faster but given the crudity of the calculations and the high degree of scatter in the data it is not valid to draw firm conclusions.

Cumulative number of infections

The total number of infections occurring over a period of time, starting at \(t_0\) and ending at \(t\) is the integral under the curve defined by Equation \eqref{eq:infection_rate_time}. That is:

\[ \begin{equation}\label{eq:total_number_of_infections_over_complete_cycle} n(t_0, t) = \int_{t_0}^{t} \dot{n}(t) dt \end{equation} \]

This evaluates to:

\[ \begin{equation}\label{eq:combined_cumulative_infections} n(t_0, t) = \begin{cases} \dot{n}(t_0) \dfrac{1}{a} \left( e^{a(t – t_0)} – 1\right) &: t < t_\mathrm{start} \\[12pt] \dot{n}(t_0) \left[ \left( \dfrac{1}{a} + \dfrac{1}{b}\right) e^{a(t_\mathrm{start} - t_0)} - \dfrac{1}{a} - \dfrac{ e^{a \left( t_\mathrm{start} - t_0\right) -b(t - t_\mathrm{start})}}{b} \right] &: t \geqslant t_\mathrm{start} \end{cases} \end{equation} \]

Figure 6 shows what this function looks like.

Figure 6. The function defined by Equation \eqref{eq:combined_cumulative_infections}

Figure 7 shows cumulative deaths for the UK and Germany plotted on the same graph.

Figure 7.

I have chosen 31 July 2020 as the date to compare the two death counts, as this is on the flat part of the curve after the end of the first wave but before the start of the second. At this date the UK death count is 41,255 and German one is 9,141. The UK:DE ratio is 4.513182. The elapsed time between the date at which the first case in Germany was found (27/01/20) and the date at which we are comaring cumulative deaths (31/07/20) is 186 days.

Figure 8 shows two plots of the function defined by Equation \eqref{eq:combined_cumulative_infections}. The blue line shows the ‘base case’ in which \( a = 0.25\), \(b = 0.043\), \(t_0 = 0.0\) and \(t_{start} = 52.0\). The red curve shows a modified case in which \(a\), \(b\) and \(t_0\) are the same while \(t_{start} = 46.0\).

Figure 8.

The cumulative number of infections at t = 186 days are:

Base case (blue curve) 12,025,977
Modified case (red curve) 2,684,996
Ratio 4.478954

The base case : modified ratio from Figure 8 therefore agrees remarkably well with the UK:DE ratio from Figure 7, both values being 4.5 to 2 significant figures. If you are still sceptical and think I must have made a mistake somewhere, look at Figure 9. This shows the infection rate, \(\dot{n}\), for the same two cases. The area under the blue curve does look like it is 4.5 times the area under the red curve.

Figure 9.

An interesting observation about these data is that if the number of infections in the UK is indeed 12,025,977 and the deaths 41,255 then the fatality rate would be 0.34% rather than the 1.15% official estimate. This must mean that in the real world there were fewer infections than given by Figure 8. This may be due to uncertainty in the values of \(a\) and \(b\), small differences in which could lead to big differences in \(n\). It does not, however, affect the main conclusion, which is that:

All else being equal, bringing forward the start of lockdown by 6 days would indeed have been sufficient to reduce the UK's death count at the end of the first wave by a factor of 4.5.

This does not, of course, prove that this is the reason why Germany's death rate was roughly the same factor smaller than the UK's, but it does show that this explanation cannot be rejected.

This surprising result is a consequence of the behaviour of the exponential function. When you are dealing with exponential growth, small differences in inputs can cause very big differences in outputs. As the physicist Albert Allen Bartlett once said:

‘The greatest shortcoming of the human race is our inability to understand the exponential function.’

Acknowledgements: Figures 1, 6, 8 and 9 and associated calculations were done using GNU Octave and Figures 2, 3, 4, 5 and 7 and associated calculations were done using R.

© Copyright 2020 Howard J. Rudd all rights reserved.