NCSI Talks


Advanced SIR Learning Scenario (Web)

Shodor > NCSI Talks > Vensim > Advanced SIR Learning Scenario (Web)

Learning Scenario - Advanced SIR (Vensim)

Basic Model:


This is a system model of the spread of the disease in a population. It tracks the proportion of the population that is infected by the disease on any given day. The infection probability, recovery rate, loss of immunity fraction, birth rate, and death rate are user-controlled parameters. A graph depicts the change in the number of people who are susceptible, infected and recovered over the progression of the sickness.

Background Information

Health organizations around the world are always working to gather and share information about potential epidemics, and to try to understand how diseases spread and how they could play out in individual communities, states, and countries across the globe. A vital part of these efforts involve the use of computational models that make quantitative predictions about how the disease will spread, based on measured data and scientific understanding of the biological and systematic processes involved. This model can be used to learn about these processes and how they interact to determine the severity of the disease outbreak.


The fundamental principle behind this model is HAVE = HAD + CHANGE. The overall shift in the number of people in the different populations each time tick depends on the number of people susceptible to the disease, as well as the number of infected people who have not been quarantined or medicated and therefore can infect them.

Each time tick, the following things happen:

  1. Susceptible people become infected according to the player-set variable infection probability:

    Number Infected = infection probability * number Susceptible * number Infected

  2. Susceptible, Infected, and Recovered people die from causes unrelated to the disease according to a player-set death rate:

    Number Deaths = Population * death rate

  3. Sick people recover according to the player-set variable recovery:

    Number Recovered = number Infected * recovery rate

  4. Recovered people become susceptible again according to the player-set LoI (Loss of Immunity) fraction:

    Number Susceptible = number Recovered * LoI fraction

  5. New Susceptible people are created according to the player-set birth rate.

    Births = birth rate * number of Susceptible

Teaching Strategies

An effective way of introducing this model is to ask students to brainstorm how sicknesses such as the common cold spread, for example through physical touch or bacteria put in the air by coughing and sneezing. Then have students use the Disease Model to explore an easy to use disease model. Ask the following questions:

  1. What do people do to avoid catching colds?
  2. Where are you more likely to catch a cold? In a school or at home? Why?
  3. How does population density affect the spread of disease?
  4. Once you get the chicken pox, can you ever catch it again? Why or why not? What about a cold? What is the difference?
  5. Every year the US distributes a different flu vaccine. Why? Why can they not distribute the same vaccine every year?


How to use the model

This relatively in-depth model has a number of parameters that can be manipulated to produce different results:

  1. The "infection probability" parameter determines the proportion of susceptible people that become sick each time step.
  2. The "recovery rate" parameter determines the proportion of infected people that recover each time step.
  3. The "LoI fraction" determines the proportion of recovered people who lose their immunity each time step.
  4. The "birth rate" parameter determines the proportion of susceptible people produced each time step due to birth.
  5. The "death rate" parameter determines the proportion of people who die of causes other than the disease each time step.

All of the aforementioned parameters are manipulated by clicking and dragging their respective sliders. The maximum, minimum, and step values for each parameter are pre-set. Any changes made to the sliders take effect immediately with the exception of the initial values, which take effect the next time the simulation is run.

To run the simulation, click the "Run a Simulation" button. The Susceptible, Infected, Recovered, and Total Population changes over time are displayed below the model:

Smaller graphs of these populations over shorter time periods can be found in the box containing the variable. For example:

For a complete tutorial on how to use Vensim, please go to the following link here.

Learning Objectives

  1. Understand the relationship between the proportion of the population that is healthy and the spread of the disease
  2. Understand the effect of each parameter on the populations over time

Objective 1

To accomplish this objective, have students run the simulation with the default parameters, and observe the graphs. They should specifically pay attention to the rate at which the populations of healthy and sick people increase and decrease. Ask the following questions:

  1. From your observations, what happens to the rate at which people are infected when the number of healthy people is high? What about when the number of healthy people is low? Why do you think this happens?
  2. Do you notice any patterns in the relative numbers of sick and healthy people? If so, what types of patterns are they?
  3. What would happen if there were more sick people at the beginning of the model? What if there were more healthy people and fewer sick people? Why?
Ask students to change the initial number of healthy people. Do the answers to any of these questions change? Students should compare the hypotheses they made earlier to the results now, and discuss any discrepancies.

Objective 2

Have students experiment with each of the parameters to see the effect on the graph. Ask the following questions to guide their exploration:

  1. What changes when the rate of infection increases or decreases? Why do you think these occur?
  2. How does the recovery rate affect the populations over time? Explain.
  3. Put the LoI(Loss of Immunity) fraction to 0. Then increase it. How does causing people to lose immunity to the disease change the model? Explain.
  4. Many SIR models (including the Disease Model mentioned in the Teaching Strategies) do not include a birth rate and death rate for the population. What does adding these parameters say about the disease being modeled? Is it short term or long term? Is this modeling an epidemic? Why or why not?
Discuss with the students the reason for the differences in diffusion time in the food coloring trials. Students should quickly realize that much of the variation arises from the fact that the food coloring is not put in precisely the same place, the water is not completely still, and the temperature is not necessarily uniform. In fact, because there are so many molecules in even a small body of fluid, the system model is actually a nearly perfect representation of reality, assuming that human error is accounted for.


  1. Explore the use of models for predicting outcomes before they happen
  2. Think about the qualities this model still lacks when compared with the real world

Extension 1

Encourage the students to discuss the uses of disease models in preparing for epidemics. Ask the following questions:

  1. How could New York City use a model similar to this to decide the best way to prevent the spread of an infectious disease? Why would we want to use a model to prepare for an epidemic?
  2. How can this model be manipulated to represent different diseases? For example, what changes would you make to the model to effectively simulate AIDS in comparison to the flu?
  3. What other phenomenon could you model on a computer? Consider natural disasters as well as man-made situations. How would computer models be helpful in preparing?

Extension 2

Have students consider the ways in which this model is not an accurate representation of the real world. Ask the following questions:

  1. What factors can you think of in the real world that this model leaves out?
  2. In the real world, disease models are not perfectly smooth curves like we see here. What are some reasons that disease might not spread exactly the way this model predicts? Can you think of any ways to take these factors into account in this model?

Related Models

Disease Epidemic Model

This is the agent model version of the Vensim Epidemic model created in NetLogo. It contains many of the same variables, as well as adding the option of barriers to represent traveling between regions or countries with strict travel laws. This model also contains a graph showing the number of people who are healthy, sick, immune, and dead. Students should discuss the pros and cons of this model as a way of predicting the spread of disease in comparison to the Vensim model.

Supplemental Materials:

  • Agent Modeling Discussion

Spread of Disease Model

This is a simpler agent model of disease spread that focuses on the longevity of the disease. This model is unique because the agents do not gain permanent immunity to the disease after they recover. Students should discuss the affect this has on the spread of disease and how this changes the methods used to prevent the disease.

Diffusion in a Box Model

This is a model of basic diffusion created using AgentSheets software. Students should discuss the ways in which disease spread in a population is an example of diffusion.