The first quarter of 2020 is undoubtedly a bad continuation of December 2019 for the globe. Under various severe lockdown in China, the Coronavirus finally escaped and swept the world …

The picture below is a live update of the daily increase of Covid19 patient numbers in different countries (please lay the phone horizontally for a better view). The vertical axis here represents the moving average of seven days (today, three days before and after). Why use the moving average? Because the data update time varies from place to place, occasional delays can cause inaccuracies. Moreover, the diagnosis of the patient is still not accurate, after all, most people are isolated at home. The speed of outbreaks varies from place to place. Here, we assume that when the daily increase of cases exceeds 30, it is the beginning of a full outbreak. The horizontal axis in the figure below shows the number of days after a full outbreak.

This is what it looks like by dividing the population size.

The Covid19 is a terrible infectious disease, the infection rate is very high! Scientists usually use R0 (basic infection number) to reflect the severity of infectious diseases. In layman’s terms, R0 measures how many people a person gets sick. Here, we tell a little story, there was once an Indian guy bet with a king who loves chess, requests rice from the King with a simple counting strategy, he said: I do n’t want much. Put one in the first grid of the chessboard and two in the second grid. Each grid after that is twice the size of the previous grid. That ’s all. . The king thought to himself, it’s only a chess board, so he readily agreed. The twist of the story is the end when the king realized this was a trick, and the entire country will soon loose all its rice to this guy. Someone has done calculations, and the last rice required is 18,446,744,073,709,551,615 grains, which is enough for people all over the world to eat for hundreds of years.

Connect this story with the covid pandamic situation. If one person transmits one person a day, there is no need to go through the whole chess board and every single person on this planet will become sick. When the R0 value is less than 1, the infectious disease is controllable, but it is currently known that the R0 of the Coronavirus is greater than 1.

Thanks to Financial Times and John Burn-Murdoch for the ideas.

Appendix


data = read_csv("covid19.csv", col_types = cols(dateRep = col_date(format = "%d/%m/%Y"))) %>%
       group_by(., countriesAndTerritories) %>%
       mutate(., total_case = sum(cases)) %>%
       mutate(., from_day0 = as.numeric(dateRep - min(dateRep, na.rm=T))) %>%
       arrange(., countriesAndTerritories, from_day0) %>%
       mutate(., cumsum = cumsum(cases)) %>%
       mutate(., ma = rollapply(cases, 7, mean, align='right', fill=list("extend", NA))) %>%
       ungroup

first_date_over_30_country = data %>% group_by(., countriesAndTerritories) %>%
    filter(., ma > 30) %>%
    mutate(., first_date_over_30 = min(dateRep, na.rm = T)) %>%
    select(., countriesAndTerritories, first_date_over_30) %>% unique

working_data = data %>%
               left_join(., first_date_over_30_country, by = "countriesAndTerritories") %>%
               filter(., !is.na(first_date_over_30)) %>%
               group_by (countriesAndTerritories) %>%
               filter(., dateRep >= first_date_over_30) %>%
               mutate(., days = as.numeric(dateRep-first_date_over_30)) %>%
               filter(., total_case > 1000) %>% ungroup