key: cord-0277292-b17pwg1x authors: Prada Salcedo, J. P.; Maag, L. E.; Siegmund, L.; Bencurova, E.; Chunguang, L.; Koutsilieri, E.; Dandekar, T.; Scheller, C. title: Estimation of R0 for the spread of SARS-CoV-2 in Germany from Excess Mortality date: 2021-11-15 journal: nan DOI: 10.1101/2021.11.14.21266295 sha: ad926bca70c0c1c41d50444ac9cca9d4fec05f5f doc_id: 277292 cord_uid: b17pwg1x For SARS-CoV-2, R0 calculations report usually 2-3, biased by PCR testing increases. Covid-19-induced excess mortality is less biased. We used data from Robert Koch Institute on Covid incidence, deaths, and PCR tests and excess mortality to determine early, policy-free R0 estimates with a serial interval of 4.7 days. The PCR-based R0 value was 2.56 (95% CI 2.52-2.60) for Covid-19 cases and 2.03 (95%CI 1.96-2.10) for Covid-19-related deaths. As the number of PCR tests increased, R0 values were corrected accordingly, yielding 1.86 for Covid-19 cases and 1.47 for Covid-19 deaths, excess deaths were 1.34 (95% CI 1.32-1.37). R0 is much lower than previously thought. This fits the observed seasonal pattern of infection across Europe in 2020-2021, including emergence of more contagious escape variants such as delta. To calculate excess mortality per calendar week, the number of weekly deaths 14 in 2020 was subtracted from the mean of weekly deaths in 2016-2019. For calculation of "adjusted excess deaths", the excess mortality in calendar week 10 was tared to 0 in all age groups and the values of the following calendar weeks were adjusted accordingly. R0 was determined using the R package from Obadia et al. 16 in R version 3.60. We selected the exponential growth method of the package for calculation of R0. The mean serial interval (average time between successive infection cases) was simulated following a gamma distribution with mean equal to 4.7 (SD 2.9) 17 . Weekly incidence values of excess mortality were converted to simulated daily incidence values using a gamma distribution. The R-script can be downloaded from the supplementary material S2. The governments of Germany and its states have taken several measures to contain the SARS-CoV-2 epidemic in Germany in early 2020, including canceling mass events (implemented March 9), closing schools (implemented March 16), closing stores (except grocery stores and pharmacies) and implementing social distancing rules prohibiting personal contact outside the family (implemented March 23) (Fig. 1A) . All of these measures, as well as widespread media coverage of the SARS-CoV-2 epidemic in Germany, likely had an impact on the spread of SARS-CoV-2. Therefore, to estimate the value of R0 in Germany, it is imperative to include only data from time points that either predate the implementation of these measures or from time points when these measures could not yet have had an impact on the observed parameter used to calculate R0. As shown in Fig. 1A , people in Germany started to reduce their mobility from March 12, i.e., even a few days earlier than social distancing was officially introduced. Because the incubation period between SARS-CoV-2 infection and the onset of Covid-19 symptoms is on average 5-6 days 8 , behavioral changes can lead to an impact on the number of disease cases no earlier than 5-6 days later. For our R0 calculations, we were therefore able to use incidence data of Covid-19 disease cases up to and including March 15 (calendar week 12) without risking that behavioral changes may have had an impact on the R value determined (Fig. 2C) . The German Robert Koch Institute (RKI) provides different epidemiological datasets that can be used for calculations of R0 of SARS-CoV-2 such as daily numbers of detected cases and daily numbers of CoViD-19-related deaths. We fitted the data to a gamma distribution and determined the difference between the peaks of the curves. The mean time between the occurrence of Covid-19 disease cases and Covid-19-related deaths was 25 days (Fig. 1B) . Covid-19-related deaths can therefore be used for the determination of R0 at significantly later time points than the occurrence of Covid-19 disease cases without risking of compromising the R0 value by behavioral changes. Therefore, to determine R0 from reported Covid-19 deaths (as well as from Covid-19-related excess mortality), we used records up to and including April 11 (calendar week 15) (Fig. 2C ). In the initial phase of the pandemic, testing capacities were significantly smaller than the actual number of infections. The steep rise in the number of reported cases during this period might therefore also due in significant part to the sharp increase in the number of SARS-CoV-2 PCR test performed. For our calculations of R0, we use incidence data up to and including calendar week 12 for Covid-19 disease cases and up to and including calendar week 15 for Covid-19 deaths. While data for the number of tests performed are not available for the period before calendar week 11, the RKI provides at least the number of tests performed from week 11 onwards 13 . As depicted in fig. 2A , a significant increase in the number of tests performed can be observed in the calendar weeks 11 to 13. To determine what impact this increase in testing numbers had on reported Covid-19 incidences, we determined the growth rate of testing during this period. The growth rate of testing yields an "R0 of tests" of 1.38 ( Fig. 2A) , meaning that even if the number of infections remained constant during this period of time, an apparent increase of 1.38 in R0 would be observed. It follows that R0 values from incidence figures must be corrected by this factor. From the raw incidence data, we obtain an R0 of 2.56 for Covid-19 disease cases and an R0 of 2.03 for Covid-19 death cases (Fig. 2B) . However, these values must still be corrected for the growth rate of testing (R0corrected = R0uncorrected/"R0 of tests"), resulting in a corrected R0 of 1.86 for Covid-19 disease cases and an R0 of 1.47 for Covid-19-death cases. The R0 value derived from deaths is slightly lower than the R0 value determined from Covid-19 incidence values. This may be due to the fact that in the initial phase of the pandemic, severely ill cases (and thus individuals at higher risk of death) were preferentially tested, while milder and asymptomatic cases were increasingly included in testing as the testing capacity expanded. Such a change in testing strategy inevitably introduces a bias toward higher R0 values when calculated from Covid-19 incidence data compared with Covid-19 death data. However, even if we correct the incidence values for test capacity dynamics, this way of determining R0 still remains subject to many uncertainties: First, the exact numbers of tests performed in the first weeks of the pandemic were not collected for Germany, so that an accurate estimate of the dynamics of testing capacity is not possible. Second, the incidence data do not come from representative samples in the general population, but mainly from symptomatic patients and persons with whom they came into contact. Therefore, this dataset contains a disproportionate number of infections from nursing homes and hospitals, where symptomatic infections are overrepresented and where transmission probabilities are most likely different from what would be expected in the general population. Therefore, the R0 values calculated above are unlikely to be representative of the spread of the virus in the general population. All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; Data reported by the RKI for the number of performed SARA-CoV-2 PCR-tests. B: Data reported by the RKI for Covid-19-cases (blue symbols, left y-axis) and Covid-19 related deaths (red symbols, right y-axis). A, B: Date were fitted to an exponential growth curve with a serial interval of 4.7 (SD 2.9) to calculate R0. Dotted lines in B represent the dates for All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; https://doi.org/10.1101/2021.11.14.21266295 doi: medRxiv preprint political interventions (03/09/2020 cancellation of mass events, 03/16/2020 closing of schools, 03/23/2020 closing of shops and social distancing). Dark blue and dark red symbols represent data points that were considered for the determination of R0, light blue and light red symbols represent later data points that were not considered for the calculation. To address this problem, we also determined R0 based on excess mortality data in Germany during early 2020. The Federal Statistical Office of Germany lists all deaths that occur in Germany, regardless of their cause 14 . Because SARS-CoV-2 infection has led to increased excess mortality in many countries, these data can be used as surrogate markers for the spread of SARS-CoV-2 infections. And because excess mortality is independent of the number or strategy of SARS-CoV-2 testing, it provides a representative picture for the spread of infections in the general population. Figure 3A shows the incidence of deaths with confirmed SARS-CoV-2 infection. The data set shown here is the same as that in Figure 2B , but this time as weekly incidence and subdivided into different age groups. The (uncorrected) R0 value here is 1.95, similar to 2.03 from figure 2B. From this figure, it can be seen that the peak of Covid-19 related mortality is between calendar week 10 and 20. Figure 3B shows excess mortality (in relation to average weekly deaths in 2016-2019) in the different age groups, and one can see a parallel trend to the confirmed Covid-related deaths between calendar weeks 10 and 20. Based on the respective values of calendar week 10, from which an increase in excess mortality is observed in all Covid-19 relevant age groups, we plotted the change in all values in Figure 3C . From this adjusted excess mortality, we obtained an R0 of 1.34 (95% CI 1.32-1.37) for the sum of all age groups for the spread of SARS-CoV-2 in the general population in Germany. Covid-19 related deaths as weekly incidence in different age groups. B: Excess deaths in 2020 in different age groups based on comparison with average weekly deaths in 2016-2019. C: Excess deaths presented in B, but adjusted to 0 for week 10 in each age group, so that relative changes related to Covid-19 become better visible. Due to the lack of representative measurements, Covid-19 related excess mortality is the only infection parameter that is free from bias due to changes in testing strategy or testing numbers. However, excess mortality data are subject to other confounding factors that may have an impact on the calculation of R0: The Covid-19 pandemic reached Germany at a time when seasonal influenza activity in Germany was already subsiding (see Fig. 4C ). Influenza-related excess mortality and Covid-19 related excess mortality are therefore superimposed in the total excess mortality data sets. If influenza mortality had been significantly elevated in 2020 compared with previous years (2016-2019), this could mask Covid-19 related effects, particularly if influenza mortality rates that were already falling again coincided with an incipient increase in Covid-19 mortality rates. However, a look at mortality in previous years shows that influenza-related mortality in Germany in 2020 was significantly lower compared with previous years because of the two exceptionally strong influenza years 2017 and 2018 (Fig. 4A) . As a result, under-mortality was observed in Germany in calendar weeks 10-14 compared with previous years, rather than excess-mortality (Fig. 4B) . Thus, if there was an effect of influenza-related deaths on the calculation of R0 for Covid-19 infections, it was one that resulted in an overestimate of R0 rather than an underestimate. Thus, the R0 calculated here for R0 of SARS-CoV-2 of 1.34 (95% CI 1.32-1.37) should be regarded as a maximum value, whereas the actual R0 of SARS-CoV-2 infections in Germany is likely to be even lower. All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; https://doi.org/10.1101/2021.11.14.21266295 doi: medRxiv preprint The early SARS-CoV-2 infection spread in Germany with an R0 of 1.34 (95% CI 1.32-1.37). This value is much lower than what had been expected based on R0 determinations from the literature, where values between 2-3 became consensus 7, 8 . Although the German RKI has not published an R0 estimation for Germany, it provided daily estimations of R based on a fourday-period. These daily R values during the first two weeks of March 2020 were in the range of 2.2-3.2 18 . Based on the reporting data for positive PCR results from the "our world in data" database of Oxford University, an R0 of 3.37 was determined for Germany 19 , but these calculations used PCR reporting data rather than data for Covid-19 disease cases and therefore are not fully comparable with the calculations from the RKI. The discrepancies between these high values and the rather low R0 estimates in our manuscript are primarily due to the fact that in these earlier estimations the R0 values were not corrected by a factor accounting for the substantial increase in test capacity during this period. If we use our uncorrected R0 estimate based on Covid-19 case numbers for comparison (R0 = 2.56, Fig. 2B ), it is in the same order of magnitude as the values calculated by the RKI. A high R0 of the order of 3 would likely have resulted in a lack of seasonal progression, as a seasonal effect was estimated to reduce R0 by only 40% based on observations in endemic coronaviruses 3 . Accordingly, health authorities expected an unrestrained spread of the virus for Germany, whereupon a series of policy measures were adopted aiming to actively reduce the incidence of infection. In retrospect, however, a clearly seasonal occurrence is evident not only for Germany, but also for all other countries in temperate climates, in particular also for Sweden, where hardly any measures have been taken to contain the spread of SARS-CoV-2 in the general population 12 . The seasonal effect on R0 can be approximated as a sinusoidal pattern with a maximum in January as the coldest month in Germany and a minimum in July as the warmest month, with an approximate 40% reduction in July compared to January 3 (Fig. 5, dotted line) . As our calculation of R0 was based on the infection situation in March 2020, it can be expected that the R0 value determined in this way is about 20% lower than the maximum value that would be reached in January if the pandemic would have reached Germany earlier. According to this model, R0 determined in March with a value of R0March = 1.34 would reach its maximum in January with a value of R0January = 1.68 and fall to a minimum of R0July = 1.01 in July (Fig. 5A) . Herd immunity is dependent on R0 (herd immunity = (1-1/R0)), and therefore also fluctuates seasonally. Thus, herd immunity against the original SARS-CoV-2 strain would oscillate between 40% in January and below 1% in July (Fig. 5B ). This explains why the number of SARS-CoV-2 infections in summer 2020 not only declined again in "lockdown" countries such as Germany (and remained low in these countries even after the suspension of policy measures during the summer), but also why the same seasonal pattern was observed in countries with little or no countermeasures against SARS-CoV-2 12 . With a seasonal increase in the threshold of herd immunity, the following winter (2020/2021) fueled again the spread of SARS-CoV-2 Germany, until infection numbers dropped again in spring 2021. At this time, about 3.8 million SARS-CoV-2 infections have been reported to the RKI, corresponding to 4.5% of the population (May 2021) 20 and a serological survey of blood donors revealed a serological positive rate of 14% in April 2021 21 , showing a substantial underestimation of SARS-CoV-2 infections from PCR-data alone. Together with the enrollment of the Covid-vaccine campaign, immunity in the German population has reached up to 40% by end of May 2021, and that coincided with the emergence of the delta variant, which can now be interpreted as an escape variant that overcame the 40% herd immunity restrictions of the original SARS-CoV-2 strains by higher contagiousness (and therefore also a higher R0). Since the population in Germany was no longer naïve towards SARS-CoV-2 during summer of 2021 when the delta variant began its expansion in Germany, it is not possible to determine an R0 for this variant. However, the RKI calculates daily Re values based on a 7-day period for Germany, and the values for the delta variant reached 1.3 during July/August 2021 22 . With a seasonal variation of 40%, this value corresponds to a theoretic maximum in December with a Re = 2.2, translating into a 55% threshold for winter herd immunity. Approximately 65% of the population in Germany has now been vaccinated against SARS-CoV-2 (by end of October 2021). Recent studies show that vaccine efficiency to protect from infection is comparatively rapidly decaying. A cohort study from September 2021 found that Covid vaccines are only 35% protective against infection 23 , and it is reasonable to assume that the vaccines will become even less effective as time after vaccination increases 28, 29 . The proportion of the population in Germany already immune to SARS-CoV-2 infection can therefore only be estimated very roughly. To the approx. 20% who have already been infected, an estimated 20% immunity due to the vaccinations can be added (vaccination rate multiplied by effectiveness), so that we assume that the proportion of immunity towards SARS-CoV-2-infection in Germany is less than expected due to waning immunity. In spite of this, the protection by vaccination against severe infection and death by SARS-CoV-2 infection is well established to be high 30 . However, this is not the focus here but rather transmission of the virus taking also recent and longer time ago previously vaccinated people also into account, and thus the influence of all these different factors on the resulting R0. The concept of herd immunity in respiratory pathogens such as coronaviruses does not imply permanent protection of the population against reemergence of these pathogens, since the immunity achieved may decrease over time, especially in asymptomatically infected patients 24 . Instead, the achievement of herd immunity in respiratory viruses leads to a strong selection pressure for escape mutations (classical immune escape or increased contagiousness), which can then give rise to new waves of infection 25 . For this reason, respiratory viruses such as influenza-or coronaviruses remain endemic, despite broad immunity, which will probably also be the case for SARS-CoV-2. All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; The seasonal effect on R0 can be assumed as a sine function with a maximum in January and a 40% lower minimum in July (dashed line, right y-axis). This translates into an oscillating R0 with a maximum in January (of R0January = 1.68) and a minimum in July (R0July = 1.01) (blue line, left y-axis). R0 calculations are based on the values calculated for March (R0March = 1.34) (blue dot) B: Herd immunity similarly to R0 oscillates in a seasonal pattern. Our study shows that the R0 value of SARS-CoV-2 can be calculated from excess mortality data. We also introduce here the concept of a seasonally adjusted R0 value, which should be reported as a range (R0January-R0July) rather than a static value. We determined an R0 value of 1.34 for infections in March 2020 (R0March = 1.34), corresponding to a seasonal range of R0January = 1.68 and a minimum in July (R0July = 1.01). This rather low range of R0 values is much more consistent with observations of pandemic progression than many earlier and much higher estimates of the R0 value. The massive expansion of testing capacity in the early phase of the pandemic, combined with changes in testing strategy, was a major cause of the overestimation of the R0 value. Excess mortality can be determined independently of SARS-CoV-2 testing capacity in many countries, and therefore can be a valuable tool in future All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; pandemics to provide reliable values for the rate of spread of an emerging pathogen in a population when representative samples of pathogen spread are not available. The script attached should simply be run on R, please simply adjust the path to the "datasheet_R0.xlsx" file. The datasheet excel file is given independent of this combined pdf as this is an excel file. This is the R session info: perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in , prob = c(1/7,1/7,1/7,1/7,1/7,1/7,1/7)) } } colnames(daily_incidences) = c("day","number of tests") daily_incidences[,1] = 1:(nrow(test_performed_per_week)*7) ##### calculation of the RO value GT.flu_w <-generation.time("gamma", c(4.7,2.9)) # daily time R0 <-estimate.R(daily_incidences[,2], GT=GT.flu_w, methods=c("EG")) print(paste("Tests performed Fig. 2A estimated R0 = ",R0$estimates$EG$R, " CI (",R0$estimates$EG$conf.int[1]," -",R0$estimates$EG$conf.int [2] ,")",sep="")) ######################################### Covid-cases and deaths Fig. 2B ############################################################# covid_deaths_daily <-read_excel(path,sheet = "Covid-cases and deaths Fig. 2B") [1:46,1:2] covid_cases_daily <-read_excel(path,sheet = "Covid-cases and deaths Fig. 2B")[8:21,c(1,3) ] ##### calculation of the RO value GT.flu_d <-generation.time("gamma", c(4.7,2.9)) # daily time R0_d <-estimate.R(covid_deaths_daily$`covid deaths`, GT=GT.flu_d, methods=c("EG")) print(paste("Covid-deaths Fig. 2B estimated R0 = ",R0_d$estimates$EG$R, " CI (",R0_d$estimates$EG$conf.int[1]," -",R0_d$estimates$EG$conf.int [2] ,")",sep="")) R0_c <-estimate.R(covid_cases_daily$`covid cases`, GT=GT.flu_d, methods=c("EG")) print(paste("Covid-cases Fig. 2B estimated R0 = ",R0_c$estimates$EG$R, " CI (",R0_c$estimates$EG$conf.int[1]," -",R0_c$estimates$EG$conf.int [2] ,")",sep="")) All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in AdExcDeaths_per_week[AdExcDeaths_per_week<0] = 0 # excess death can be bellow 0 but the incidence cannot ##### re-structure the data to daily incidence daily_incidences = matrix(0,ncol = ncol(AdExcDeaths_per_week),nrow = nrow(AdExcDeaths_per_week)*7) pos_rows = seq(1,nrow(AdExcDeaths_per_week)*7,7) for (ic in 1:ncol(AdExcDeaths_per_week)) { for (ir in 1:nrow(AdExcDeaths_per_week)) { daily_incidences[pos_rows[ir]:(pos_rows[ir]+6),ic] = rmultinom(1, size = as.numeric(AdExcDeaths_per_week[ir,ic]), prob = c(1/7,1/7,1/7,1/7,1/7,1/7,1/7)) } } colnames(daily_incidences) = colnames(AdExcDeaths_per_week) daily_incidences[,1] = 1:(nrow(AdExcDeaths_per_week)*7) ##### calculation of the RO value GT.flu_d <-generation.time("gamma", c(4.7,2.9)) # daily time All rights reserved. No reuse allowed without permission. perpetuity. preprint (which was not certified by peer review) is the author/funder, who has granted medRxiv a license to display the preprint in The copyright holder for this this version posted November 15, 2021. ; https://doi.org/10.1101/2021.11.14.21266295 doi: medRxiv preprint print("Adjusted excess deaths Fig. 3B results") for (ind_col in 2:ncol(daily_incidences)) { R0 <-estimate.R(daily_incidences[,ind_col], GT=GT.flu_d, methods=c("EG")) print(paste(colnames(daily_incidences)[ind_col]," adjusted excess deaths estimated R0 = ",R0$estimates$EG$R, " CI (",R0$estimates$EG$conf.int[1]," -",R0$estimates$EG$conf.int [2] ,")",sep="")) } The estimation of the basic reproduction number for infectious diseases Vaccination and herd immunity to infectious diseases Projecting the transmission dynamics of SARS-CoV-2 through the post-pandemic period. Science (80-) Complexity of the basic reproduction number (R0) Early Transmission Dynamics in Wuhan, China, of Novel Coronavirus-Infected Pneumonia High Contagiousness and Rapid Spread of Severe Acute Respiratory Syndrome Coronavirus 2 The reproductive number of COVID-19 is higher compared to SARS coronavirus A systematic review and meta-analysis reveals long and dispersive incubation period of COVID-19. medRxiv Estimation of incubation period and serial interval of COVID-19: Analysis of 178 cases and 131 transmission chains in Hubei province Incubation Period and Other Epidemiological Characteristics of 2019 Novel Coronavirus Infections with Right Truncation: A Statistical Analysis of Publicly Available Case Data Excess all-cause mortality during the COVID-19 pandemic in Europe -preliminary pooled estimates from the EuroMOMO network Täglicher Lagebericht des RKI zur Coronavirus-Krankheit-2019 (COVID-19) Apple Mobility Data The R0 package: A toolbox to estimate reproduction numbers for epidemic outbreaks Serial interval of novel coronavirus (COVID-19) infections A comprehensive estimation of country-level basic reproduction numbers R0for COVID-19: Regime regression can automatically estimate the end of the exponential phase in epidemic data Bericht zu Virusvarianten von SARS-CoV-2 in Deutschland Täglicher Lagebericht des RKI zur Coronavirus-Krankheit-2019 (COVID-19) Community transmission and viral load kinetics of the SARS-CoV-2 delta ( B . 1 . 617 . 2 ) variant in vaccinated and unvaccinated individuals in the UK : a prospective , longitudinal , cohort study High seroprevalence but short-lived immune response to SARS-CoV-2 infection in Paris Reduced sensitivity of SARS-CoV-2 variant Delta to antibody neutralization COVID vaccines protect against Delta, but their effectiveness wanes Results of the RENAISSANCE Study: REsponse to BNT162b2 COVID-19 vacciNeshort-And long-term Immune reSponSe evAluatioN in health Care workErs We thank the Land of Bavaria for funding. CL and TD specifically acknowledge the Land of Bavaria contribution to our DFG project 324392634-TRR 221/INF. For the preparation of this manuscript, we used the online version of DeepL translator 26 and Mendeley Reference Manager 27 .Acknowledgments: None.