Systems Dynamics, the SIR Model, and COVID-19

Billy Pierce
8 min readMay 12, 2020

About two months ago, I wrote a blog post detailing an introduction to System Dynamics based on my reading of John Sterman’s “Business Dynamics: Systems Thinking and Modeling for a Complex World”.

A lot has changed since then.

Here, I hope to dive into three things — how Systems Modellers typically look at disease, what these models tell us about our response to COVID-19, and where the simplest of these models often need added complexity to be realistic.

Part 1: The SIR Model

On the simpler end of systems dynamics models is the SIR Model.

Figure 1: The SIR Model (image from Cipresso, Pietro. (2015). Modeling Behavior Dynamics using Computational Psychometrics within Virtual Worlds. Frontiers in Psychology. 6. 10.3389/fpsyg.2015.01725.)

Stocks and Flows

As I promised in my last blog, this model includes Stocks and Flows! “SIR” stands for the three stocks, or quantities of this model — the susceptible population, the infected population, and the recovered population. The flows of this model are the infection rate (IR) and the recovery rate (RR).

The key difference between stocks and flows is accumulation. The classic example is a bathtub and a water spigot — the bathtub, a stock, fills up, or gets depleted. The spigot, on the other hand, doesn’t hold water — instead, the water pressure determines how much water is going into the bath. It is an adjustable quantity, but not one that can accumulate.

On that path, then, the susceptible, infected, and recovered populations are all accumulated quantities, whereas IR and RR tell the observer how quickly people (the things that are being accumulated in this case) move between those quantities.

Notation note: For the rest of this post, I will use capital letters to refer to stocks, and lower-case letters to refer to flows.

Describing the Model

First, note the loops (if that term feels unfamiliar, check my last blog post) that link the main flows to the main stocks. There is a self-balancing rate, labeled “depletion”, between the susceptible population (S) and IR. As more people are infected, that removes people from the population of people who could be infected. As they move into the infectious/infected population (I) category, there is a self-reinforcing loop — as more people become infected, there are more infectious people — thus, there are more total chances for infection, increasing the infection rate of the population. Finally, as those infected “recover” (I use this term loosely, as the SIR model groups both death and healthy recovery into “recovery”), there is a self-balancing loop between I and RR — as people recover, fewer people are infected, so fewer people can become newly recovered.

Next, look at the variables that feed into these stocks — contact rate ©, total population (N), infectivity (i), and average duration of infectivity (d).

Note: While contact rate, infectivity, and population are the same as the diagram above, they are lowercase (to distinguish stocks and flows), while “average duration of illness” was replaced by “average duration of infectivity” — as sick individuals may not remain contagious during the entire time they have the disease.

  • Contact rate is the number of susceptible individuals someone infective interacts with on average in the given period.
  • Total population is the sum S + I + R = N.
  • Infectivity is the probability that a susceptible person becomes infected after interaction with an infected person.
  • The average duration of infectivity is how long someone remains infectious after receiving the disease.

Typically, all of these variables are modeled as external inputs or factored into a separate feedback loop.

The “Tipping Point”

The “tipping point” of the SIR model is when the population gets infected faster than it recovers — thus ensuring an epidemic, where the positive feedback loop of the system dominates, and the case count accelerates.

Mathematically, the tipping point occurs when IR > RR, which is mathematically equivalent to when ciS(I/N) > I/d. Solving this down, we find this equation to be equivalent to when cid(S/N) > 1. (These equations come from Sterman’s textbook.)

The Reproduction Number

If you’ve been following the more mathematical side of COVID-19, you might’ve heard of the “reproduction number”, commonly known as R0. According to Wikipedia (Basic Reproduction Number),

In epidemiology, the basic reproduction number… of an infection can be thought of as the expected number of cases directly generated by one case in a population where all individuals are susceptible to infection.

How does this relate to system dynamics? Well, while R0 assumes no acquired immunity and that everyone’s susceptible, the effective reproduction number R (which we’ll call Re, to differentiate it from the recovered population) models how the disease is acting in the current population state.

We can define Re to be Re = cid. Plugging into our earlier equation, we can see that as long as Re(S/N) > 1, the disease will spread faster than people recover.

What does this mean? Well, given that we have a mathematical way to model how the disease transmits based on contact rate, duration of infection, and infectivity, we can use our knowledge of this model to better understand the transmission of COVID-19.

Part 2: What These Models Tell Us About Our Response to COVID-19

If we expand out our earlier equation for the tipping point, we find that the disease spread is unbalanced (dominated by positive feedback loops) when cid > N/S. Thus, given that N is constant for this model, stopping the spread of infection can happen when c, i, or d are lowered, or when S is decreased.

How the Disease Will Die Out Naturally

Among one of the less intellectually-rigorous counterarguments to COVID-19 shelter-in-place orders is that the disease will die out naturally… which, to be fair, it will. As the tipping point equation shows us, a continual decrease in S will eventually lead to a self-balancing infected population. If we let the disease continue (not taking into account birth for the sake of simplicity), we’d find that as more people got infected, the size of the S stock would decrease (as it has no net positive flows), until the tipping point threshold is passed.

Problem is, this natural leveling-out only happens after a ton of cases. COVID-19’s R0 has been calculated anywhere from 3.8–8.9 (as of May 12th), and given that (at least without any significant acquired immunity, social distancing, etc.), R0 ≈ Re = cid, the tipping point equation can once again be rearranged to when S > N/R0. Assuming the lowest R0 of 3.8, and looking solely at the American population, this would require roughly 241.8 million Americans to contract the virus.

Although the numbers aren’t exact, estimates as of April 17th put the death rate for COVID-19 at about 1%. With 241.8 million cases and a 1% death rate, this would result in the death of 2,418,000 Americans. So, while I’m sure this doesn’t come as a surprise, letting COVID-19 run its course is a bad idea.

How Some Basic Policies Change Our Model

  1. Social Distancing — social distancing reduces the contact rate, lowering c, and reducing the number of cases!
  2. Immunization — immunity reduces the size of the susceptible population, lowering S.
  3. Quarantine — quarantine lowers the contact rate of those with the virus to near 0, essentially adding a fourth stock, Q, as an offshoot of I that already has shown and identified symptoms and has a now near 0 contact rate.
  4. Wearing masks in public — by wearing masks, you are essentially reducing the infectivity of the disease, by ensuring that the interactions you have with others don’t involve the spread of germs from your mouth (as much — no masks are perfect).

By accomplishing these four goals, we can help ensure that S>N/cid does not hold, making the epidemic (or uncontrolled increase of cases) more likely to end.

Part 3: Problems with the SIR Model

Finally, it’s worth addressing some glaring issues with the SIR model, that you’ve probably noticed by now. While these are issues with the basic SIR model, most of them are easily solved by adding minor complexity to the model structure.

  1. “Recovery”, in this model, is assumed to include deaths from the disease — so long as an individual is no longer infectious.
  2. The “infectious” population includes both symptomatic carriers (an easily measurable group) and asymptomatic carriers (a much more difficult to measure group), making approaches like quarantine somewhat limited in their predictive power.
  3. The SIR model assumes permanent acquired immunity — that is, that once you’ve had the disease, you cannot get it again. While ideally true, this is still an unknown of COVID-19.
  4. Intubation/further recovery — for some COVID-19 cases, further medical intervention is necessitated. While the SIR model doesn’t account for this population, the model could be adjusted (perhaps by the addition of another stock) to include a group that dies at a much higher rate without intubation, and that occupies the ventilators for some set amount of time (similar to a recovery rate).
  5. Births — finally, this model doesn’t take into account any births that’d occur in the population that, while insignificant in the short term, may help explain minor resurgences of the disease in larger time scales.

To be clear, I use the phrase “problems with the SIR model” liberally — in reality, these are tradeoffs that we make when we make a model this system, so it isn’t the model’s fault. Instead, these are the tradeoffs we make with a SIR model, which are worth knowing, so we don’t make faulty predictions.

Bonus: Some Random Facts I Learned While Researching This Post

Some of the facts here reference herd immunity, the definition of which I include here (from Wikipedia).

Herd immunity (also called herd effect, community immunity, population immunity, or social immunity) is a form of indirect protection from infectious disease that occurs when a large percentage of a population has become immune to an infection, whether through previous infections or vaccination, thereby providing a measure of protection for individuals who are not immune.

  1. The US (and, according to speculation, Iran and North Korea) still have remaining smallpox samples — either for war or for use in redeveloping a cure if another epidemic occurs in the no-longer-herd-immune population. (And no, COVID-19 isn’t some weird resurgence of smallpox — smallpox has high infectivity but a low duration of infectivity, unlike COVID-19).
  2. Even with herd immunity, diseases can still resurge (so long as the contact rate sufficiently increases), but it usually does so with smaller, and shorter epidemics.
  3. One of the reasons that coronavirus has spread so rapidly in New York City is, unsurprisingly, the population density (leading to a higher contact rate). Extrapolating this to the rest of the world, then (with more rural areas assumed to have a lower contact rate, we find that maps of COVID-19 generally resemble population maps (Partially Relevant XKCD).

Coming Up: Control Theory, Engineering, and PID

Most of the knowledge is based on “Business Dynamics: Systems Thinking and Modeling for a Complex World” by John Sterman. Most of the information on reproduction numbers are taken from Wikipedia. Special thanks to Ted T., John F., and Lee H.

--

--