COVID-19 Infection Dynamics: How to Know When It Is Safe


Garrett A, Hughes
Principal Architect


A Mathematical Approach to Predicting Herd Immunity


This article presents a simple method for determining the risk of igniting a self-sustained infection rate when exposing an unprotected population to the SARS-CoV-2 virus. The absence of risk of sustaining an infection from person to person in a population is known as herd immunity. Our goal is to describe how the presence or absence of herd immunity can be calculated for a given population using widely available data about this virus.


Over the next few weeks we will be listening to a wide variety of people exclaim that "the worst is over"; that now we must plan on reestablishing a business as usual, or unusual, economy and lifestyle. You will be hearing shouts and murmurs that it should be done as quickly as possible. The risk remains, however, that we will be exposing ourselves to new infections and precipitate another epidemic. It is being stated that regardless of the consequences, businesses will have to reopen, even if on a war-time footing, lest we fall into a great depression. You will even hear that from people who have been sheltering in their homes and apartments, and have been observing the infection rate dwindle to near zero in other parts of the world.

What should we do? And what should be the criteria we use to make this decision?

In the New Normal, What Does It Mean to Be Safe

Mainly, we don't want to start another round of uncontrolled infections. We understand full well the consequences.

We also want to be certain that when travel restrictions are lifted, incoming visitors to our region will not instigate a new round of infections.

We don't want to live in fear—fear that will oblige us voluntarily or involuntarily to continue to wear masks, physically distance ourselves from relatives and friends, and constantly be reminded that life is not normal by having to submit to a battery of tests whenever we want to engage with other people at work, worship, or play. Living under these constraints has been proposed as a serious solution to relaxing our guard by none other than Gavin Newsom, current governor of California, a career businessman and politician.

We want to return to a semblance of normal, but with an increased awareness that viruses, which can cause killing pandemics, will be part of the new normal, and will appear with increasing frequency. We will want to learn how to cope with and even overcome these possibilities by planning, increased education, and focused research. Our attitude should not be simply to return to business as usual, lest our indifference lead us to a repeat of today's disruptions and suffering.

The Most Important Criteria

If you want 100% assurance that you will never be infected with the SARS-CoV-2 virus, then you need to find a home on a different planet. SARS and its future mutations are here to stay. Besides, you may find MARS just as bad. By "safe" we mean that if some people do become infected, after we cease our protective measures, then the infections will die out of their own accord, not by our having to adopt protective measures once again.

Knowing A Priori

It will not be reassuring to know that we are unsafe after the fact. We will want to know a priori. We can know with high probability that we will be safe, because the nature of infection dynamics is amenable to a mathematical description, which we can exploit to our advantage. In the present situation the math is quite simple, and can be understood by anyone who has retained even a smattering of high school algebra. Remember back in high school when you asked your algebra teacher when you would ever use this stuff, and the teacher replied that it was important to know because you would need it some day? Well today is that day.

The Theorem in Words

On average, if each infectious person in a population cannot infect one or more susceptible persons in that same population, prior to losing the opportunity to do so, then an infection rate cannot be sustained or increased.

It follows that if each infectious person in a population infects less than one susceptible person, prior to losing the opportunity to do so, then the infection rate will decrease.

Transmissibility is the term used to characterize the contagiousness of an infective agent from infectious to susceptible persons. We will give this term a precise mathematical definition below.

An epidemic transition occurs when on average infectious persons cause just one infection before losing the opportunity to do so. Determining just when this will occur in an infected population will provide us with the information we need to decide whether it is safe to relax our guard and resume our normal daily routines.

A Qualitative Proof

Intuitively the theorem makes sense. Take a population of something other than that of a virus: human beings for example. To keep it simple imagine that every male and female in the world is paired for life. (You need a really good imagination for this.) Question: How will that population sustain its numbers? Answer: By each couple having two children to replace their parents. The population will grow if a few couples continually have more than two children, and the population will decline, if instead, some couples always have fewer than two children.

For a virus to replicate, on the other hand, it must cajole a cell into reproducing one or more copies of itself. It turns out that a virus takes over the reproduction machinery of a cell and uses it to reproduce many copies of itself, and then kills the cell. It has never seemed like a good evolutionary strategy, but the virus must be awfully convincing and mobile.

Definition of Terms

We are going to define several terms that are necessary to describe the system behavior in which we are interested. You can view a pictorial representation of the relationship of these terms, plus their full names, acronyms and units by opening the following figure.

The syntax of each definition includes the acronym, description, and [units]

popTot    total population    [persons]

The total number of members of a population in a region of interest.

popSus    susceptible population    [persons]

The number of members of the total population that have not as yet been infected with the virus of interest.

popInc    incubating population    [persons]

The number of members of the total population that are infectious, and have not lost the opportunity to infect members of the susceptible population.

popPrs    presenting population    [persons]

The number of members of the total population that are presenting with symptoms of COVID-19. In this model it is assumed they are not capable of infecting anyone.
incPer   incubation period   [days]

The number of days that a person spends incubating the virus before they present with COVID-19 symptoms. In this model, this is the number of days that a person spends in the incubating population. This number is a random variable drawn from a uniform distribution of integers. The user specifies the minimum and the maximum values of the distribution.

minIncPeriod   minimum incubation period [days]

The minimum value of the selected incubation period.

maxIncPeriod   maximum incubation period [days]

The maximum value of the selected incubation period.

AVG_incPer    average incubation period   [days]

The average value of the incubation period, which is determined for this model by summing the minimum and maximum values of the uniform integer distribution and dividing by two. Both the min and max values can be set to the same value.

MAX_infMul    maximum infection multiplier   [(persons/day)/person]

The maximum number of members of the susceptible population that can be infected by a single member of the incubating population in one day.

infMul    infection multiplier   [(persons/day)/person]

The computed number of members of the susceptible population that can be infected by a single member of the incubating population in one day. The infection multiplier is described in more detail below.

EQL_infMul    equilibrium infection multiplier   [(persons/day)/person]

The value of the infection multiplier that will enable a member of the incubating population to infect exactly one member of the susceptible population during their incubation period. The indicator of the epidemic transition point.

infR   infection rate   [persons/day]

The number of members of the susceptible population that become infected on a given day and transition to becoming members of the incubating population.

EQL_poSus   equilibrium susceptible population  [persons/day]

The value of the number of members in the susceptible population at the epidemic transition point.

The Mathematical Approach to Predicting Herd Immunity

We are in the process of defining the condition or conditions under which the infection rate will be unable to sustain itself in an exposed population, that is, within a population that is taking no measures to protect itself from the virus. This means that no matter how many infections occur in the remaining susceptible population, that the resulting infection rate will only dissipate and never rise. We consider these conditions to be a prerequisite for "opening up" the exposed population to further infections by the virus FOR ANY PURPOSE WHATSOEVER, because of the likelihood of creating yet another out-of-control epidemic, and risking the health and lives of all the members of the remaining susceptible population, especially the lives of medical personnel.

To understand our approach, and how we compute the necessary conditions for a safe opening up, you first need to fully understand the nature of the infection multiplier (infMul): what it implies, what it is used for, and why and how it varies. It is really the key to understanding our whole approach. The infection multiplier is our measure of the transmissibility of the virus. It is the average number of persons that an infectious person can infect in a single day. The units are [ (persons/day)/person ].


Infection Multiplier Function


As you can readily see from the figure, the infection multiplier is computed as a linear function of the ratio of the susceptible population (popSus) to the total population (popTot). This ratio varies from 1.0 to 0.0 as the susceptible population falls during an epidemic. At the start of an epidemic the susceptible population is equal to the total population and the ratio is 1.0. If everyone in the susceptible population were to become infected, there would be zero members of the susceptible population remaining, and the ratio would be 0.0.

The value of the infection multiplier as a function of this ratio depends on the value of the maximum infection multiplier (MAX_infMul), which is chosen by the user based on information available about the transmissibility of the virus in the region where this technique is being applied.

We have chosen a value of 0.375 for the MAX_infMul based on a wide variety of reporting of the value of the Reproduction Number, Ro. In epidemiological terms the reproduction number is defined as the "average number of secondary infectious cases produced by an infectious case". The major difference between Ro and our Max_infMul is the interval of time to which they refer. Ro is the number of people infected by a single individual over the period that they are capable of infecting someone. Max_infMul refers to the number of people that that can be infected by a single individual on a single day. Therefore our value is obtained by dividing a published Ro by our average incubation period, incPer. Since we use an average value of six days for this article, that would imply that our Ro is 2.25.

Note: Since we are focusing our modeling on characteristics of the Rochester, NY, Metropolitan Area, we were interested in learning of any published material on Ro for this region. Much to our pleasure we found an article published by Victor-Farmington Volunteer Ambulance. The article was prepared by James J. Hood, President, Paramedic; Mike Carlotta, Chief, Paramedic; and Jared Palmer, Deputy Chief, EMT in March of this year. Besides being an excellent overview of SARS_CoV-2 and the symptoms of COVID-19, the article contained a description and value of Ro obtained quite independently of our chosen value.

They report a typical value of 2.2 for Ro. In addition they basically describe what we will be determining here, how to know whether it is safe to open up an exposed population to the SARS-CoV-2 virus. They report an HPT (Herd Protection Threshold) of 55%. You will see that the number we generate for our measure is for all intents and purposes the same. HPT is the percentage of the total population that needs to be immune to the virus so that it will not spread in the remaining susceptible population. The value we have determined for HTP is 56%.

You can access their article using this link.

Clearly the infection multiplier function depends on a lot of factors. It is designed for regions with populations that are uniformly distributed over space and time. Use it with caution for regions which may have a densely populated center and less densely populated suburbs, such as the Rochester Metropolitan Area (RMA). On the other hand, given our propensity for mobility and the mixing that mobility engenders, this function may be suitable for most purposes. We interact continuously in space and time when working, playing, worshiping, and maintaining ourselves and our households. We constantly visit locations such as our place of work, sporting events, worship services, grocery stores—any number of places where large numbers of people congregate, and our meeting with many other people is entirely random. Our circle of contacts is a dynamic, not a static one.

If you plan on using this function for a given region, analyze the nature of the population mixing and the frequency of contact. You may have to use a different MAX_infMul and functional relationship for computing the infMul. Nevertheless, the following approach will in all likelihood, still apply.

Algorithm For Determining the Safe Conditions for "Opening Up"

Following are the means of determining the favorable conditions for opening up the remaining susceptible population in a given region to infectious individuals without fear of creating a self-sustaining infection rate.

  1. Given
    infMul = MAX_infMul x (popSus)/(popTot) //see Figure: Infection Multiplier Function

  2. Find a value for the EQL_infMul, the equilibrium infection multiplier.
    The EQL_infMul is the infection multiplier that will allow a member of the incubating population to infect exactly one individual in the susceptible population during the average incubation period AVG_incPer.

    The relation between EQL_infMul and AVG_incPer is given by
    EQL_infMul = 1/AVG_incPer
    that is: 1 divided by the number of days in the average incubation period

  3. Rewrite (1) substituting EQL_infMul for the infMul
    EQL_infMul = MAX_infMul x (popSus)/(popTot)

  4. Using that last relationship, solve for popSus
    popSus = popTot x ( EQL_infMul/MAX_infMul)

    Define EQL_popSus as the value of popSus when infMul = EQL_infMul
    Then we can write

    EQL_popSus = popTot x ( EQL_infMul/MAX_infMul)

Compute the Equilibrium Susceptible Population: EQL_popSus

EQL_popSus = popTot x ( EQL_infMul/MAX_infMul)

popTot = 1,080,000    //population of Rochester Metropolitan Area

minIncPeriod = 3

maxIncPeriod = 9

AVG_incPer = (minIncPeriod +maxIncPeriod)/2 = 6

EQL_infMul = 1/AVG_incPer = 1/6

MAX_infMul = 0.375 // use Ro/AVG_incPer = 2.25/6 = 0.375

EQL_popSus = 1,080,000 x (1/6) / 0.375 = 480,000



That is pretty amazing. What it says is that if there are 480,000 people who escape the first round of the epidemic by sheltering, that when they come out of hiding, the virus will not be able to establish itself in their midst! At first we thought we had done the calculations incorrectly. No. Then we ran the model with the same numbers. The infections started up, barely, and then dribbled off the screen.

After we cleaned up the mess, we tried to make the virus grow every which way from Sunday. We even added 5,000 people to the susceptible population and tried again. There was some growth, but at most around 20 new infections per day. It became obvious that with the herd protection threshold (HPT) reached, this simulated community was safe to resume normal activities. Remember that the herd protection threshold is approximately 55 percent of the population. Fully 45% of the population receives immunity by nature of the presence of those people with immunity working and playing among us.

The real world may be a slightly different story, but the fact of an EQL_popSus remains. It is a beacon of hope in what might otherwise be a nasty spot between a rock and a hard place—getting ill or remaining sheltered.

We are going to put at least two runs out on the Input/Output Table for your perusal. The first of these—Run_01—will start the epidemic from scratch with the susceptible population equal to the total population. We want you to witness the potential ferocity of this virus as it cuts down thousands of people per day, striking fear into our hearts knowing the potential devastation that this scenario could cause in real people's lives. Blissfully no one succumbs during this simulated epidemic—primarily because that section of the model has not yet been constructed. But certainly the disease could prove fatal to between one and six present of the total population. Just three percent of the RMA represents 32,400 deaths,

For the second run, we will assume that people have sheltered after the initial onslaught and waited for the remaining victims to heal. We will begin Run_2 with our susceptible population at the value of the EQL_popSus and observe the results. Again, they are truly amazing,

The graphs of the runs will be accompanied by an analysis of the data. In addition. A Policy Analysis will also accompany the runs shortly after the run analyses are completed.

Note: If you are new to this site and reached this page by some way other than the Featured Articles Index, log into From the Table of Contents select the Featured Articles Index. The index itself will contain a link to the Input/Output Table for this article. The table provides access to the data from all the runs, the model itself written in the Java programming language, the analysis of each run, and any policy analysis that may accompany a run. Be aware that additional runs and analyses may be added to this table at a future date. The Site News on the Home page alerts readers to new information content.