Is it possible to calculate the virality of a project? What is k-factor? Which formulas do you need to use for this?
Sometimes, when we need to answer a question we are not very competent at, we ask our more experienced in a certain field friend.
Friends or colleagues mostly recommend us a service/person/application which helped them in solving a similar issue. And then after we follow this advice and receive high-quality service, we will tell our friends about it as well.
The process of sharing product information with the user’s social circle is called virality.
Read more: Game Analytics Metrics Glossary
By the way, spreading information about an app can be calculated. It expressed by the k-factor metric, also called "virus index", or "virality index".
There are several methods of calculating the k-factor. They differ from each other quite a bit, and some formulas include parameters that are not always easy to track accurately. Here is the most popular and most frequently used formula for calculating the virality index:
K-factor = Sent invites * Conversion
Where Sent invites is the average number of invitations sent by a user, and Conversion is the conversion from receiving the invitation to install.
Then the number of new users invited by project users can be calculated with the help of the following formula:
New users = Active users* k-factor
For example, let’s assume that every app user invites two friends who will then install this app with 10% conversion rate, which means that only every 10th user of those who received the invitation will install the app. Then we will have:
k-factor = 2 * 10% = 0.2
It means that every 1,000 users will bring 200 more users to the app.
Still, this is not the end of the cycle. The invited 200 users can get their friends (200 * 0.2 = 40), and those, in turn, will also invite their acquaintances (40 * 0.2 = 8), and so on ad infinitum.
So the number of users invited due to the virality during one cycle can be calculated in the following way:
New users (1) = Active users * k-factor
And the number of users in subsequent cycles is as follows:
New users (n) = New users (n-1) * k-factor
The greater the k-factor is, the faster grows the audience of the project.
The number of project users is also important because they will spread information about the product.
Therefore, the more users we have, the more people will learn about our app from them.
Let's make an example of how k-factor values can affect the audience’s pattern of growth.
Suppose initially 5,000 users begin to spread information about your product. Let's see how many new users will be in the project by the end of the 10th cycle considering different k-factor values:
|Cycle number||k-factor = 0.5||k-factor = 1||k-factor = 1.2|
If k-factor is more than 1, the project’s audience will grow organically. If it is less than 1, the number of acquired users and the general audience will be gradually decreasing if other acquisition channels are not involved. It happens because users inevitably churn of any product. This churn must be compensated by new users. It is possible to do it for free by increasing virality and k-factor. Otherwise, we’ll have to use paid traffic.
You can find plenty of useful information about key metrics and more in our FREE online course "Game Analytics: from Basics to Advanced Strategies"
Based on devtodev experience, we can name the following ways of increasing k-factor and the number of engaged users:
- allow inviting friends and creating the necessary conditions and motivations, for example, sharing content or bonuses for inviting a friend;
- create high-quality content that you would like to share;
- make sharing easy;
- give users the possibility of sharing their achievements inside the app through social media. It can be extremly important in games (for example, winning at some level), fitness trackers (covering long distances), training applications (learning 5,000 foreign words).
Read more: Retention Calculation by Hours vs by Days
It is also essential to reduce the time from the moment a user installs an app until their friend does. There are several stages between these two events that affect product information spreading speed. They are often called a viral cycle.
During this cycle, a user installs an app, gets a positive experience from using it, tells their friends about it, and then some of them install this app. All this takes time, slowing the product growth.
Now let’s go back to the formula that we used for the calculation at the very beginning. It included such parameters as sent invitations and conversion from such an invitation per installation.
This approach has a disadvantage, as users don’t always share product information by sending invitations. Not all apps have this service anymore. Users can talk about an app face to face, they can send an app link via any messenger or social network.
Read more: Main Metrics. Sticky Factor
It’s impossible to trace these actions, as well as their conversion. Therefore, this formula is limited and most likely it won’t get you a precisely accurate calculation of virality.
There are some more calculation options:
k-factor = (Installs — Paid installs) / Paid installs
In this case, we calculate the number of players invited by paid users. However, if all the app users, not only those acquired by money, share information about the app, we can change the denominator to take this detail into account.
k-factor = (Installs — Paid installs) / Active users
Perhaps this is the most optimal and universal formula of k-factor that does not depend on parameters that we cannot always accurately rate.
Virality is one of the most important metrics of a project. It points at the app’s ability to grow organically and without costs for users’ acquisition. It also characterizes the app’s growth speed and popularity in the market.
We can drive virality by motivating users to share information about our product. However, if we want to succeed and make those users like us, it has to be excellent. In this case only we may achieve high k-factor results, bringing it closer to 1.