Viral Coefficient Calculator

Calculate K-factor and model exponential growth wave by wave.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Every growth team eventually asks the same question: is our product spreading on its own? The viral coefficient (also called the K-factor) gives you a single number that answers it precisely. A K above 1 means each generation of users recruits more users than itself — a self-sustaining loop. Below 1, growth relies entirely on external acquisition. Exactly 1 is a knife-edge that produces linear, not exponential, growth.

How it works

The formula is deceptively simple:

K = i × cr

where i is the average number of invitations, referral links, or shares each user sends, and cr is the fraction of those invitations that convert to a new active user (expressed as a decimal: 25% = 0.25).

Starting from a seed cohort of users, the product multiplies out wave by wave:

  • Wave 0: seed users (the starting cohort)
  • Wave 1: seed × K new users join
  • Wave 2: seed × K² new users join
  • Wave n: seed × Kⁿ new users join

Cumulative users after n waves = seeds × (K^(n+1) - 1) / (K - 1) when K is not exactly 1. When K = 1 exactly, the formula simplifies to seeds × (n + 1).

The cycle time — the average days between a user joining and their invitees joining — determines how quickly those waves translate into real-world growth. Two products with the same K but different cycle times reach milestones at very different speeds.

Worked example

Suppose you launch with 100 seed users. Each user sends 5 invitations and your invitation-to-signup conversion rate is 25% (realistic for a well-designed referral email).

K = 5 × 0.25 = 1.25 — viral.

With a 7-day cycle time:

WaveDayNew usersCumulative
00100100
17125225
214156381
321195576
5353051,126
10709314,257

To reach 10,000 cumulative users takes approximately 13.6 waves ≈ 95 days. The same product with a 3-day cycle instead of 7 days would hit 10,000 users in roughly 41 days — same K, very different outcome.

Now compare a sub-viral product at K = 0.8 (say, 4 invitations at 20% conversion). Growth tapers: the series converges and total lifetime users from 100 seeds is capped at 100 / (1 - 0.8) = 500 users regardless of how long you wait.

Formula note

The time-to-target is solved analytically. For K ≠ 1:

Cumulative(n) = seeds × (K^(n+1) - 1) / (K - 1) = target

Rearranging: K^(n+1) = target × (K - 1) / seeds + 1

n = log(target × (K - 1) / seeds + 1) / log(K) - 1

For K < 1, the infinite geometric series converges to seeds / (1 - K); if your target exceeds that ceiling the tool marks it unreachable. All arithmetic uses 64-bit floating point; results are rounded to one decimal place in the display.

Ad placeholder (rectangle)