Virality

How to model viral growth in your financial model.

Virality, or viral growth, is a situation where the usage of a product or service by one user leads to the trial and adoption by more than one additional user, leading to exponential growth. Virality can be a valuable growth engine for companies, and is often an important aspect for companies leveraging product-led growth (PLG) in their go-to-market strategy.

How virality works

At the core of virality are viral hooks, or elements of the product or service designed to prompt users to share the product with others. These hooks can be incentives (e.g. discounts for referrals), engaging content that people naturally want to share, or functional benefits like collaboration features that require inviting others (e.g., multi-user platforms). To make the hooks effective, companies often apply principles such as social proof, reciprocity, exclusivity, scarcity, and authority.

Viral Coefficient

The key metric for understanding virality is the viral coefficient, or K Factor, which is defined as:

Viral Coefficient = Number of Invites per User x Conversion Rate of Invites

A viral coefficient greater than 1 indicates that each user, on average, brings in more than one additional user, leading to exponential growth. Less than 1 means that each user brings in less than one additional user, which will lead to slower grwowth. Therefore, for a product to be considered viral, it needs to have a viral coefficient greater than 1.

Viral Loops

The goal is to create viral hooks that lead to viral loops, which are the cycles through which a user invites others, leading to new users who then repeat the process, and so on. The time it takes for a user to invite others is called the viral cycle time, and it is an important lever of growth for product and growth teams at companies. For example, a viral loop that takes (a) 2 months from a user's first engagement to the invite of 4 new users with a 100% conversion rate is much less valuable than (b) a viral loop of 2 weeks with half the viral coefficient half and half the conversion rate:

  • (A): 1 user * 4 invites * 100% conversion rate = 4 new users (5 total) after 2 months
  • (B): 1 user * 2 invites * 50% conversion rate = 1 new user (2 total) after 2 weeks, then 2 * 2 * 50% = 2 new users (4 total) after next 4 weeks, then 4 * 2 * 50% = 4 new users (8 total) after 6 weeks, then 8 * 2 * 50% = 8 new users (16 total) after 2 months

Of course, retention (the inverse of churn) is an important aspect of virality, as users need to be retained long enough to go through a viral loop and churn plus viral coefficient has to be greater than 1 for growth to be exponential. The above example assumes full retention, but churn can be a significant drag on the net impact of viral growth.

Viral growth can be a powerful growth engine for companies and an important lever to control customer acquisition costs. While many view viral growth as "free", the marginal cost of building viral hooks into the product and service, as well as any direct costs of incenting and fulfilling on viral growth, can be significant and should be included in the accounting for the cost of growth.

How to use

For years, versions of the Standard Financial Model included a variety of prebuilt growth channels, including a viral growth component. Over time, though, I simplified the growth channel approach to one channel and removed the viral component, reducing complexity and making it easier for users to create good forecasts without analysis paralysis but also increasing the flexibility for advanced users to build specific customer acquisition strategies across multiple channels.

The viral component never made it back in, though, until Gianluca Segato's post How to model viral growth in your startup financial model inspired me to re-add a viral growth section into the Standard Financial Model. The viral growth section is built into the Growth section on the Revenues sheet, and it is additive to the other acquisition factors modeled into the prebuilt growth structure.

The viral growth section can be turned off or ignored by simply assuming a viral coefficient of 0, but used carefully, it can be a valuable method for forecasting the impact of viral growth.

Inputs

The Growth section on the Get Started sheet offer a couple of optional inputs:

  • Viral Coefficient. In this implementation the viral coefficient input should reflect the average number of invites per user per period * conversion rate of those invites to new users * # of loops per period. From a practical perspective the new growth rate assumptions at the top of the Growth section could be used to reflect viral growth without modeling virality explicitly, or you can use the viral input to reflect some separate aspect of growth.

  • Dropdowns to select the definition for the "per user" to use in calculating the growth from virality. The viral coefficient expresses the new users from 1 user, so this "per user" definition is important to calculate the absolute, or total, number of new users per period from virality. The dropdowns allow you to select from:

    (a) The growth unit or revenue unit labels, used to reflect the growth and conversion aspects to modeling revenues, and ...
    (b) New current period, new previous period, or end previous period, to select what number of "users" to use in the calculations. "End previous period" will use the number from the end of the previous period, "new current period" will use new that current period excluding the new from virality (which would create a circular calculation), and "new previous period" will use the number of new users from the previous period, useful for longer viral cycle times.

On Revenues, the viral coefficient is then calculated each period. By default the assumptions on Revenues will assume a declining viral coefficient over time to reflect decreasing virality through product maturity, but you can alter this assumption by changing the driver inputs on the viral coefficient line. The viral coefficient is multipled by the number of users defined on Get Started, and then that is added to the other growth factors (percentage growth per period, seasonality, manual input) to calculate the total new users per period.

Common Modifications

A couple common modifications:

  1. The base used for number of users can be modified to fit whatever cut of users are determined to the important for the viral loop. You can change the formula, or simply link to the numbers in the model that you want to use for the base.
  2. The viral coefficient input embeds the underlying assumptions for the average number of invites or referrals per user, the conversion rate of those invites to new users, and the number of viral loops per period. You can also break those assumptions out into multiple cells to make the assumption structure more transparent and flexible.

Alexander Jarvis's Viral Growth Model Tool is also a good resource for understanding how to model viral growth.

Questions, contact me