exponentialgrowthcalculator.com

Viral Spread Calculator

Enter an initial case count, a reproduction number, and a number of rounds to see the projected total update as you type.

Viral spread calculator

The starting number of cases
New cases each case produces per round
Transmission rounds elapsed
Projected Total Cases(n) 5,503.77 after 8 rounds at R₀ = 2.4
New Cases, Final Round 3,210.53 added in round 8 alone

Round-by-Round Case Totals

Round nCases(n)New This Round
0 5.00 N/A
1 12.00 7.00
2 28.80 16.80
3 69.12 40.32
4 165.89 96.77
5 398.13 232.24
6 955.51 557.38
7 2,293.24 1,337.72
8 5,503.77 3,210.53

What the table shows: starting from 5 initial cases spreading at a reproduction number of 2.4 per round, growth looks modest at first, 12 cases after round 1, 28.80 after round 2, but compounds quickly once the base grows, passing 165 cases by round 4 and 955 cases by round 6. By round 8 the projected total reaches 5,503.77 cases, with 3,210.53 of those added in round 8 alone, more new cases in that single round than existed in total just one round earlier (2,293.24 after round 7).

Definition

What Is Viral Spread?

Viral spread is exponential growth in which every existing case, a shared post, a forwarded referral link, a passed-along invite code, produces R₀ new cases each round, so the running total compounds multiplicatively instead of by a fixed amount.

Ten initial shares at a reproduction number of 1.5 produce 15 new shares in the next round, not a fixed 15 shares forever, but 1.5 times whatever the current count happens to be. Once the count grows to 25, that same 1.5 reproduction number produces 37.5 new shares, because the multiplier is applied to a larger base each time. This is what separates viral spread from steady, additive growth: the size of each round's increase keeps changing along with the total.

The reproduction number R₀ is nothing more than a growth factor measured per round rather than per unit of continuous time. It relates to an ordinary percentage growth rate r through R₀ = 1 + r, so a reproduction number of 2.4 describes exactly the same multiplier as a 140% growth rate applied once per round, the same growth factor that drives the exponential growth calculator on the homepage, just relabeled for discrete rounds instead of days or years.

Because each round's output feeds directly into the next round's input, the process compounds rather than accumulates. A model that instead added a constant number of new cases every round, say, exactly 20 more each time regardless of the current total, would be linear growth, not viral spread, and it would fall further and further behind the exponential curve as the rounds add up.

Equation

The Viral Spread Formula

The viral spread formula is Cases(n) = C₀ × R₀ⁿ, and this is exactly the discrete exponential growth formula with the growth factor renamed R₀ and elapsed time renamed rounds. Nothing about the underlying mathematics changes, only the labels attached to it.

R₀ form, direct multiplier
Cases(n) = C0 × R0n

Use this when the reproduction number itself is known, the average number of new cases each existing case generates per round.

Growth-rate form, equivalent
Cases(n) = C0 × (1 + r)n

Use this to compare against a percentage growth rate r = R₀ − 1; a reproduction number of 2.4 is identical to a 140% growth rate per round.

Variables in the viral spread equation
SymbolNameWhat it representsExample
Cases(n)Projected totalThe total case count after n rounds.5,503.77
C0Initial casesThe case count at round zero, before any spread.5 cases
R0Reproduction numberNew cases each existing case produces per round.2.4
rPer-round growth rateThe equivalent percentage rate, r = R₀ − 1.1.4 (140%)
nRounds elapsedHow many transmission rounds have passed.8 rounds

What the table shows: only C₀, R₀, and n are ever entered by hand. Cases(n) is the computed result, and r is derived from R₀ through r = R₀ − 1 rather than supplied on its own. At the default settings, R₀ = 2.4 corresponds to r = 1.4, and raising 2.4 to the 8th power gives a multiplier of 1,100.753142, so 5 initial cases become 5 × 1,100.753142 = 5,503.77 projected cases by round 8.

Method

How to Calculate Viral Spread

To calculate viral spread, raise the reproduction number to the power of the number of rounds elapsed, then multiply the result by the initial case count.

  1. Write down the initial case count

    Identify C₀, the number of cases present before round 1 begins.

  2. Write down the reproduction number

    Identify R₀, the average number of new cases each existing case produces per round.

  3. Raise R₀ to the power n

    Compute R₀ⁿ, the total compounding multiplier across n rounds. With R₀ = 1.8 across 6 rounds, 1.8^6 = 34.012224.

  4. Multiply by the initial case count

    Multiply C₀ by the result of step 3 to get Cases(n), the projected total.

  5. Subtract the previous round's total for the final-round increase

    Compute Cases(n) − Cases(n − 1) to see how many new cases the last round alone contributed.

Worked example, referral code shares

A referral code starts with 8 initial shares, and each existing share produces 1.8 new shares per round on average. The viral spread formula gives the projected total after 6 rounds.

C0
8 shares
R0
1.8
n
6 rounds
Cases(n) = C0 × R0n Cases(6) = 8 × 1.86 Cases(6) = 8 × 34.012224 Cases(6) = 272.10 shares

The projected total after 6 rounds is 272.10 shares, up from just 8 at the start. Round 6 alone contributes 120.93 new shares, more than the entire projected total after round 4 (83.98 shares), showing how much of the compounding happens in the later rounds.

Real-World Limits

Why Real Spread Eventually Saturates

The pure exponential model Cases(n) = C₀ × R₀ⁿ implies unlimited growth forever, but any real, finite pool of potential new cases, a fixed audience, a bounded contact network, a limited customer list, eventually runs low on people who have not already been reached, so actual spread always bends away from the exponential curve well before the formula would predict.

Early on, when the case count is tiny compared to the size of the available pool, almost every new case reaches someone new, and R₀ⁿ tracks the real numbers closely. As the case count grows toward the size of that pool, though, a growing share of contacts land on people who were already reached in an earlier round, so the effective rate of new cases slows down even though R₀ itself has not changed.

This is exactly the carrying-capacity idea behind logistic growth: a fixed ceiling that growth approaches but cannot cross. The logistic growth calculator models that saturation directly, multiplying the same kind of growth term used here by a factor that shrinks toward zero as the case count nears its ceiling, which is what keeps its curve flattening out instead of climbing forever the way Cases(n) = C₀ × R₀ⁿ does on its own.

Every one of these variants, plain exponential, viral, or logistic, traces back to this site's core exponential growth calculator, where the same base equation runs without a ceiling term; adding one turns the identical growth factor into the bounded, flattening curve that real, finite populations actually follow.

Questions

Frequently Asked Questions

What does the reproduction number R₀ mean mathematically?

The reproduction number R₀ is the average number of new cases each existing case produces during one round, making it the discrete-round growth factor of the spread model. An R₀ of 2.4 means every case in a given round generates 2.4 new cases in the next round, on average.

R₀ plays exactly the role the growth factor (1 + r) plays in ordinary exponential growth. It is simply relabeled per round instead of per unit of continuous time.

What is the viral spread formula?

The viral spread formula is Cases(n) = C₀ × R₀ⁿ, where C₀ is the initial case count, R₀ is the reproduction number, and n is the number of rounds elapsed. Raising R₀ to the power n compounds the multiplier once for every round that has passed.

Written with a growth rate instead of a reproduction number, the identical formula is Cases(n) = C₀ × (1 + r)ⁿ, where r = R₀ − 1.

What happens when R₀ is below 1 versus above 1?

An R₀ above 1 produces sustained exponential growth, an R₀ below 1 produces exponential decline toward zero, and an R₀ of exactly 1 holds the case count flat. These three cases are just the growth, decay, and flat-line behavior of Cases(n) = C₀ × R₀ⁿ depending on whether the base R₀ sits above, below, or on 1.

The gap between R₀ and 1 controls the speed, not just the direction. An R₀ of 3.0 compounds far faster than an R₀ of 1.1, even though both describe growth.

How does a "round" relate to a real generation or cycle time?

A round in the formula represents one generation or cycle time, the typical interval between one case producing its new cases and those new cases producing the next batch, not a fixed unit like a day or a week on its own. To project a number of rounds into calendar time, multiply n by the length of one generation.

If a generation takes 4 days and a projection covers 8 rounds, that corresponds to 32 days of elapsed calendar time, even though n = 8 is what actually goes into the exponent.

Why does the exponential model eventually stop matching real spread?

The exponential model assumes an unlimited supply of new cases to reach, but any real, finite population of potential recipients, a fixed audience, a bounded contact network, a limited customer list, eventually runs low on people who have not already been reached. Once that happens, growth bends away from the R₀ⁿ curve well before it would mathematically need to.

The logistic growth calculator models this saturation directly, multiplying the same growth term by a factor that shrinks toward zero as the population approaches its ceiling.

Can R₀ change from one round to the next in this kind of model?

Yes. The constant-R₀ formula is a simplification, and a more detailed model can assign a different reproduction number to each round and multiply the sequence of factors together instead of raising one fixed R₀ to a power. Cases(n) then becomes C₀ × R₁ × R₂ × ... × Rₙ rather than C₀ × R₀ⁿ.

When R₀ does stay roughly constant over the rounds being studied, the simpler power formula gives the same answer with far less bookkeeping.

How is viral spread different from simple linear growth?

Linear growth adds the same fixed number of new cases every round, while viral spread multiplies the current total by R₀ every round, so the size of the addition itself grows over time. Ten cases each producing 1 new case a round is linear-looking only because R₀ − 1 happens to equal the flat amount being added at that particular size.

As soon as the case count changes, exponential spread and linear growth diverge. Linear growth keeps adding the same amount, while exponential spread adds more each round than the round before it.