The Shape of COVID
Tags: Data Science, Lockdown, Data Vizualisation, Covid 19

It is not uncommon in research, to start down one road, with the kernel of an idea, only to take a detour that leads to a much more interesting destination, usually after a few wrong-turns and dead-ends. This was the case for this work, and what began as narrow investigation of virus transmission rates, led to a new way to visualise, analyse and compare how countries have responded to the pandemic. I’d like to describe the results of this journey in this article, and the key points can be summaries as follows:

I describe a new metric to measure transmission rates, which is related to the well-known R number, but is more straightforward to calculate. I present a novel way to visualise the response of countries to the pandemic, and the effect of their response on key outcomes such as prevalence, transmission, and fatalities. I argue that these visualisations reveal two distinctive response patterns, which are associated with very different outcomes across a sample of 36 countries.

On Prevalence & Transmission

Prevalence refers to the number of currently active cases — strictly speaking, it’s the number of current infections but we are working with data about confirmed cases rather than true infections — which, in the case of COVID-19, is estimated to be the sum of new cases over the previous 14 days. This prevalence metric has been used in recent reporting on COVID numbers because it is well suited to the current situation, where daily cases are much lower than previous highs.

As I was thinking about the relationship between new cases and prevalence it occurred to me that the ratio between new cases today, and prevalence from a few days ago, was an interesting and informative measure. Today’s new cases are the result of an infection event from a few days previously – let’s assume an average of 7 days previously – and therefore, the number of new cases today, as a fraction of prevalence 7 days ago, is a rough approximation for the average number of transmissions per case from that time. For example, if there were 1,000 cases 7 days ago and 100 new cases today, then this fraction, which we call the transmission ratio, is 0.1; in other words, 10% of cases from a week ago led to new confirmed cases today. In retrospect, I think this estimate of a 7-day lag is probably too short and 10–12 days might be more accurate. However, the results presenetd here do not materially change when the lag is increased in this way.

If this sounds familiar, it’s probably because it is: the transmission ratio is related to the now well-known reproduction number (the R number) of the virus, which is defined as the average number of new people that an infected person goes on to infect.

So why do we need a new measure? Why not just use R? Simply put, one of the problems with R is that it is complicated to calculate, as least for me, whereas the transmission ratio is more straightforward to compute and intuitive, which makes it a more agile metric for gaining early insights into transmission.

The chart above shows an example of prevalence and the transmission ratio for Ireland, from April 1st to the time of writing. We can see how prevalence peaked around April 25th at just over 207 cases per 100,000 people, before declining steadily in the months that followed, at least until cases began to grow again in late July and August. Notice how the transmission ratio was in decline through most of April: even though case numbers were still growing, their rate of growth was slowing, and the transmission ratio captures this. The transmission ratio declined steadily until early May and prevalence followed suit. In late June the transmission ratio started to increase again, and by late July prevalence was also on the rise. More recently, the transmission ratio peaked in early August and has been falling since; this should mean that prevalence is beginning to stabilise in Ireland.

The proposal is that the transmission ratio is useful as a leading indicator of changes in daily cases and prevalence. This relationship is evident above in EU countries. For example, in Belgium, the Netherlands, the Czech Republic, and Luxembourg, the transmission ratio spiked during the summer before a period of prevalence growth, and then declined ahead of falling prevalence. This is the type of behaviour expected from an R-like metric, but with the advantage that the transmission ratio is more straightforward to calculate from confirmed cases.

As is the case with R, the transmission ratio is sensitive to low numbers of cases, and in such situations, its direction of movement may be a more useful guide than its point value. For example, there was a very large transmission spike in Malta in late July, as cases grew from a near-zero baseline, and we can see a similar effect in Croatia in June. Still, for both countries, the transmission ratio spike preceded a spike in prevalence.

Tracing the Evolution of an Outbreak

This relationship between prevalence and transmission is an interesting one to explore further. The animation below shows how the prevalence and transmission ratio values change over time for a selection of 36 countries. The size of the country marker is proportional to the sum of the last two weeks of deaths per 100,000 of population in that country (recent deaths). A larger, interactive version of this visualisation is available here if you wish to explore it in more depth.

For now, there are a few initial takeaways, which may be clear after watching the animation for a few moments:

Many countries appear to follow a similar clockwise trajectory as they move from the high transmission/low prevalence quadrant (top-left) through to high transmission/high prevalence (top-right), before transmission begins to drop (low transmission/high prevalence, lower-right) and until prevalence also starts to fall (low transmission/low prevalence, lower-left). For many countries this trajectory repeats. Most European countries begin a second cycle in July, while someothers (e.g. the US, Brazil, Peru, Mexico) appear to be stuck in a region of high prevalence, at least for now. The death rates peak in most countries during April and May and then fall significantly during the summer; we can see thuis in the way that the markers grow and then shrink for most countries. And even when these countries return to a high transmission/high prevalence state, their death rates remain low. There are other countries however — such as those that are stuck in high prevalence limbo — where death rates have remained high throughout their outbreak (e.g., the US) or where deaths have been steadily increasing during the summer (e.g., Brazil, Peru, Mexico).

Types of Outbreak Patterns

The chart below illustrates the path traced by Ireland through its outbreak, as per the above animation. Beginning in March (1) unchecked transmission led to rapidly growing prevalence. As prevalence increased and lockdown was imposed, then the transmission ratio began to fall (2), and the prevalence of the virus stabilised (3) in May. Sustained reductions in transmission gradually led to a falling cases and prevalence reduced significantly (4) in June. As lockdown measures were eased transmission rates began to grow again in July (5), and soon prevalence also started to increase (6), leading to the beginning of a new (tighter) cycle.

We refer to the shape of this trace as a spiral or S-type pattern. It turns out to be a common outbreak pattern, indicative of an initial strong and sustained intervention that reverses the course of the virus, at least for a time, followed by a gradual easing of restrictions.

The charts below show a modified version of this visualisation for Ireland and Germany — Germany also experienced an S-type outbreak — and the trace has been enhanced to show the recent deaths (total deaths per 100k over the previous 14 days) as colour-coded markers. The size and colour of these markers are proportional to this recent death rate, and it is clear how, in Ireland and Germany, the majority of deaths occurred during April and May, with Ireland suffering a significantly higher death toll than Germany (36 deaths per 100k vs Germany’s 11 deaths per 100k).