On March 16th Neil Ferguson’s team published “Report 9” which changed government policy and triggered a “lockdown” a week later. The results of his simulation showed that the number of COVID patients would soon overwhelm the ~4000 ICU bed capacity in the NHS. The code that produced his results has now been made available and I have spent the last few days struggling to get it working. Here are the first results I get after running Ferguson’s “Report 9″model.
and in yet more detail.
I was surprised to see the date of the peak predicted by the model because in reality the epidemic occurred about a month earlier (starting March 1). So it looks like Ferguson originally thought that we had much more time to prepare for this emergency than in reality we did have.
The main impact of this report were the measures he proposed to suppress the epidemic thereby avoiding “overwhelming the NHS” and “save lives”. I have spent the last 3 days struggling to get his code working and it has been a bit of a nightmare. The released procedure as was published on GITHUB could only really be run on a supercomputer, while instead I have an iMac! There are 4 types of suppression interventions.
- PC – School and University closures, restaurants, bars, non-essential shops etc.
- CI – case isolation (7 days)
- HQ – Household quarantine (14 days)
- SD – Social distancing (at various levels)
The newly released “report9” process proposes to run the Covid-Sim model 10 times (multi-threaded) and then take the average. (The main reason to run it 10 times is because you get slightly different values each time). In addition to this there are an additional 45 combinations of intervention strength and 4 different values of R0 (2.0, 2.2, 2.4, 2.6 ) to run. This makes a grand total of 180 CovidSim batch jobs, which is equivalent to 1800 single threaded runs! This can only really be run on a supercomputer. The full suite of combinations is basically impossible to run on my iMAC. So instead I decided to restrict all my combinations to a single run (instead of 10) and to use only R0=2.4 because this was used in his original paper. This produces a more reasonable set of 60 sequential runs which still took me about 2 days to finally finish while getting a headache. Here are the results I get for one typical 4 level intervention scenario, more or less corresponding to those shown in report 9.
The full lockdown measure finally adopted is shown in green resulting in a smaller peak in deaths after about 28 days followed by a long tail. So how do these prediction compare to what actually happened in reality. UK lockdown measures were introduced on March 23rd a month earlier than envisaged above. Here are the daily deaths in hospitals (excluding care homes) as reported by the NHS.
This indeed shows the same shape but twice as many deaths occurred than expected, yet at no time were ICU beds overwhelmed. The outbreak occurred a month earlier than Ferguson predicted. This seems to be because there were far more infections in the community than were originally thought. It is now estimated that R0 was actually 3 instead of 2.4.
Hindsight is a wonderful thing, but it seems pretty clear that the UK should probably have locked down a week earlier, and as a result total deaths probably would have been halved.