COVID-19 Prototype Tool

Modify the default parameters and press the Run Button



For best experience, return to the 'Visualizations' tab before clicking the 'Run' button.

New changes in left panel need to be 'Run' before map will update properly.



Preparing Data For Download




The app uses a compartmental SE[I]R model stratified by age and disease severity. The four severity compartments of [I] are asymptomatic, mild, flu-like, and severe. Mild and flu-like infections have COVID-19 symptoms, but do not require hospitalization. As the data progresses, these two severities will have different probabilities of being tested and becoming confirmed cases. Only the severe compartment leads to a need for an ICU bed.

Age Parameters

Model parameters are specific to age. The following table shows the severity probabilities for each age group rounded to 2 decimal places.

Each compartment of the model is stratified by age. Civilian distributions have nine age groups (0-9, 10-19,..,80+). The military distribution is broken up into six age groups (0-9 removed and above 60 is combined into 60+). The military age groupings maintain decadal spacing for easy comparison with civilian populations.

Basic Reprodution Number Modulation

The Basic Reproduction Number R0 may be time-dependent R(t) via three options:

1. Use the results of our fit to each country. We use a smoothly varying function for R(t) and fit the initial value of this function, the day it begins to decrease and the final value. We use the reported cumulative death (bottom plot in main 'Visualization' tab) for the fits. This is done for each country in our list and the values we obtain are used as defaults for options 2 and 3 below

2. Change is triggered on a given day or when the need for ICUs exceeds a user determined threshold. Our default values for the initial and final value of R(t) is derived from our fits to the reported cumulative deaths.

3. User enters an initial R0 value for the population and date ranges for each intervention type. A distribution describing proportional drop in R as a result of each intervention is derived from Imperial College Coronavirus Report #13. R(t) profiles are generated from date range and a draw from each parameter distribution. Currently, only the mean R(t) profile is used in simulations.

Interval Parameters

The stochastic nature of these simulations result in the distribution of generation times in the figure below. The mean generation time-or serial interval-is 9.6 days. The majority of transmission occurs 5-10 days after infection.

Individuals leaving the severe state enter ICU. Mean waiting time in the ICU is set to 7 days.

Country Defaults

When the user selects a country, the app fills in estimates for population, date of first cases, and R0. Approximate number of first cases always defaults to 100.

Country default Basic Reproduction Number (R0): For each country we fit the reported cumulative number of deaths using a two-value model for R(t). The initial and final values of these fits are used as default values for R0 and the reduced transmission R(t).

Approximate Date of First Cases: this date is estimated as follows. For any given country, we find the date of first reported death and assume that on this date there were already 1,000 cumulative cases in this country. Using our estimate for basic reproduction number, we run our model and find how many days it takes to reach a total of 1,000 cases. Using this number of days and the reported date of first death we determine our estimate for the date of first case(s). This process is repeated for each country.


All the data and model analysis are done with R codes and displayed using R, shinyApp and plotly.

For questions about this web site please contact:

Dr. Pete Riley:

Dr. M. Ben-Nun:

Dr. J. Turtle:

Predictive Science Inc.
9990 Mesa Rim Rd, Suite 170
San Diego, CA 92121
Phone: (858) 450-6494