Visualization of Covid-19 confirmed cases

Please report any bugs as issues at Github, or contribute with pull requests!
The CSSE data set currently changes its structure; the visualization of US states has been disabled until CSSE fixes the state level data sets.
Disclaimer: This visualization is for research and educational purposes only and is not intended to be a tool for decision-making. There are many uncertainties and debates about the details of COVID-19 infection and case numbers. Please read the section "Putting these numbers in context" below.

Data source:

Target variable:

* 100,000 x (cumulative cases / population)

** 100,000 x (cumulative deaths / population)

Exponential fit:

The exponential curve is not an epidemiological model (although in early stages an epidemic can show exponential growth). Importantly, the projection of the exponential curve is not a proper epidemiological forecast of the development.

Using the two sliders, you can manually adjust the reference line.

Intercept and exponential growth rate are estimated from all data in the plot which is in the date range indicated by the slider above. This is mostly useful when only a single country is selected. When multiple countries are selected, the average growth rate is estimated.

Reference lines (doubling every X days)

Alignment:

State selection:

Display options:


Putting these numbers in context

  • The numbers are confirmed cases after testing. There presumably is a huge rate of undetected cases. One paper published in Science magazine estimates that 86% of all infections were undocumented (Li et al., 2020)
  • Between-country comparisons of absolute numbers are difficult as there are huge differences in the amount of testing. (Countries that test more get more confirmed cases, at least unless all cases are detected. Countries that do not test at all have no reported cases at all.)
  • If testing practices do not change within a country (which is a big IF), temporal within-country comparisons can be considered valid.
    • That also means: If countries slow down testing after/during an intervention, it looks like as if the intervention is effective.
  • Between-country comparisons of deaths and death rates are also problematic. For example, Germany does not do/ does less post-mortem testing for Covid-19, while Italy [citation needed] and USA seem to do that. This might explain the huge differences in death rates between Germany, Italy, and other countries.
  • There are huge differences between countries in who gets tested. Some test only severe case, some test random samples of people (also without symptoms). In the former case, calculated death rates are much higher due to selection bias.
  • Related to the previous point: Case-fatality risks (i.e., "How many of the sick people die?") are notoriously hard to calculate and prone to many biases (Lipsitch et al., 2015).
  • Demographics differ between countries / affected regions. It has been argued that Italy has been hit hard because it has a comparably old population (in particular the affected regions).
  • The exponential curve which you can fit to the data is not an epidemiological model (although in early stages an epidemic can show exponential growth). Importantly, the projection of the exponential curve is not a proper epidemiological forecast of the development. For a more refined simulation based on the SIR model, see this interactive app.

Other sources of such considerations:

Several Twitter threads warn against specific Corona visualizations (which seem to contain errors), or against visualizing this data at all, or that only experts in epidemiology should do such visualizations:

This visualization is inspired by a figure from the Financial Times, created by John Burn-Murdoch.
Data sources for Covid-19 cases : European Centre for Disease Prevention and Control and Johns Hopkins CSSE (both are updated daily)
Data sources for country population: The World Bank data

2020. Contributors: Felix Schönbrodt, Angelika Stefan, Philipp Zumstein, Paul A. Bloom
Open source code on Github: https://github.com/nicebread/corona