I worked with two companies in the past month that needed a way to model viral adoption as part of their effort to understand the impact of a strategic decision to deliver part or all of their technology under an opensource license. Having such model enables them to understand the critical variables and success-factors, set targets for them and then measure as they embark on their strategies.
I set out to make a generic model that can at once be used at both companies. Hoping it may be of use to others as well, I will publish it here. I had much benefit from articles published by David Skok and Andrew Chen and try to use their terms and insights as much as possible.
The basic assumption for viral growth is that every new user of a product becomes an ambassador for that product and will convert others to start using that product as well. There are two variables that allow you to create a model for viral growth:
- Viral Coefficient: the total number of new users generated by an existing user
- Viral Cycle Time: the amount of time it takes before all these new users have been generated
Viral growth can happen in many ways, from word-of-mouth, to active solicitation and anything in between. This model makes no assumptions about that, it just measures the results. Here is an example in which the unit of time is set in weeks, the starting number of users is 1000, the viral coefficient is .3 and the cycle time is 3 weeks:
The model reflects that the viral impact starts in the first period (week) after a user has started using a product and lasts throughout the duration of the cycle. If new users join in the first week, they start working their viral magic in the week after that. So, the 1,000 users in week zero will deliver 300 new users (coefficient is .3) over 3 weeks (cycle time is 3), or 100 new users in week 1, 2 and 3. The 100 new users in week 1 deliver 0.3*100=30 new users, 10 in the weeks 2, 3 and 4. The 110 new users in week 2 deliver 33 more users, and so forth.
As the coefficient is less than 1 in this case, the number of new users per week trends to zero over time. If the coefficient is 1 or larger, the viral engine will keep on giving.
The pattern for the number of new users per week (in C15:L15) is that each number is equal to the sum of the numbers of the previous three weeks, multiplied with the viral coefficient and then divided by the viral cycle time. In the next image you can see how that pattern is turned into a spreadsheet formula:
The formula in cell H24 is:
This formula defines the range of values that can be summarized as *all* previous weeks ($B24:G24), but only includes the numbers in the weeks for which the week number is 3 or larger (columns E, F and G).
You can download the Excel spreadsheet with this model (see above). I have also published the model as a Google Spreadsheet. Take a look and play with the values for Viral Coefficient and Viral Cycle Time, to see how they impact the growth of your user base. To inspect the formulas, select a cell and then hover the mouse over the formula area on the right bottom of the browser window.
In the next entries I will add further metrics to this model that have an impact on viral distribution.