User Acquisition: Viral Factor Basics

In the first post in this series, we covered the basics of the five sources of traffic to a web-based product. This next post covers one of the most important, albeit trendy, aspects of user acquisition: virality.

It’s About Users Touching Non-Users

Look at your product and ask yourself a simple question: which features actually let a user of your product reach out and connect with a non-user? The answer might surprise you.

At LinkedIn, we did this simple evaluation and discovered that out of thousands of features on the site, only about a half-dozen would actually let a user create content that would reach a non-user. (In fact, only a couple of these were used in high volume.)

I continue to be surprised at how many sites and applications are launched without having given careful thought to this exactproblem. Virality cannot easily be grafted onto a service – outsized results tend to be reserved for products that design it into the core of the experience.

Useful questions to ask, from a product & design perspective:

How can a user create content that reaches another user?

How does a users experience get better the more people they are connected to on it?

How does a user benefit from reaching out to a non-user?

Understanding Viral Factors

One of the most useful types of metrics to come out of the last five years of social software is the viral factor. Popularized by the boom of development on the Facebook platform in 2007, a viral factor is a number, typically between 0.0 and 1.0. It describes a basic business problem that affects literally every business in the world:

“Given that I get a new customer today, how many new customers will they bring in over the next N days?”

“N” is a placeholder for a cycle time that makes sense for your business. Some companies literally track this in hours, others 3 days, or even 30. Let’s assume for now that 7 is a good number, since it tells you given a new customer today, how many new customers will they bring in over the next week.

Basic Viral Math

The good news is, once you identify the specific product flows that allow users to reach non-users, it’s fairly easy to instrument and calculate a viral factor for a feature or even a site. But what does the number really mean?

Let’s assume a viral factor of 0.5, and an N of 7. If I get a new user today, then my user acquisition will look like this over the next few weeks:

1 + 0.5 + 0.25 + 0.125 ….

It’s an infinite series that adds up to 2. By getting a new user, the virality of this feature will generate a second user over time.

Two obvious epiphanies here:

A viral factor is a multiplier for existing sources of user acquisition. 0.5 is a 2x, 0.66 is a 3x, etc.

Anything below 0.5 looks like a percentage multiplier at best.

What about a viral factor of 1.1?

One of the memes that started to circulate broadly in 2008 was getting your viral factor to “1.1”. This was just a proxy for saying that your product or service would explode. If you do the math, you can easily see that any viral factor or 1.0 or higher will lead to exponential growth resulting in quickly having every human on the planet on your service.

I don’t want to get into a Warp 10 debate, but products can in fact have viral factors above 1.0 for short periods of time, particularly when coming off a small base.

Learning from Rabbits

The key to understanding viral math is to remember a basic truth about rabbits. Rabbits don’t have a lot of rabbits because they have big litters. Rabbits have a lot of rabbits because they breed frequently.

When trying to “spread” to other users, most developers just focus on branching factor – how many people they can get invited into their new system. However, cycle time can be much more important than branching factor.

Think of a basic exponential equation: X to the Y power.

X is the branching factor, in each cycle how many new people do you spread to.

Y is the number of cycles you can execute in a given time period.

If you have a cycle that spreads to 10 people, but takes 7 days to replicate, in 4 weeks you’ll have something that looks like 10^3. However, if you have a cycle that takes a day to replicate, even with a branching factor of 3 you’ll have 3^27. Which would you rather have?

In real life, there is decay of different viral messages. Branching factors can drop below 1. The path to success is typically the combination of a high branching factor combined with a fast cycle time.

As per the last blog post, different platforms and traffic channels have different engagement patterns and implicit cycle times. The fact that people check email and social feeds multiple times per day makes them excellent vectors for viral messages. Unfortunately, the channels with the fastest cycle times also tend to have the fastest decay rates. Fast cycle times plus temporary viral factors above 1 are how sites and features explode out of no where.

Executing on Product Virality

To design virality into your product, there really is a three step process:

Clearly articulate and design out the features where members can touch non-members. Wireframes and flows are sufficient. Personally, I also recommend producing a simple mathematical model with some assumptions at each conversion point to sanity check that your product will produce a strong viral factor, layered over other traffic sources (the multiplier).

Instrument those flows with the detailed metrics necessary for each step of the viral cycle to match your model.

Develop, release, measure, iterate. You may hit success your first time, but it’s not unusual to have to iterate 6-8 times to really get a strong viral factor under the best of conditions. This is the place where the length of your product cycles matter. Release an iteration every 2 days, and you might have success in 2 weeks. Take 3-4 weeks per iteration, and it could be half a year before you nail your cycle. Speed matters.

You don’t need hundreds of viral features to succeed. In fact, most great social products only have a few that matter.

What about mobile?

Now that we’ve covered the five scalable sources of web traffic and the basics of viral factors, we’ll conclude next week with an analysis of what this framework implies for driving distribution for mobile web sites vs. native applications.

Do you have some examples on high growth web apps that have a lot of features that let users reach out to non-users? I tried analyzing a few sites like Groupon, AppSumo, Rdio, but most of the said features are just “Refer friends and earn $10″ and “Share X on Facebook, Twitter, email, or copy URL.” What else could you possibly do?

great article Adam. I think the use of social sharing tools, that enable members talk to non members, should be deeply embedded into a company’s culture. I can be done taking the generic share tools and integrating them with the site’s UX to fit into the site’s overall context and function, with a unique call to action. For example, in the context of a social gifting site, rather than just having a “share” call to action next to the products, why not have a share button calling the members to “get friends’ opinions on the gift” – enabling them to ask friends via Pinterest, Twitter or Facebook. With a simple text addition that fits the context, sites should be able to take a generic share button and make it their own built-in, mini social sharing feature. Having a Group Gifts product where members create Group Gift pages to invite friends and chip in together for a gift enables social collaboration and can sprout virility as members invite and share the page with non-members. We have narrowed our platform, which we launched recently, from 6 main features to 1 main feature [Group Gifts] with complementary features, most of which enable member to non-member communication.