This is a toy model of disease transmission. You can use it to experiment with how staying away from other people can change how a made-up infectious disease spreads in a population. Each of the dots represents a person, and their color shows whether they are healthy (blue), infected but not yet feeling sick or "incubating" (yellow), sick (red), or recovered from disease (grey). The dots move around according to some rules that you can control, and they can give each other the disease when they come close to each other.
You can control how much movement the dots have by turning on social distancing. Social distancing is a phrase that public health scientists use to mean everyone cooperates to keep away from other people in order to prevent the spread of disease. Right now, you're probably at home under a legal order to practice social distancing where you are.
Experiment with this toy model to see what happens when you turn on social distancing. You can control when social distancing begins and ends, how many people don't follow social distancing, and the movement patterns of those who don't stay at home. They can either move randomly around their area, interact with their 5 nearest neighbors, or interact with just one partner neighbor.
The model is a highly simplified simulation of how stay-at-home orders, or social distancing, can impact disease transmission. Although the dynamics of the disease are loosely based on COVID-19's real characteristics, it is not meant to be an exact model of COVID-19. It is just meant to illustrate how being safer-at-home can help prevent the spread of a disease.
There is some randomness built into this model. Each time you run it, the outcomes will be a little bit different, even under the same conditions!
Experiments you can try at home
At the top of the simulator, there is a counter of how many people are in each disease category: healthy, incubating, sick, and recovered. When you get to the end of four weeks of simulated time, you'll see what percent of all the dots were infected after 1 month.
Set up: Set social distancing to off. Set the movement mode to random. Set the percent that don't stay home to 5.
Condition 1: Early social distancing. Start the simulation. Turn on social distancing as soon as the first person becomes sick (red). Hint: watch the counter under the red dot at the top of the animation. What percent of people were infected by the end of the month?
Condition 2: Late social distancing. Restart the simulation with the same settings. Turn on social distancing when about 50 people become sick (red). What percent of people were infected after a month?
Condition 3: No social distancing. Now, restart the simulation with the same settings and don't turn on social distancing at all. How many people become infected?
Describe what differences you see. Are they large or small differences? Why did you see these differences? Is late social distancing more similar to early social distancing, or no social distancing, in terms of the number of people infected? Why is this? Do the differences seem proportional to the change in the number of people who were already sick when you turned on social distancing?
Set up: Set the percent that don't stay at home to 20. Set social distancing to "on." This will ensure that just one person is infected at the beginning and the whole experiment runs under social distancing.
Condition 1: Visit among neighbors. Set the movement mode to "visit neighbors." Start the simulation. How many people are infected at the end of the month?
Condition 2: Partner households. Set the movement mode to "partner households." Start the simulation. How many people become infected at the end of the simulation?
Condition 3: Random movement. Set the movement mode to "random." Start the simulation. How many people become infected at the end of the simulation?
Describe the difference in behavior between "partner households" and "visit neighbors". Does this make much of a difference in terms of how many people become infected? What would these two movement patterns look like in your life? What do your normal movement patterns resemble more, partner households, visit neighbors, or random movement?
Set up: Set social distancing to on. This simulation will run entirely with social distancing on, which allows us to see effects with just one infected person to start with. Set the movement mode to visit neighbors. In this experiment, you will need to run each of the conditions a few times to get a range of results.
Condition 1: People are good at social distancing. Set the percent that don't stay at home to 0. Start the simulation. How many people are infected at the end of the month? Repeat this one 5 times and record the results of each run.
Condition 2: People are pretty good at social distancing, but not great. Set the percent that don't stay at home to 25. Start the simulation. How many people are infected at the end of the month? Repeat this one 5 times and record the results of each run.
Condition 3: People are bad at social distancing. Set the percent that don't stay at home to 50. Start the simulation. How many people are infected at the end of the month?
Which condition was the least predictable from one run to the next? Why do you think that is? (Hint: observe these simulations carefully. What is the difference between one with very few infections and one with many?) What percent of people do you think are really good at social distancing right now, in your area? Why is it unrealistic to set the percent that don't stay at home to 0?
Set up: Set social distancing to on. Set the movement mode to random. Set the percent that don't stay at home to 30.
Condition 1: We stop social distancing as soon as the new cases start dropping. Start the simulation. As soon as you notice that the number of sick (red) dots starts to go down, turn social distancing off. (Hint: The max is probably around 30-50 red dots). How many people are infected at the end of the month?
Condition 2: We keep social distancing to the end of the month. This time, start the simulation and don't do anything until the end. How many people are infected at the end of the month?
How much difference does the timing of "reopening" make?
What is the fewest number of infected people you can achieve?
What is the most infected people you can achieve?
How fast can you infect the entire population?
Which results in less infected people: visiting neighbors, visiting partner households, or random movements?
How does the simulator work?
The simulator starts with one infected dot. Dots can get infected if they come very close to another infected dot, even if that dot isn't showing symptoms yet.
You can turn stay-at-home behavior on or off. When stay-at-home behavior is on, the dots group together at "home" with their families. When it is off, they will move randomly around their immediate area.
You can also set how many dots ignore stay-at-home orders and keep moving around. And, for the dots who continue to move around even though safer-at-home is turned on, you can decide how they move around. There are three different movement modes that apply to these dots:
random: dots that ignore stay-at-home orders move randomly around the area
visit neighbors: dots that ignore stay-at-home orders move between their five closest neighbors and their home
partner households: dots that ignore stay-at-home orders move between a single partner household and their home
Note that for the purposes of model clarity, if stay-at-home is turned on, dots are not infectious when in transit to their home or to a neighbor's home. Dots are infectious if they are wandering randomly or while at a home (their own or their neighbor's!).
What are the details, though?
The simulation involves a population of 1000 people, represented as dots, and how they interact in an abstract, two-dimensional space.
Healthy persons are represented by blue dots. Incubating persons—who are infected, but do not yet show symptoms—are represented by a yellow dot. Sick persons—those who are infected and symptomatic—are represented by a red dot. People who have had the infection and recovered are represented by a grey dot.
This simulator assumes that every dot is susceptible to infection and has a 25% chance of becoming infected if it comes within one dot's-width of an infected dot (whether that dot is sick or incubating). It assumes that dots will incubate (be infected but not show any symptoms) for between 1–3 days before showing symptoms. Dots will remain infectious for 4–7 days, starting from the beginning of the incubation period. The simulation always begins with one sick dot and 999 healthy dots.