What is viral coefficient?

The average number of new users each existing user brings in, which decides whether word-of-mouth growth compounds or fades.

Viral coefficient diagram example

Public diagram from the Machinations Community. Open it on its own page

The viral coefficient, often written k, is the number of new users that one existing user brings in through invitations, referrals or sharing. It shows whether the user base can feed itself. A value above 1 means every cohort of users produces a larger cohort after it, while a value below 1 means referrals alone will fade out and paid or organic acquisition has to keep supplying new users.

How it works

The coefficient is the product of two numbers: how many invitations the average user sends (i) and the share of those invitations that turn into new users (c). So k = i x c. Each new user then sends their own invitations, which creates a feedback loop. If k is 0.4, a first wave of 1,000 users brings 400, then 160, then 64, and the total settles near 1,000 / (1 - 0.4), about 1,667. If k is 1.2, each wave is larger than the last and growth keeps compounding until something else, such as market size, limits it.

The loop also has a delay. The time between a user joining and their invitees joining, the cycle time, matters as much as k itself. A coefficient of 0.9 with a one-day cycle can add more users in a month than a coefficient of 1.1 with a three-week cycle.

Example

Say a budgeting app has 1,000 new users. On average each user sends 5 invitations, and 10% of invitations lead to a sign-up. That gives k = 5 x 0.10 = 0.5. The 1,000 users bring 500 more, those bring 250, then 125, and so on. The total reaches about 1,000 / (1 - 0.5) = 2,000 users from the original 1,000. Raising the invitation conversion from 10% to 20% changes k to 1.0, and now each wave is as large as the one before it, so the total keeps growing without a ceiling until the market runs out. This is an illustration with round numbers.

How to model it in Machinations

Use a Source for paid or organic sign-ups and a Pool for active users. Add a second Source that creates invitees, driven by a state connection from the Pool, so that more users produce more invitees. Place a Gate on that flow set to the invitation conversion rate, and add a Delay for the cycle time. Make invitations per user and conversion rate Levers, then Play many times and chart the user Pool to see where k crosses 1 and growth stops fading.

See viral coefficient in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.