Lessons Learned – Viral Marketing

A short study of this web site reveals that a hugely important factor for success in startup companies is finding ways to acquire customers at a low cost. In the Business Models section, we looked at the perfect business model: Viral customer acquisition with good monetization. However viral growth turns out to be an elusive goal, and only a very small number of companies actually achieve true viral growth.

In 2005, I invested in a company called Tabblo (acquired by HP in 2007), and had the good fortune to work with an outstanding entrepreneur, Antonio Rodriguez. Tabblo did manage to achieve good viral growth, but around the same time YouTube was launched and managed to achieve explosive viral growth. In the process of looking at these two companies, we learnt several important things about virality. This post digs deeper into what it takes to achieve viral growth, and examines the key variables that drive viral growth.

To give you a preview of this post, what you will learn is that there are two key parameters that drive how viral growth happens, the Viral Coefficient, and the Viral Cycle Time. To fully illustrate the arguments, I have included two spreadsheet models (embedded) that you can play with interactively to see how viral growth works. There is a risk with this level of depth, that some readers will find this too technical, and if you find yourself reacting that way, may I recommend that you jump straight to the conclusion, which is under the heading Lessons Learned towards the bottom of the article.

What we want to understand in these two models, is how the population of Customers changes over time. The first model that we will build looks in a very simple way at how viral growth works in the marketing world.

The Viral Coefficient (K)

Imagine you are starting a new company that plans to acquire customers through viral growth. You have several friends that you use to become your first customers, and they in turn start inviting friends to join, and those friends start inviting friends, etc.

The model at this stage has the following inputs:

Variable Name Description Example Value
Custs(0) Initial set of Customers 10
i No of invites sent out be each new customer 10
conv% The percentage of invites that convert into customers 20%

The first thing that we need to calculate is the number of new customers that each existing customer is able to successfully convert. This turns out to be an extremely important variable, and is known as the Viral Coefficient. The formula to calculate the viral coefficient is pretty simple: multiply the number of invitations by the conversion rate.

K Viral Coefficient K = i * conv%

Now lets take a look at how K affects customer growth as we go through the first cycle of viral “infection”. Our initial 10 customers will each send out 10 invitations, and successfully convert 20% of those (i.e. 2 new customers each). So the total customers after the first cycle will be equal to the starting 10, plus the new 20, which equals 30.

(In case the model above does not appear, click here to view the model full screen.)

To fully understand the model, it’s useful to look at the second, and subsequent, cycles of growth. In the model above, only the new customers that were added in the prior cycle send out invitations. This is because it is highly unlikely that the entire population will continue to send out invitations every cycle. Every time I have looked at other blog articles or formula for Viral Growth, they appear to have gotten this part of the calculation wrong.

Understanding the impact of the Viral Coefficient

Now that we have the model built, we can play with the variables to see what effect they have. In the spreadsheet above, go to cell B6, and change the Conversion rate for invites (conv%) to 5%. This will make the Viral Coefficient less than 1. Now look at what that did to your population growth. Instead of continuing to grow, it grows to 20 people, and then stops.

What this tell us is very interesting:

The Viral Coefficient must be greater than 1 to have viral growth.

Further playing with the spreadsheet will show that increasing the viral coefficient by increasing the number of invites sent out, or the conversion rate, has a nice impact on how the population grows. Try this out by changing cells B5 and B6 in the model above. Later on we will talk about how to design your application to maximize these values.

The Second Important Variable: Viral Cycle Time

Antonio Rodriguez built Tabblo around the same time that YouTube was built. Both sites were viral, but while Tabblo was reasonably successful, YouTube exploded and amassed users at a rate that had not been seen before on the Internet. What was going on here?

To answer this question, we have to look at the Viral Cycle Time,(which we will refer to in formulas as “ct”).

The full viral cycle involves several steps that work in a loop:

The Viral Cycle Loop

The Viral Cycle Time is the time that it takes for this cycle to complete.

In YouTube’s case the Viral Cycle Time was extremely short: a user would come to the site, see a funny video, and immediately send the link on to their friends. Tabblo, on the other hand, had a much longer cycle time. A customer would post some photos on the site and invite their friends. The friends might see the photos on Tabblo, and like the experience and decide that they would use the site the next time they took photos they wanted to share. However, that is where the problem came in: it could take months before they next took photos, and decided to share them.

Later on this post, we will talk about how to optimize Viral Cycle Time – (see Lessons Learnt).

How Viral Cycle Time affects growth

To model Viral Cycle Time’s effect on growth, I searched the web, high and low, looking for a pre-defined formula. To my great surprise, there was no formula that I could find that correctly calculated customer growth, and showed the impact of Viral Cycle Time. What was also surprising, was that I did find several blogs showing formulae for viral growth, but in every case, they appeared to make the same mistake, which was assuming that the entire customer base would continue sending out invitations for every cycle. So I collaborated with my partner, Stan Reiss, who turns out to be a whole lot smarter than I am, and he helped me develop the fomulae that are used in the more sophisticated model for viral growth below:

(In case the model above does not appear, click here to view the model full screen.)

A quick look at the table that shows the effect of varying the Viral Cycle Time shows that customer growth is dramatically affected by a shorter cycle time. For example, after 20 days with a cycle time of two days, you will have 20,470 users, but if you halved that cycle time to one day, you would have over 20 million users! It is logical that it would be better to have more cycles occur, but it is less obvious just how much better. A quick look at the formula tells the whole story. The Viral Coefficient K is raised to the power of t/ct, so reducing ct has a far more powerful effect than increasing K.

This explains why YouTube exploded at a faster rate than ever seen before.

Lessons Learned

There are a large number of interesting lessons to learn from the above models:

  1. Unless you have a Viral Coefficient that is greater than 1, you will not have true viral growth.
  2. The most important factor to increasing growth is not the Viral Coefficient, but the Viral Cycle Time (ct) which should be made as short as possible. This will have a dramatic effect on growth.
  3. The second most important area to focus is the Viral Coefficient (K). Anything that you can do to increase the number of invitations sent out, and the conversion rate, will have a significant effect on growth.

In addition to the above lessons that come from the model, there are some other important observations:

  1. Virality is not a marketing strategy that can be executed by the marketing department. It has to be built into your product right from the beginning. This is a function that needs to be thought through by the product designers and developed by the engineers.
  2. The most viral products are those that only work if they are shared. For example, Skype only worked in the early days if you got your friends on to Skype, otherwise you had no way to call them. If you have an application today, think about how you can make it social, where it would work better by sharing data with friends/co-workers. That provides a great incentive for customers to invite their friends/colleagues to use the application.
  3. To make the Viral Cycle Time as short as possible, we can apply the same thought process that we use in Building a Sales and Marketing Machine, where we look at what are the customers motivations and negative reactions as they flow through the viral cycle.  For example, when I reach the stage where I have to enter my friends addresses, I will not bother to do very many if I have to look them up in another program, and copy and paste them one-by-one into the browser. You can solve this problem by providing me with Facebook Connect integration to invite my Facebook friends, and an adapter to import my email contacts. (Check out the “Share This” button at the bottom of this post as an example of how this can be done.) Getting at email contacts is easy with web mail clients like GMail, etc. – but harder with Outlook. However viral products like LinkedIn have created Outlook adapters that you can download. It is also feasible to get at that information via Outlook Web Access (OWA) provided you can deal with the security concerns.You should also be looking for ways to encourage customers to invite people at various junctures in their use of the application. And of course, you should be asking yourself the question: is the value proposition of your product really that compelling that your customers will want to share it with others?Another great way to increase virality is to incent customers with a reward for every customer they successfully convert. Since this can result in an individual feeling guilty that they are making money off their friends, the best way to do this is to also provide the friend that is receiving the invitation with an equal incentive. Now your customer will feel like they are doing their friends a favor.
  4. Consider leveraging viral platforms such as Facebook, which have built in social features to let friends know what apps you are using. The wall, and status updates provide a great way for their friends see your app.
  5. Use A/B testing to figure out which approaches and creative presentations are getting you the highest conversion rates.
  6. If you are successful in creating a viral model with very short cycle times, watch out for what can happen. Several companies that have been lucky enough to achieve this have been shocked by the enormous need to scale server capacity. Fortunately with cloud computing offerings such as Amazon EC2 and S3, it is easier than in the past to scale on demand.

Hybrid Viral Models

Many entrepreneurs reading this post will realize that they may not have the means to achieve true viral growth (where they have a Viral Coefficient of greater than 1). Rather than giving up, it is worth considering a hybrid viral model. In the hybrid viral model, you make up for the shortfall in customers by acquiring those through some other means such as paid search, or SEO.

Model Limitations

The model above is pretty simplistic and does not take into consideration several real world phenomena:

  1. What happens when you grow so fast that you start to saturate the population. This has happened to several Facebook app developers. They experience very rapid growth, and then suddenly the growth dies. Andrew Chen has written a great blog post about this:  Facebook viral marketing: When and why do apps “jump the shark?”. (Side note: I don’t believe that the equation that Andrew puts forward for simple viral growth is correct, as it assumes that the entire population will continue sending out invitations at each viral cycle. However his work on saturation of the population is very relevant for highly successful viral apps.) In case you are interested in where the term “jump the shark” came from check this out: Wikipedia: Jumping the shark.
  2. What happens if you have attrition in your customer base over time. An easy way to extend the model to take this into consideration would be to add a variable to model Attrition Rate as a percentage of the entire installed base at each cycle, and simply subract this from the total population at each cycle. This topic is nicely covered in this blog post by Andrew Chen: Is your website a leaky bucket? 4 scenarios for user retention.
  3. The customers that you have may send out more than one set of invitations beyond the initial set.
  4. etc.

Further Resources

Since publishing this post, I created a SlideShare presentation that has a several additional ideas on viral marketing: The Science behind Viral Marketing. Also check out Andrew Chen’s blog, as he has written extensively on the subject of Viral Growth. For example, here is one great example: What’s your viral loop? Understanding the engine of adoption.

Uzi Shmilovici has a nice list here of the Eight Ways To Go Viral.

Kevin Lawler very kindly created a post explaining how to derive the formula for viral growth used in this post: Virality Formula.

Acknowledgements and Thanks

My thanks to Antonio Rodriguez, the founder of Tabblo, who got me started on thinking about this topic several years ago. Also to Andrew Chen, whose writings on this topic are excellent. And to my partner Stan Reiss, who took my simple logic and turned it into an elegant mathematical formula.

Be Sociable, Share!
  • http://www.facebook.com/profile.php?id=500092211 Katrina Qat Glerum

    I too, can’t seem to find your spreadsheets, though I am using an updated copy of chrome, and tried firefox as well. When you say they are embedded, do you mean I should be able to see tables in the text of your message above?

  • http://www.facebook.com/profile.php?id=500092211 Katrina Qat Glerum

    Unfortunately I can’t find your embedded spreadsheet, so two technical questions:

    1) Is (i) new user invitations supposed to mean invitations per cycle time (ct), invitations per time (t), invitations within the “new” period (however one’s metrics define that), lifetime invitations, or invitations during first use?

    2) In the formula above, the “+1″ appears to be superscript to ct. Is K’s exponent [(t/ct) + 1] or is it [t/(ct+1)] ?


  • http://www.forentrepreneurs.com David Skok

    Katrina, I took a look at the blog page and was surprised to see that somehow or another the code for the embedded spreadsheets had been deleted from the posts. I have re-inserted it, so you should now be able to see the spreadsheets. Please let me know if there is still a problem by leaving another comment.

    Thanks, David

  • http://www.facebook.com/profile.php?id=500092211 Katrina Qat Glerum

    Oh thank you! that makes much more sense now.

  • http://www.usedtransmission.org Used Transmission

    This is so interested! Where can I find more like this?

  • http://www.forentrepreneurs.com David Skok

    Andrew Chen is a good author on this topic:


  • http://twitter.com/RodneyWatkins Rod

    Spreadsheet does not seem to be accessible. Is it available elsewhere?

  • http://www.forentrepreneurs.com David Skok

    Try using Firefox or Chrome. That always seems to fix the issue.

  • http://twitter.com/ParisaLouie Parisa Louie

    Great post! Thank you for this!!

  • Greg Mand

    Discovered this article last week and wanted to say thanks for posting. Clear, easy to understand explanation of virality. Much appreciated!

  • http://www.forentrepreneurs.com David Skok

    A pleasure, Greg. Thanks for the positive feedback!

  • http://www.facebook.com/people/Micu-Bogdan/1317781241 Micu Bogdan

    I took a really close look at the formulas you propose. I think there are some other coefficients in the equation,but tomorrow i will try to come back on this one.
    I figure out a way to get the smallest ct possible by giving a strong motivation to users to invite friends.If you want we can experiment this concept for a few days on any desire place where yo wish drive people in.I will show it for free of course.

  • http://www.searchofficespace.com/uk Serviced Offices 1

    Very interesting analysis of Marketing. Thank you for syntheses of deferents aspects of Viral Marketing.

  • http://pulse.yahoo.com/_VLSKWQAGBPZJBI2PGDJUSZHSYM raul

    What % of users who try a new product send invitations to their friends? Obviously It depends of the Product Quality but, Is there any standard rate?

    Thank you in advance and good job with your post. :)



  • http://www.forentrepreneurs.com David Skok

    Unfortunately there is no standard rate. It depends greatly on the type of product, and how likely it is to be relevant to their friends, and also how excited they are by the product.

  • Alvaro

    Hi David,
    Great approach, I’m formulating a viral growth projection and this comes in handy.
    Nevertheless, when it comes to social networks (in general), there’s a factor that we should have in mind and I’m trying to figure out.

    Let’s say i=5 and that me, the first user, am inviting Bob, Mary, John, Laura and Joe. You would say that Bob would send invites to 5 more people, but we’re not taking into account that there’s a big chance that Bob already knows Mary and John, so there would be a chance of multiplicity because of a mutual friendship factor.

    Is there a way you would suggest to take this factor into account in our formula? I think this makes a great change when it comes to accuracy in growth projection. I’d be very grateful if you could shed some light suggesting any modification we could make from here.


  • http://www.forentrepreneurs.com David Skok

    Alvaro, that would be fairly easy to do. Just guess at the approximate number of “non-duplicate invites” , and use that for i.

    So to be clear: Non Duplicate Invites = Invites sent out – No of people invited that will have already seen an invite.

    As with all of this, you will have to initially guess at what you think will happen, and over time learn what really matters. What really matters is what is the effective number of new users that you get from each existing user. (i.e. Invites x Acceptance %, which is the K factor, or viral coefficient). You should be able to measure that over time.

    I also think that if an individual doesn’t accept the invitation the first time they see it, they will be more likely to accept it after seeing a similar invitation multiple times from different friends. It’s hard to model these subtle effects, but not crucial to do so. What is important to focus on is:

    1. Getting the most invitations sent out as possible
    2. Getting the highest acceptance rate possible
    3. Shortening the time from acceptance to that new user sending out their own invitations’

    I hope this helps!

  • Alvaro

    Thanks a lot for your help!
    This is for a pre-launch projection, so I’m hypothesizing.

    I actually was about to try to calculate this through iterations involving social network diagrams, thinking that this ‘No of people invited that will have already seen an invite’ would vary geometrically depending on average social graphs, but I’d probably be making this too complicated :P


  • http://profiles.google.com/ianrbruce Ian Bruce

    Excellent post, thank you. There’s a lot of parallels with Rogers’ diffusion of innovation theory. In that, he found out that all “customers” in your spreadsheet are not equal in their viral effectiveness, or ability to transmit and convert. Another complication for the model.

    Thanks again.

  • http://www.forentrepreneurs.com David Skok

    Agreed. But one shouldn’t get too hung up on the micro details of the model, as they can obscure the importance of the three key variables:

    - invites sent
    - acceptance rate
    - viral cycle time

    Best, David

  • http://profiles.google.com/ianrbruce Ian Bruce

    I agree on simplicity. One other thought — attrition or drop out, which you touch on, is a variable that can explain why initially very strong viral effects (high K) can later fall away. An example here might be Quora.

    Very provocative model. Thanks.

  • http://twitter.com/launchpadsix Launchpad 6 Pty Ltd

    I agree with David that it changes considerably depending on your product, the incentive to convert, how easy it is to convert, etc. but to give you a very brief idea, Hot or Not had a 2% conversion rate. I.e. 2 of every 100 people who viewed the site uploaded their own photo.

  • http://www.forentrepreneurs.com David Skok

    Thanks for adding real world example data. Very helpful!

  • Rana Mumtaz

    Such an informative post and truly agree with David that all customers will not be inviting all the time.  I made some modifications to the model and I am using it in my financial model.  Thanks David!

  • http://twitter.com/Potoroo Potoroo

    This was very fascinating to read!  Are there any updates to the model over the last couple of years? :)

  • http://www.forentrepreneurs.com David Skok

    No updates have been made since the original. Thanks.

  • Anonymous

    This is great post about viral marketing and its features. Viral marketing is one of the most popular ways to market your web site message, product or Web on the Internet.

  • http://www.facebook.com/rvalli Robert J Valli

    I just thought I’d share some of the variables which comprise my ‘Viral co-efficient’:
    • The value of the information to the avg person, relative to what news is out there currently, and what is conceivably possible.
    • The value of the information to the avg person, relative to what news is out there currently, and what is conceivably possible. Is this a big deal to me? Is this a big deal to others around me/I know/can tell?
    • The number of channels the info can flow from the initial source to the total audience (TV, Radio, Newspaper, or just during the half time show during the superbowl?) as well as the ‘total reach’ expressed as a percentage of the total population. There is still 10%? maybe you can’t reach within X timeframe.
    • Fidelity, which is tied in part to the complexity of the information. Will the person understand what is being explained to them? Or will the message degrade from transmission to transmission?
    • The number of initial dissemination points. Great news/terrible dissemination = failure, lame news/incredible dissemination = possible success, etc.)
    • The value of sharing this information with others, usually expressed as the avg shares per individual …which partially hinges on the number of channels the info can flow from the downstream sources to other downstream sources who are already not aware of whatever you are trying to show them.
    • Time. How long is the duration of viral-ity? Is there a build up before hand, like New Years? Is it flash news that becomes useless just as fast? Or something that will hold people’s attention for days/weeks/years? I’s it a race with a start and a finish, or does it run until it just peters out and dies?
    • Authenticity. Who told you the sky is falling? Drunk bum, or your best friend? (unless the drunk bum *is* your friend:)
    • Orchestration. Was this by chance? Or planned carefully to maximize all the synergistic feedback cycles possible?

  • http://shanegarrison.com Online marketing blog

    Great article for me as a newbie to viral marketing and something that I will no doubt include into my must have methods for success.

  • http://shanegarrison.com blog online marketing

    It can be powerful but most people don`t understand how to use it effectively.

  • http://www.forentrepreneurs.com David Skok

    I would agree with that. Do you have any interesting suggestions for those people?

  • Tom Birch

    Something to add to your Lessons Learned:  When you have a viral coefficient of greater than 1; make sure your close your next financing round quickly.  Based on my personal experience in early 2003, I lost 5 term sheets in less than three weeks when the virality declined from 1.2 to 0.99.  Some fun.

  • http://www.myindustry.ir Myindustry

    It was impossible to learn all of them even after months of studying. Thanks, Specially the three lessons which we learned from model were great.

  • http://www.forentrepreneurs.com David Skok

    Delighted to hear that. Thanks for taking the time to provide the feedback!

  • http://jelpern.blogspot.com Jordan Elpern-Waxman

    This is a great post and really helped me understand the concept of the viral coefficient and the math behind it. Has anybody written about/modeled the relationship b/w K, ct, and the continuously compounding interest model?

  • http://www.forentrepreneurs.com David Skok

    Thanks for the positive feedback. I am not aware of anyone who has modeled that. Sorry!

  • http://www.outsource-website-development.com outsourcing web developers

    wow, awesome post, I was wondering the same thing. and found your site by google, many userful stuff here, now i have got some idea. bookmarked and also signed up your rss. keep us updated.

  • http://twitter.com/jcwinter Justin Winter

    I really like how you broke everything down so well here. I cofounded an ecommerce company that has a very unique product line with large market. We have from the beginning tried to take these concepts and apply them towards an ecommerce model for a recurring physical goods product that households spend on average about $15 a month on.

    We are seeing a pretty close to a coefficient of 1 right now with tools like curebit.com that encourage people to share a special coupon code post purchase to their networks on facebook/twitter/via email. That and then having people upload pictures and videos of the rings they find in their candle are our soft ‘invites’ for our ‘app’. 

    Any thoughts David on how an ecommerce site can take these same concepts and use them as a growth model?

  • http://www.thinkvein.com Mark Regan

    Hi David,

    Thoroughly enjoyed your article. I would be very keen to ready more about Stan’s derivation of the viral growth model. Any chance you could post in the comments?

    Ref: Custs(t) = Custs(0) * (K ^ (t/ct +1) – 1) / (K-1)


  • http://www.forentrepreneurs.com David Skok

    Here’s the derivation:

    Assuming each customer successfully invites K new customers once, in each viral cycle period the number of new customers is K times the number of new customers who signed up in the previous viral cycle period. We start with Cust(0) as the initial set. After the first period, they will have invited K*Cust(0) new customers. After the second , those new customers will have invited K*themselves or K*K*Cust(0) new customers or K^2*Cust(0) customers. This will continue and accumulate. So at time t, when t/ct viral cycles have passed (remember ct is the length of a viral cycle), the number of customers will be:
    Cust(t) = Cust(0) + K*Cust(0) + K^2*Cust(0) + K^3*Cust(0) + … + K^(t/ct)*Cust(0)
    This is just a geometric series that we all learned in calculus but few of us remember.
    We are looking for the sum of the first t/ct terms of this geometric series. It’s not hard to derive the formula from this if you remember the approach, if you do not it’s illustrated here: http://en.wikipedia.org/wiki/Geometric_series.
    Best, Stan Reiss

  • Dani

    Hi David, great stuff!
    Just one thing… This model assumes a 100% subscribers retention rate, what it’s not real. right?

  • http://www.forentrepreneurs.com David Skok

    You make a great point. That is of course not realistic. The main point of the original model was not to aim for complete accuracy, but to help illustrate which variables impacted growth. But there are two things I would add if trying to build a more accurate model: churn, and an ability for existing customers to continue inviting others over time at a reduced level.

  • http://www.asoftwarestartupguy.com David Miller

    So let’s add churn into the formula you published in the spreadsheet.  It seems to me that we could substitute (K * Rentention Rate) for K in the formula below to get a much closer approximation to the real answer.  The logic being that the number of new Users implied by K is reduced by the Retention Rate.  The formula:

    Custs(t) = Custs(0) * (K ^ (t/ct +1) – 1)  /  (K-1)  when you factor in Churn, becomes: Custs(t) = Custs(0) * ((K*Rentention Rate) ^ (t/ct +1) – 1)  /  ((K*Rentention Rate)-1)  I’m not a math-whiz so this may be off base.  Please comment.

  • http://www.thinkvein.com Mark Regan

    David – Thanks for your prompt reply. Much appreciated.

  • Sparsloe

    Very good point.  I realize you posted this a year ago but I’m working on a model for a new web application group.mx.  This article was very useful and I just read your feedback and it addresses a challenge for us in figuring out the ongoing virality with the active users    Today we have an active user base just over 150,000.  Figuring out the viral impact with them will be tricky and I can’t treat them as new users. 

  • Anonymous

    I just found this via Quora and wanted to thank you.  this is the most complete and useful explanation of this concept I’ve ever seen. 

  • http://www.forentrepreneurs.com David Skok

    Thanks for the kind feedback!

  • http://www.webhostings.in/ hosting server

    i really like to appreciate you because your information is good for my work and I think more people need to read blogs like this.

  • http://twitter.com/jindoulee Jindou Lee

    Hi David,
    Thank you for the article. It’s a great read and highlights the importance for the Viral Cycle Time to be as short as possible. Social games do a great job at shortening the ct and K.

    One question I have is in your experience, how can enterprise mobile apps become more viral? I have a startup that helps property managers perform their inspections on an iPad app. It’s based loosely on a freemium model. We are looking to provide additional credits to users if they TWEET about our product. But what other successful implementations have you seen?

  • VS Joshi

    The entire article is good.. However, the line that is extremely insightful is  -  
    Virality is not a marketing strategy that can be executed by the marketing department. It has to be built into your product right from the beginning. This is a function that needs to be thought through by the product designers and developed by the engineers.