COVID-19 Classroom Calculator
Disclaimers: I am not an epidemiologist, and this math has NOT been
double-checked by anyone. If you see an error (or there's an
assumption you'd like to be able to edit that you can't currently)
feel free to contact me via email: pmawhort
(at)
wellesley.edu
.
What is the probability per class meeting that you will have a
student who is actively transmitting COVID-19 in your classroom? This
calculator attempts to answer that question by combining data you
enter about the prevalence of COVID-19 in your school and your
classroom size. Note that it does NOT attempt to calculate the risk
of actually catching COVID-19: a site like
microcovid calculator can
help you estimate that, although it involves a lot more assumptions.
In general, if everyone in a classroom is masked and vaccinated and
if there's good ventilation, the chances of it spreading in the
classroom even when someone infectious is present are not
necessarily high.
Obviously faculty and staff are potential sources of infection as
well as students, but accurate numbers for their COVID-19 rates are
often less available. This calculator only takes students into
account, although if you have faculty data you can simply increase
the school population and students/class numbers to include them.
Based on the numbers you entered above, here's what we compute:
The average number of days of infectiousness per case for four
conditions based on vaccinated/unvaccinated and
symptomatic/asymptomatic. This takes into account vaccination
status, testing, and isolation periods; the numbers are:
For vaccinated, symptomatic cases:
? days/case
For vaccinated, asymptomatic cases:
? days/case
For unvaccinated, symptomatic cases:
? days/case
For unvaccinated, asymptomatic cases:
? days/case
Show formulae
Separately for the vaccinated and unvaccinated conditions, we
use the values you entered for infected days for that group,
call this a.
If there's asymptomatic testing, we divide 7 days/week by your
tests/week number to get days/test, and subtract 1 (since
testing can detect the virus before you are infections; this is
just a very rough estimate), call this b. If there's no
asymptomatic testing b is set to 100.
The number you entered for isolation period is c.
Then the formula for symptomatic cases is:
a - c. This assumes that isolation is
immediate following the onset of symptoms, so it only counts the
period of infectiousness after isolation. If your isolation
period is long enough, this will be zero.
And the formula for asymptomatic cases is: min(a,
b) + (a - (b + c)). The second term
accounts for infectiousness after isolation, and is not included
when it would be less than zero.
Both of these formula run twice for the two different values of
a to get numbers for vaccinated/unvaccinated people.
Based on that plus your estimate of the number of infected people per
week, the number of infectious people on campus each day is:
? cases/day
The contributions from various groups were:
For vaccinated symptomatic cases:
? cases/day
For vaccinated asymptomatic cases:
? cases/day
For unvaccinated symptomatic cases:
? cases/day
For unvaccinated asymptomatic cases:
? cases/day
Show methodology
We need some algebra to use the risk-reduction number entered
above for vaccination to compute the number of
vaccinated/unvaccinated cases. Our variables are:
- rv - The risk of being infected for
vaccinated individuals.
- ru - The risk of being infected for
unvaccinated individuals.
- pv - The population of vaccinated
individuals.
- pu - The population of unvaccinated
individuals.
- cv - The number of cases among the
vaccinated population.
- cu - The number of cases among the
unvaccinated population.
- c - The total number of cases/week you entered
above.
- f - The effectiveness of the vaccine in terms of
risk reduction you entered above, expressed as a fraction
instead of a percentage.
And we have the following equations:
-
rv
= cv
/ pv
-
ru
= cu
/ pu
-
rv
/ ru
= (1 - f)
-
cv
+ cu
= c
Here are the steps for solving these equations for
cv:
-
rv
= (1 - f)
* ru
(isolating rv in Eq. 3)
-
cv
/ pv
= (1 - f)
* ru
(substituting Eq. 1)
-
cv
= (1 - f)
* ru
* pv
(isolating cv)
-
cv
= (1 - f)
* (cu / pu)
* pv
(substituting Eq. 2)
-
cv
= (1 - f)
* (
(c - cv)
/ pu
)
* pv
substituting cu based on Eq. 4)
-
cv
= (
(1 - f)
* pv
* (c / pu)
) - (
(1 - f)
* pv
* (cv / pu)
)
(splitting cases / vax_cases terms on RHS)
-
cv
+ (
(1 - f)
* pv
* (cv / pu)
)
= (
(1 - f)
* pv
* (c / pu)
)
(moving vax cases to same side)
-
cv
* (
1 +
(
(1 - f)
* pv
* (1 / pu)
)
)
= (
(1 - f)
* pv
* (c / pu)
)
(factoring vax cases out)
-
cv
= (
(1 - f)
* pv
* (c / pu)
)
/ (
1 +
(
(1 - f)
* pv
* (1 / pu)
)
)
(isolating vax cases out)
Once cv is known, we use Eq. 4 to get
cu.
Among each group of infected people, we split them into
symptomatic and asymptomatic cases based on the percentages you
entered above for asymptomatic cases according to the
vaccination status of each pool, resulting in four groups of
cases by vaccination status and symptoms. We multiply those
new-cases/week numbers by the infectious-days/case numbers
computed in the previous step to turn them into
total-infectious-person-days/week numbers. Those we divide by 7
days/week to get total-infectious-persons/day, which we add up
across all four vaccinated/symptomatic status categories.
Now that we have an expected people-infectious-per-day number, we
compute the probability for a single class meeting that an infectious
person is present:
First we compute the probability that any single
individual student is infectious, and get:
?%
Using that number, we compute the probability that at least one
person in your class is infectious (given the class size you entered
above) which is:
?%
And if we extend that calculation to the whole semester, given the
number of class meetings you entered above, we get the probability
that at some point during the semester, there will be an infectious
student in your classroom:
?%
Show methodology
Here we have a total population number entered above, and a
number for how many are infectious on a given day. We draw people
from the population without replacement to fill up the number of
students/class you specified, and look at the probability that at
least one of those students is infectious. Specifically, where
x is the number of infectious people, p is
the total population, and N is the number of people to
draw, the product Πn=0...N-1 (1 -
x / (p - n) is the formula for the
probability that we draw N people without drawing a
single infectious person, and 1 minus that is the probability
that we draw at least one infectious person.
Critically, because of asymptomatic cases, especially if your
isolation period is decent, unless your asymptomatic testing is
frequent, the likelihood is high that most of the infectious people
in your classroom will have no way of knowing they are sick! The
students are absolutely blameless in this model, because asymptomatic
infections are by definition undetectable without regular
asymptomatic testing.
If the results here are troubling, I suggest the following things
you can do:
-
Make sure you're wearing a high-quality mask that actually has a
good face seal. N95/NK95 is good, PN95 is better (but those
without an exhalation valve, which is what you should look for
do present more issues with communication).
-
Share this info with your students and ask them to wear masks,
regardless of school policy. And if there is a mask policy,
enforce it. According to the assumptions made by
the microcovid
calculator masks at the source (even low-quality masks)
cut chance of transmission in half, and higher quality masks can
cut it to 1/4 or better. Your mask protects both you from those
around you and even more-so them from you.
-
Get better air filtration in the room you're teaching in, such
as a portable HEPA filter. This can significantly reduce the
risk of transmission (see
the
microcovid calculator's ventilation research setion).
-
Advocate with your administration for better policies,
especially asymptomatic testing. Feel free to play around with
the settings above to see how various things might affect this
model, although keep in mind that it's not at all exact, and a
large number of assumptions are made.