This math simulation models the spread of a virus through social contact.

The Spread of Virus Simulation has four variables you can control.

Population Size:
Each small square represents a person

Virus variables include

Days Contagious
For the coronavirus this varies between 2 and 14 days before significant signs appear. A selection of 6-10 seems reasonable to start.
Chance of Contracting Virus per Contagious Contact
This is how likely an uninfected person is to catch the virus when contacted by a contagious person. This value is not known for coronavirus. Something between 10% and 4% may be reasonable.

Social variable is one we can control.

Number of Contacts per Day
This represents the number of contacts, other people, each person contacts per day. While in normal situations this could likely be in the 100s for students. In this setting between 10 and 2 seem reasonable.

NOTE: This is a simulation and it has been simplified to a small number of variables. These variables are applied uniformly across each person in the population. Real life is much more variable and complicated. Our goal is to help learners of all ages better understand how our actions impact the collective result and how mathematics can be used to better understand our world.

Each time you click or the simulation recalculates. For some cases the spread ends quickly. This is by chance given the variables. Click again for a new simulation. You may need to run multiple times to get a sense of the variability and impact of the settings. This simulation/model is not predictive but is intended to show how our actions can impact our community.

Running Simulation...
cases #### days --


Population size:

  • 25
  • 100
  • 400
  • 900

Days contagious


Chance of contracting virus per contagious contact


Number of contacts per day



Calculate Results
Day -- of --

Just infected:


No longer contagious: