Jump to main content
SimPandemic simulation model by Science Buddies.

SimPandemic — What's New

Updated August 2026

We went through the simulation's code carefully and found several mistakes in how it modeled the spread of disease. This update fixes them. It also adds a measurement that was missing.

The corrections are real, so the graphs change. If you have run SimPandemic before, the same settings will now produce a milder, slower outbreak than you are used to seeing. That is the point: the old version spread disease faster than the numbers you chose asked for.

If you saved a simulation before this update

Open it once and SimPandemic will run it again using the corrected model. Your settings and your notebook are untouched, but the graph will change. Save codes keep working, and the same simulation will now give the same result every time you open it.

If you wrote down results for an assignment, it is worth re-running and comparing. The difference between the two runs is itself worth a look.

What we fixed

Diseases now spread at the rate you set

The most important fix. R0 is the number of people one sick person infects, and the simulation was overshooting it — delivering roughly 15% to 45% more spread than the value you entered, depending on the scenario. Set R0 to 3 and you were really getting closer to 4.

The daily number of new infections is now drawn from a Poisson distribution, which is the standard way to model events that happen independently at a known average rate. Most infected people infect nobody on a given day, some infect one person, a few infect two — and the average works out to exactly the rate you asked for.

Hospital numbers now appear when quarantine is switched on

Whether someone went to hospital was decided on the day their symptoms appeared. But quarantine also moved people on that same day, and once moved they were never considered for hospital admission. With quarantine at full strength, the hospitalization graph sat at zero.

Since "flatten the curve" is about hospital capacity, this was the worst place for the simulation to be silent. Hospitalization is now decided first, so quarantine no longer hides it.

Testing now makes a difference

People with symptoms are obvious. People without symptoms are only found by testing — which is why testing and quarantine only work as a pair. But the simulation was treating everybody as though they had already been tested, from day one, even when no testing program was set up. So quarantine caught asymptomatic people it should have missed, and turning testing on appeared to change almost nothing.

Now quarantine only reaches people without symptoms once testing has actually got to them. Try running a scenario with quarantine alone, then with quarantine and testing together.

Quarantine no longer works against itself

The simulation tracks what share of the population can still catch the disease, because that share is what makes an outbreak slow down and turn over. Quarantined people were being left out of that calculation, which nudged the disease into spreading slightly faster the more effective quarantine became. They are counted now.

Improved therapy no longer stacks up

Running the same scenario twice applied the reduction in deaths twice, so the second run looked better than it should have. Each run now starts fresh.

Travel moves the right number of people

Travel out of the population was moving one more person per day than the rate you set. A small error, now corrected.

What we added

The reproduction rate is now measured

The summary always had a space for the reproduction rate and it always read zero. It is now calculated, and it may be the most useful number on the page.

It answers: among the people who stopped being contagious today, how many did each of them infect on average? Above 1, every infection more than replaces itself and the outbreak grows. Below 1, it is dying out. Watch it fall as more of the population becomes immune — the day it crosses 1 is the day the epidemic peaks.

One thing to notice: it crosses 1 a few days after the peak in the graph, not exactly on it. That is because it looks backwards, at people who caught the disease a couple of weeks earlier. Real outbreak data has the same lag, which is why health authorities can only confirm a peak after it has passed.

Clearer messages when settings do not make sense

Settings that could not work — an end day before a start day, a percentage where a proportion belongs — used to produce a strange graph with no explanation. They now say what is wrong and which setting to look at.

Every simulation can be replayed exactly

A simulation involves a lot of chance: who meets whom, who develops symptoms, who recovers. Each run now records the starting point for all of that, so opening a saved simulation gives you the same outbreak back rather than a new one. Useful when you want to change one setting and see what that setting alone did.

What you might notice

A note for the herd immunity activities

Two of the sandboxes ask you to find the herd immunity threshold — the share of a population that has to be immune before an outbreak cannot get going. Because the disease was spreading faster than it should have, that threshold appeared higher than it really is.

For the COVID-19 sandbox with R0 at 3, the answer you measure should now come out about 2 percentage points lower, and much closer to what the textbook formula predicts: 1 − 1/R0, or about 67%. For measles the shift is about half a point.

If you have a recorded answer from before, keep it. Measuring the threshold again and comparing the two is a better exercise than either measurement on its own.


Why we are telling you all this

A simulation that is quietly wrong is worse than one that is obviously broken, because nothing looks unusual. These mistakes had been in SimPandemic for a while, and they produced graphs that looked entirely believable. Finding them meant reading the code closely and checking the numbers it produced against what the settings asked for.

That is how science is supposed to work, so it seemed worth showing rather than quietly patching. If you spot something that does not look right, please tell us.

Top
Free science fair projects.