Herd immunity countdown
A few weeks ago I wrote a post giving a back-of-the-envelope calculation regarding when the US would reach herd immunity to SARS-COV-2. As I pointed out repeatedly, this is only a rough estimate because it makes numerous simplifying assumptions and is based on numbers that have a lot of uncertainty around them. See that post for details.
That post was based on the assumption that 26 million Americans had been infected with the virus. I've heard other estimates of 50 million or 100 million. Update: The CDC estimates that 83 million Americans were infected in 2020 alone.
The post was also based on the assumption that we're vaccinating 1.3 million per day. A more recent estimate is 1.8 million per day. So maybe my estimate was pessimistic. On the other hand, the estimate for the number of people with pre-existing immunity that I used may have been optimistic. (Or not. There's a lot we don't know.)
Because there is so much we don't know, and because numbers are frequently being updated, I've written a little Python code to make all the assumptions explicit and easy to update. According to this calculation, we're 45 days from herd immunity.
As I pointed out before, herd immunity is not a magical cutoff with an agreed-upon definition. I'm using a definition that was suggested a year ago. Viruses never [1] completely go away, so any cutoff is arbitrary.
Here's the code. It's Python, but you it would be trivial to port to any programming language. Just remove the underscores as thousands separators if your language doesn't support them and change the comment marker if necessary.
US_population = 330_000_000num_vaccinated = 46_000_000 # As of March 2, 2021num_infected = 86_000_000 # As of January 1, 2021vaccine_efficacy = 0.9herd_immunity_portion = 0.70# Some portion of the population had immunity to SARS-COV-2# before the pandemic. I've seen estimates from 10% up to 60%.portion_pre_immune = 0.30num_pre_immune = portion_pre_immune*US_population# Adjust for vaccines given to people who are already immune.portion_at_risk = 1.0 - (num_pre_immune + num_infected)/US_populationnum_new_vaccine_immune = num_vaccinated*vaccine_efficacy*portion_at_risk# Number immune at presentnum_immune = num_pre_immune + num_infected + num_new_vaccine_immuneherd_immunity_target = herd_immunity_portion*US_populationnum_needed = herd_immunity_target - num_immunenum_vaccines_per_day = 1_800_000num_new_immune_per_day = num_vaccines_per_day*portion_at_risk*vaccine_efficacydays_to_herd_immunity = num_needed / num_new_immune_per_dayprint(days_to_herd_immunity)
[1] One human virus has been eliminated. Smallpox was eradicated two centuries after the first modern vaccine.
The post Herd immunity countdown first appeared on John D. Cook.