Imagine you have a goal of identifying a novel disease by the time some small fraction of the population has been infected. Many of the signs you might use to detect something unusual, however, such as doctor visits or shedding into wastewater, will depend on the number of people currently infected. How do these relate?

Bottom line: if we limit our consideration to the time before anyone has noticed something unusual, where people aren't changing their behavior to avoid the disease, the vast majority of people are still susceptible, and spread is likely approximately exponential, then:

Let's derive this! We'll call "cumulative infections" , and "doubling time" . So here's cumulative infections at time :

The math will be easier with natural exponents, so let's define and switch our base:

Let's call "incidence" , which will be the derivative of :

And so:

Which means:

What does this look like? Here's a chart of weekly incidence at the time when cumulative incidence reaches 1%:

For example, if it's doubling weekly then when 1% of people have ever been infected 0.69% of people became infected in the last seven days, representing 69% of people who have ever been infected. If it's doubling every three weeks, then when 1% of people have ever been infected 0.23% of people became infected this week, 23% of cumulative infections.

Is this really right, though? Let's check our work with a bit of very simple simulation:

def simulate(doubling_period_weeks):
  cumulative_infection_threshold = 0.01
  initial_weekly_incidence = 0.000000001
  cumulative_infections = 0
  current_weekly_incidence = 0
  week = 0
  while cumulative_infections < \
    week += 1
    current_weekly_incidence = \
        initial_weekly_incidence * 2**(
    cumulative_infections += \

  return current_weekly_incidence

for f in range(50, 500):
  doubling_period_weeks = f / 100

This looks like:

The simulated line is jagged, especially for short doubling periods, but that's not especially meaningful: it comes from running the calculation a week at a time and how some weeks will be just above or just below the (arbitrary) 1% goal.

Comment via: facebook, mastodon

New Comment
6 comments, sorted by Click to highlight new comments since: Today at 10:27 PM

The equations aren't displaying properly because it looks like LW currently strips MathML (only a specific list of allowed tags make it through). You can see the version with full math at

I've adjusted our sanitizer to let MathML through (will take effect after PR review and deploy), which should affect future crossposts. For this post, I used my moderator power to edit the stuff the sanitizer removed back in.

Awesome, thanks!

LW uses its own system for equations, you can just use dollar tags in Markdown or Ctrl+M/Ctrl+4 in LessWrongDocs mode.

So you get, for example,

Jeff is someone where we've configured LW to auto-crosspost posts from his blog via RSS, so it's not being authored within the LW editor.

I draft my posts in HTML and they're imported into LW via RSS. I can't make just part of a post Markdown or LessWrongDocs.