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 download the spreadsheet.)

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 B11, 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 B10 and B11 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 download the spreadsheet.)

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 on the left side 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.

About the Author

David Skok

Stay updated

Related Posts

11shares This post is part of my series An Analysis of 5 Business Models. Many...

297shares Great companies are almost always run by great management teams. And great...

Almost every sales and marketing funnel has blockage points where the conversion rates are lower...

  • Hi Trevor, Unfortunately I can’t help you there. I have thought about building a more complex formula, but rejected the idea, as in the real world there are so many variables that will affect growth, that the formula would become overly complex. Can you describe your particular situation in a bit more depth? Have you already achieved virality?

  • Hey David, the spreadsheet is not there anymore, any change you can upload it back again?

  • Your spreadsheets seem to have gone away. ;-( Looks like Zoho is behaving badly. 😉

  • Hi Freddy, sorry for the problem. I will try to rectify shortly. Currently I am travelling so not possible to do immediately.

  • My apologies. Zoho made some changes to their document addressing scheme. I have updated the article.

  • My apologies. Zoho made some changes to their document addressing scheme. I have updated the article.

  • tom_m

    This is great when talking about customer/user growth, app installs, etc. But if you want to measure the virality of content, use: http://www.ViralityScore.com

  • Rusha Das

    i find the post very informative and excellent!!!

  • Cheryl

    I searched and searched for this information. I am so glad I did not give up – and made it to your article, David! Thank you!

  • Glad to have been of help!

  • Mark Keny

    Nice Post.Well viral marketing is quite popular one and a smart way of generating leads…and we can also observe from the above post.That viral marketing gives benefit is good for us. time of viral cycle is short, it’s good information and some tips for learn models,lessons to learn about viral marketing.

    Thanks for sharing

  • Hi David, so glad I found this (and wish I had found it much sooner), thanks for the thoughtful and clear explanations. We’ve created a product that has an organic viral component (new users, to get value out of the product, must make a project and invite others to collaborate, those collaborators automatically get an account and, ideally, see the value of the system and decide to create their own project(s) for their own initiatives and invite more users. )

    Our challenge now is to craft the on-boarding experience to urge conversion of these new passive users into active users.

    Some of our more active users (subscribers really, because they can make unlimited projects) continue to invite more people to the system as they move forward, grow their business, etc – but there is a tapering effect. Could we average a fixed number based on the initial cycle but taking into account potential latter cycle invites?

  • Yes. I think that is a good way to approach it.

  • disqus_bW8wBvexEq

    I’ve been following the viral models that both you and Rahul Vohra have developed. Yours seems more accurate because it builds in the all important viral cycle time. However you exclude attrition.

    What’s interesting is what if your startup spends $10k retainer a month on PR, media and social media campaigns resulting in (for arguments sake @ $2 per user for a free service) acquiring 5,000 additional users. I assume you then layer on the curve from each months acquisition and resulting virality?

    Or should one consider additional inertia caused by an “overlap” effect?

  • disqus_bW8wBvexEq

    Suggest that the “saturation factor” should be incorporated into the model. At first an app may spread quickly via a highly viral group of people, but virality is like concentric tree rings – as you expand to the next group the viral cycle time will drop.

    Therefore cycle time should be increased each cycle by a tiny percentage.

  • Agree this would be a smart improvement to add to the model. If we get the time to work on revamping it we will add this. Thanks for the feedback.

  • Benjamin Bondurant

    id love a copy! is it still available? if it is, please find me on twitter @drivenbynumbers

  • dmourati

    Super useful post.

  • David Chen

    This is awesome! I’m a bit late to this comment but would still love to have the spreadsheet if possible. Thanks so much in advance! My email is david at strikingly dot com.

  • Archer Hobson

    Great synopsis, one question though, What about the percentage of people who decide to invite? We have the viral coefficient, but new users will not always want to invite. It will most certainly not be 100% which if I am not mistaken is what the zoho documents detail. I know that we can’t account for all variables but I imagine that this would be an important one as it could halve the amount of invites sent out or worse.

  • Hi Archer, you are right: it really matters a lot how many people decide to invite. You could think of this as k = % of people that decide to invite x average number of invites sent out x % of invites accepted. In the end, a simpler way of seeing this is that if, on average, for every new member you sign up, you get more than one friend of theirs to also sign up, you have a viral coefficient of greater than one.

  • Archer Hobson

    Viral coefficient and cycle time are really exciting topics. I wish more work like this would come out about how to tactically improve each aspect of the equation. Truthfully though, it’s important to understand the quantitative aspect of how you plan on leveraging a viable marketing/distribution channel, but I think it is all really left up to whether you have a desirable compelling product in the first place.

  • You couldn’t be more right.
    Best, David

  • Patrick Ortlieb


    Appreciate your spreadsheet. My team and I used your spreadsheet (we found on Tech in Asia) to inform an infographic on how quickly the challenge could theoretically (I know there’s no way this could happen) move around the globe. It was a fun addition to a POV we created on how the top celebrity social influencers may have impacted fundraising. Check it out on slideshare if you have a chance. Would live your feedback: slidesha.re/1tDlG1T

  • Great job!

  • Chris Good

    Thanks for this article. Very helpful. I’m trying to implement your methodology into a model where the viral coefficient, number of invites sent and acceptance rate over time increase – hopefully we learn and do a better job!

    One thing was quite confusing for me though. In your Excel example (row 25), with 10 initial users in time period 0 to 10 with a cycle time of 10 and a viral coefficient of 2, you show 10 users growing to 30. That makes sense to me because 10 users each brought on 2 additional users, thus 30 total with the original 10. In the next period though you show 70 users. I would think it would be 90 if there was one cycle at a 2 coefficient starting with 30 users. Also, if in time period 10 to 20, was wondering why I couldn’t show starting with 30 users and use one cycle to get to 70 (it computes to 90). The differences in the out years between the two methods seems to be large so I want to try to make sure I get this right. Do you know what I’m missing here? Sorry for the convoluted answer – just hard to explain! Thanks.

  • Adam Browman

    This looks awesome. If its still available can you please send a copy to adambrowman@gmail.com

  • Abhishek Bali

    David, this has been the best article I have ever gone through in ages, and that includes over 100 HBR and Wharton cases I have read during teh past one year of my MBA. I am working on an app that is in the final stage of a Business plan competition that might open doors for seed money.

    I had a few questions. What strategy(ies) would you offer to apps that, by nature, involve once or twice a month interaction with the user? How can they grow Viral? How to use ‘downtime’? Any examples? Uber comes to my mind..not sure if it became Viral through a concerted invitation and social-sharing platform. Is ‘worth of mouth’ also factored in when we assign values to ‘i’ here or is it a formal structured ‘share by invitation’/ recommendation system. Thanks so much for the article. Great to stumble upon it at 2am at night. Made my night and the next day too 🙂

  • Hi Abishek, glad this was helpful. There is a different slide deck on viral marketing that has some of these strategies explained in more detail: http://www.slideshare.net/DavidSkok/the-science-behind-viral-marketing
    I apologize that it has some of the same information you have already read. But there are additional sections that should be helpful to answer your question. The truth of the matter is that it is extremely hard to make an app go viral, particularly in today’s environment where there are so many vendors competing for mindshare, and paying a fortune to acquire new app installs. But it’s still worth trying!
    Best of luck!

  • Oscar Jhoel Morayra Alejo

    ZOHO DOCS off! Please any have the doc? Thanks

  • I will mail it to you.
    Best, David

  • Diego van Dyk

    Hi there, the spreadsheets seem to have disappeared again

  • Spreadsheets have been restored. Thanks for your patience.

  • It’s probably important to mention churn. Users become non users all the time, if for no other reason than actually dying (come to think of it, if invites are sent automatically even death can be a minor hurdle). Anywho, it makes sense to consider churn. One of the best ways for more mature companies to grow, is to reduce churn.

  • Agree churn is very important to include in any model that you might build to represent your own user growth.

  • Hadas Hamerovv

    Wow. This is the first time after long search that I find someone who understands that. Indeed you are right, here is no viral marketing. I a so happy to find one rightious man who understands that. The whole definition and interpretation for virality is wrong. They say viral distribution but actually talk about natural distribution which is way less powerful.

  • Scott Swanson

    Hi David,

    Awesome post. Would you mind emailing the model to me as well if you have a minute? Would love to dig deeper and play with some of the variables. Cheers.

  • StacyBurchard

    I prefer leaving the viral marketing to the professionals. Finding the right company for you may be very difficult. Do your research before hiring a online marketing company. I used Odditly (google them) before hiring my current marketing company which worked out for my budget!

  • Colin Lake

    Where is the ” share this button at the bottom of the post that you mention?

  • Colin, the share buttons are now on the left side of the post.

  • Jeff G.

    With all due respect, I believe your initial viral coefficient model is a bit flawed (at least for the example you’re using with customers sending invites)… I believe you need to add one more variable (if this is the example you want to use) – because you currently have a conversion rate set to 20%, but then you overlook the “sharing rate” by essentially setting it to an unrealistic 100% (“Our initial 10 customers will each send out 10 invitations.”) – so you’re saying 100% of your customers will send out invitations? (And that 100% share rate is continued in subsequent cycles) Your 20% conversion rate takes care of how many invite recipients convert to customers, but (and please correct me if you think I’m mistaken) I think the example is flawed with a default assumption that 100% of those converted will continue the cycle of sending invites… – Jeff G. http://www.ViralWhatever.com

  • Hi Jeff, you are 100% correct, that it is unlikely that 100% of people will send out invitations. The goal here was to illustrate the math in as simple a fashion as possible, and do it in such a way that a reader like yourself would understand the concept behind the formula. That way they could then easily insert a conversion rate variable for any additional step in the process, and have confidence that they understood how things would work. The simple concept here is that k will be 1 if each new user generates one other new user (taking into consideration the conversion rates of all of the steps along the way.)
    I hope that makes sesnse. But thanks for pointing out this, as it will likely be helpful to a future reader. Best, David

  • Yannick Kampschoer

    Thank you for this valuable information. I’m sure that I’ll find the provided spreadsheets most useful when designing and marketing my product.

  • John Schenk

    Only the incremental/new users is multiplied by the coefficient of 2 (i.e., doubled) each period. For example, the monthly incremental, which isn’t shown, is 10, 20, 40, 80 and so on. Total users each period will be double the previous period’s incremental plus the previous period’s total. So, that will be 2×0+10=10 for period 0 (the weirdest period), 2×10+10=30, 2×20+30=70, 2×40+70=150, and so on.

  • Steve Agar



  • Steve Agar
  • Hey David et al – I have made (probably) the largest, most detailed viral growth model ever. Would love your feedback. And no, it’s not a cute little model 😉 I’ve even invented some new concepts. https://www.alexanderjarvis.com/2017/11/03/model-viral-growth-startup/

  • that is just a metaphor, what will others do who are running blogs and they are not going for lead generation. What good it will do for them by acquire customers at a low cost?

Send this to a friend