Skip to content
Log in
← Statistics glossary

viral coefficient (k-factor)

Also called: k-factor, k factor, viral coefficient, virality

The number of new users each user brings on average: invitations per user × share of invitations that turn into new users. Below 1, virality amplifies other channels but can't drive growth alone.

The viral coefficient, or k-factor, is how many new users one user brings in, on average, through invitations and sharing:

k=i×ck = i \times c

where ii is the number of invitations each user sends and cc is the share of invitations that turn into a new user (not an existing user joining a group). Both are measured for a cohort over a fixed window, for example the first 30 days after signup, so that k from different months is comparable.

What k means for growth:

  • k ≥ 1: each generation of users brings at least as many new ones, and the product grows on its own. That's rare and usually temporary.
  • k < 1: every user you acquire another way brings a shrinking chain of invited users. The total is a geometric series:

total users=N×(1+k+k2+… )=N1−k\text{total users} = N \times (1 + k + k^2 + \dots) = \frac{N}{1 - k}

so with k = 0.5 each paid or organic user turns into two users in the end. Virality then acts as a multiplier on other channels: it lowers the effective CAC but can't replace acquisition.

Two more things decide how useful k is. Viral cycle time, the time from a user joining to their invitees joining, controls how fast the chain unfolds. And k is not a constant: it usually falls as a product fills up its natural network (friends already have the app) and differs a lot between segments, such as trip groups and flatmates.

Example

Halves' August cohort: 10,000 new users. In their first 30 days they send 16,000 invitations to groups. 5,600 invitations are accepted, but 800 of those came from people who already used Halves, so 4,800 accepted invitations created new users.

  • i = 16,000 ÷ 10,000 = 1.6 invitations per user
  • c = 4,800 ÷ 16,000 = 0.30
  • k = 1.6 × 0.30 = 0.48 (check: 4,800 new users ÷ 10,000 = 0.48 ✓)

Counting all 5,600 acceptances would give c = 0.35 and k = 0.56, overstating virality by a sixth.

With k = 0.48, the 10,000 August users eventually bring 10,000 ÷ (1 − 0.48) = 10,000 ÷ 0.52 ≈ 19,231 users in total, including themselves: close to double. Theo can divide the paid part of August's spend by that larger number to estimate an effective CAC, as long as he states that invitees from later generations are a projection.

Common mistakes

  • Counting existing users as invitees. Only invitations that create a new account belong in c.
  • No fixed window. k over 7 days and k over 90 days are different numbers; pick one window per cohort.
  • Treating k < 1 as failure. A k of 0.4 is still a 1.67× multiplier on every other channel.
  • Assuming k stays constant. It usually declines as the natural network fills; re-measure it on fresh cohorts.
  • Crediting virality for users who'd have come anyway. A flatmate might have installed Halves after a store search; a holdout on invite prompts shows the incremental part.