How to use the simulator, and model details

Basic How-to

The simulator derives the dynamics of the epidemic for a given set of input parameters. The default values of these parameters correspond to a current best estimate for Austria (for three different assumptions on seasonality), as further explained here. For some important parameters, however, only very rough estimates are possible. The results are therefore subject to a considerable uncertainty. Users are invited to change key model parameters and build their own scenario.

Basic use: Choose parameter values and hit the “Recompute” button above the outbreak chart.

Basic charts description (more details below):

Outbreak dynamics: For each category (colour), dots show the Austrian data and lines the model predictions. You can show or hide categories by clicking on them (greyed out items are not displayed).

Effective reproduction number Reff: The effective reproduction number Reff is shown in brown. It is lower than the basic reproduction number R0 (top, dashed) due to the effects of herd immunity, seasonality, and social mitigation.

Recovered population (%): As an increasing proportion of the population recovers, herd-immunity increases. Full herd immunity is reached before 100% of population recovers.

Model details

Research groups worldwide use variants of the so-called SIR (Susceptible - Infectious - Removed) model for the modelling of COVID-19. Simulation results from these models are often regarded in the media as quantitative predictions, although their interpretation is much more complex. In fact, the primary application of such models is on a qualitative level: to present a range of epidemiological scenarios and discuss key parameters.

Building on similar projects (e.g., at the University of Basel), we have designed an extended SEIR (Susceptible - Exposed - Infectious - Removed) model especially for Austria and make it available as a simulation tool. Our goal is to contribute to a better understanding of the local COVID-19 outbreak. Furthermore, we want to give an insight into the possibilities and limitations of the presented model class.

Some background on epidemiological compartment models

Epidemiological compartment models (Wikipedia) like this one attempt to capture the dynamics of a disease by thinking of the overall population as being divided into several compartments. For example, in the simplest model of this class, the SIR model, these compartments are called "Susceptible", "Infectious", and "Removed". "Susceptible" individuals are those who have not had the disease yet, and can get it from someone else. "Infectious" are individuals who are currently sick and may spread the disease, while "Removed" individuals are neither infectious nor susceptible: in the simplest case, these are individuals who recovered from the disease and cannot get sick again.

The basic outline of the dynamics of such an SIR model can be described in a diagram as follows:

S susceptible I infectious R removed

In the diagram, the boxes show the different compartments, while solid arrows indicate how people move between the compartments during the progress of the infection. The disease dynamics is driven by transition rates — the rates at which people move between compartments. These rates depend on the number of people in each category and the time it takes before the transition occurs. (If multiple outcomes were possible, for example if the Removed class consisted of Recovered and Deceased people, the transition rates would also reflect the probability of either outcome.) The dashed arrow indicates infection of susceptibles by the infectious people. The more infectious people there are, the higher the transition rate between S and I. The scheme above is a backbone for the mathematical model, whose solution describes the disease dynamics for a given set of transition rates.

Our model

To account for the specifics of COVID-19, the structure of the compartment model that we use in the simulator is a little more complex than the basic SIR model described above as an example. Our model is described by the following picture:

Flow chart of our extended SEIR model

Graphical depiction of our extended SEIR compartmental model. Solid arrows indicate transitions, while dashed arrows show interactions. Compartments with dark background color are detected (known) cases, while undetected categories have a white background. Thick borders indicate sinks — compartments that have only "incoming" arrows.

The compartments contain the following groups of people:

The Removed compartment of the SEIR model has been partitioned into several sub-compartments:

Additional features of our model include:

Full Documentation

A detailed documentation of our model, written for scientific audience, can be found here. (PDF file, opens in a new window/tab.)

Input parameters

In this section we describe in more detail the parameters that can be tweaked in the simulator, and what they mean.

Scenarios: Best fit

The buttons provide a quick way to set all the parameters to our current best estimate for Austria. The paramters depend on the assumed seasonality, which is hard to estimate from the data and can therefore be chosen.

Reproduction number parameters

The effective reproduction number Reff(t) is the average number of new infections that trace back to a single infected person. It changes, and therefore depends on time t. It is the most important parameter to determine the future course of the epidemic. For Reff(t) > 1, the number of infectious individuals grows, for Reff(t) < 1 it shrinks. Reff depends on the basic reproduction number R0, and on reductions in this basic reproduction number through various effects.

In our model, four factors contribute to Reff(t), three of which can be adjusted by the user.

Basic reproduction number R0: The basic reproduction number R0 is the average number of infections due to an infected person at the start of an epidemic, when all other individuals are susceptible. It also assumes the absence of any mitigating effects due to either seasonality (lower transmission in summer) or active measures by societies to limit the spread of the disease (enhanced hygiene, social distancing, face masks, etc.). Therefore, R0 is also the maximal value that Reff(t) can assume.

Reduction of R0 due to seasonality: Many human coronaviruses are known to have a marked seasonal transmission pattern with a winter peak. In the formula below, the seasonal reduction in the virus transmission rate is given by the middle term, and is controlled by parameter . This parameter allows to adjust the strength of such seasonal effects in our model (in terms of the maximum percentage of reduction of Reff due to seasonality). Setting it to 0 amounts to assuming a lack of seasonal variation in the transmission rate. We have fixed the transmission peak of SARS-CoV-2 to January 15th in the model: this leads to maximal reduction in transmission six months later in mid July.

Reduction of R0 due to mitigations: Reductions of Reff due to governmental measures and behavioral changes in the society are included into the model via a step-function M(t). Each step of this function is parametrized by two values: the new mitigation strength M(t) and the start-date ti for this new mitigation value. Up to six mitigation steps to increase or decrease M(t) can be included. Note that any given time, only one (current) mitigation M(t) is active: mitigations do not add up but replace each other.

Finally, the fourth factor which contributes to a reduction in Reff is developing immunity in the population. This fourth factor, S(t)/N, is an outcome of the outbreak dynamics. In the absence of a vaccine (as assumed here) it cannot be adjusted externally.

The influence of all the factors described above on Reff can be summarized and described more precisely by the following formula:

This formula shows how depends on the basic reproduction number , on the step function describing mitigations, on the seasonal component, described by a shifted cosine function with maximal effect and on immunity in the population, described by the factor , i.e., the proportion of susceptible individuals in the overall population of size .

Parameters for disease progression and outcome

While the effective reproduction number Reff(t) provides crucial information whether an epidemic will grow or shrink, it does not inform us about the progression of an individual infection – how long it will take to recover – nor about its outcome, recovery or death. These properties are governed by a separate set of parameters that determine, e.g., the probability to require intensive care and the expected length of stay at an ICU (intensive care unit). For COVID-19, many of these parameters depend on the age of the patient.

Mortality and detection probability

Infection Fatality Ratio (IFR): The IFR is a key parameter for the outcome of the disease: it measures the probability that an infected individual will die from the disease. Clearly, the IFR for COVID-19 depends on age (and other factors), but we can also define an average IFR for the Austrian population, which we provide as a separate model parameter that can be adjusted by the user. For simplicity, we assume that IFR is constant through time.

Percentage of infections detected: The detection ratio (δ) measures the (age-averaged) probability that an infected individual is diagnosed and shows up in the official case statistics. While most of the deaths due to COVID-19 are officially recorded in Austria, the same does not hold true for all infected individuals, including mild and asymptomatic cases. We have included a time-dependent detection ratio δ(t), because there is clear evidence for an increase given that the proportion of positive PCR tests among all tests has dropped from >15% in the early phase of the epidemic to <1% in late spring and summer. An alternative model with a fixed detection ratio would overestimate Reff, because increased detection can no longer cause more cases.

The detection ratio δ enables us to compare the simulation with reality. For example, for the "recovered" compartment, the output plots show both the "true" number of cases in the simulation (dashed line) and the "known" number of cases in the simulation (solid line). For the "all known cases" category, only the "known" number of cases is shown. It only makes sense to compare the observed Austrian case data with the "known" cases in the simulation, not with the "true" cases from the simulation.

Initial cases: This is the assumed true number of initial cases at the start of the simulation.

The true values of all three parameters, the IFR, the proportion δ of infections detected and the true number of initial cases are in principle unknown. We can get a good idea about the IFR from a random sample (i.e., independent of symptoms and travel history). Typically, we use data from studies where a whole cruise-ship, or a whole village has been tested and followed up.

Adjust percentage of infections detected and initial cases to mortality (IFR) to maintain fit to the data:
If you tick this box, only the IFR is adjustable. The other two parameters are determined from the IFR to maintain the fit to the data. We explain this in a little more detail:

If we want to fit our model to the data, then these three parameters determine each other. Let us assume that the infection fatality ratio IFR is 1%. Then, as the number of deaths is known, our assumption on the IFR implies an assumption about the true number of infected people — namely there must have been 100 times as many infections as deaths. In order to fit the number of detected infected cases in our data, this implies what the detection ratio δ must be — and what was the initial true number of infected cases.

Disease progression

In the simulated model, after being infected, individuals spend a random amount of time in each compartment of the model that they progress to. These controls adjust the average time spent in those compartments.

Latency (days): This is the average number of days spent in the "Exposed" compartment, i.e., the average number of days for which people who have been infected are not yet infectious themselves.

Infectious (days): This is the average time during which an infected person is infectious and can transmit the disease to others. Together, the exposed and infectious times determine the so-called generation interval, the time between infections in a transmission chain.

Hospitalized (days): Average number of days a patient stays at the hospital.

Critical (days): Average number of days a patient spends at an intensive care unit (ICU).

For simplicity, we assume that these average times are the same for all age classes. In contrast, the probabilities of hospitalization (given infection), ICU need (once in the hospital) and death (in our model: from ICU) are all explicitly age-dependent. (These parameters are not yet adjustable by the user in the beta-release.)

ICU capacity (beds): Number of available beds in intensive care units for COVID-19 patients.

ICU overflow severity: Excess death rate when people with intensive care unit need cannot be taken care of, i.e., when all ICU beds are full. For example, a severity parameter of 2 means a two times larger death rate for patients who cannot get ICU care than for patients who get an adequate care.

Simulation results – Charts:

Outbreak dynamics

The main output graph shows how the number of people in the various compartments ("susceptible", "infectious", "hospitalized", etc.) changes over time, and two cumulative statistics: all known infections and all known COVID-19 deaths. Lines represent the simulated model results and dots (●) the known data from the Austrian outbreak (only available for hospital and ICU cases, cumulative cases and deaths).

Effective reproduction number

The second output graph shows the change of the effective reproduction number Reff(t) as the epidemic progresses (red line) and the factors that cause this change; see the section on the Reproduction number parameters above.

Recovered population, contributing to herd immunity

The bottom output graph focuses on the emerging level of natural immunity in the population due to individuals that have recovered from the disease. For simplicity, we assume that all recovered people build permanent immunity. Read more about heard immunity on the scenarios page.


I updated some of the values, but the graph hasn't changed!

Please use the "Recompute" button above the chart to update the graphs. Note also that not all parameter changes lead to visible changes of the graph (e.g. changing the IFR with locked detection rate and initial infectious cases).

Where does the Austrian data come from?

For the Austrian case data, we rely on publicly available data from the Austrian Federal Ministry of Health.

How do you choose the default parameters for the fitted scenarios?

It depends on the parameter. We provide a detailed description in our comprehensive documentation (PDF file) of the model. Briefly, we use Austrian data wherever possible. This is complemented with international data, when Austrian data is not available. Finally, we use model simulations to fit several parameters to the Austrian case data. This holds, in particular, for the reproduction number and the mitigation factors.

Some model parameters are simply not very well known – even when all available information is used. The most prominent example for such a parameter is the infection fatality ratio (IFR) and the closely related detection ratio (also described by the “Dunkelziffer”). We currently use default values of 0.7% for the IFR, but values from a large range between 0.3% and 1.1% for the IFR appear to be possible. The default values for the detection ratio are 15% (early) and 47% (current), reflecting increased testing efforts in Austria. The detection ratio changes linearly between April 1st and May 18th. In contrast to the percentages of early and current detection, these switch dates cannot be changed by the user.

Isn’t the SEIR compartment model a very simplistic epidemiological model?

It sure is! It builds on several simplifying assumptions that do not hold in the real world. In particular, it ignores all differences between individuals that belong to the same compartment. These simplifications come with advantages and disadvantages. SEIR models are best suited to provide a broad overview of scenarios for the epidemiological dynamic, across wide parameter regions. Due to their simple structure, however, they are not suitable for quantitative predictions. See also our detailed discussion on the page Scope & Limits.

What happens if the virus adapts to humans?

Although corona viruses are less variable than influenza viruses, it is reasonable to expect that SARS-CoV-2 will adapt to humans as a new host. Whether this has already happened is not clear: there is no clear evidence. Adaptation would mean that the virus increases its transmissibility and is better able to cope with the human immune system. In contrast, there is no direct selection pressure on the IFR. There is no reason to assume that the virus should evolve to become more or less lethal unless this affects transmission.

What technology did you use to build the model and the webpage?

The models were built in Python using SciPy and the website was built using the Plotly Dash framework and the static site generator Lektor.