← Payments: Critical for Social Network App Platforms?
Distribution: how many people, on average, will an "infected" host make contact with while the host is still "infectious"?
Infection: how likely is a person, on average, to also become "infected" after contact with a viral host?
With real-world viruses, the infectious period has very dramatic outcomes. E.g., a host remains infectious until either the virus kills the host or until the host's immune system fights off the virus. If K=1, then the host basically passes the virus on to one new person before either the host dies or the virus is expelled. Either way, if K=1, then the host exactly replaces him or herself in the population of infected people before becoming non-infectious.
Hopefully, the growth of social apps will never involve physical death or illness! [Disclaimer: No readers were harmed for the writing of this post.] Instead, we would consider a host to be "no longer infectious" if they either uninstall the app or stop actively using the app. Using that definition, an app with a K-factor of 1 will have a userbase in steady-state – no growth, no decline, just flatline; where every current user replaces themselves before leaving the userbase. K>1 means an app is growing its userbase virally (exponentially). And, conversely, K<1 means an app's userbase is exponentially decaying.
Note that this also implies that in order to affect any of these, you, as an app developer, need to be able measure each of these stats for your userbase. You can't tell if you're driving any of these numbers up (or down) until you know how many contacts/invitations each of your users sends out per day/week/month that they have the app installed; how many days/weeks/months each of your users tends to keep the app installed; and what the conversion rate from a contact/invite into a new infected user is.
Collection and analysis of metrics for social apps is a meaty topic in and of itself, so we'll leave that for another day. But for now, it should suffice to say that it's really important to have an effective way to collect statistics on what your users are doing with your app!
Assuming that we've got a reliable way of collecting metrics, here's a quick list of some techniques for achieving each of the four viral app objectives.
Opportunism — you can't always predict how people will utilize an application, so give your users multiple ways to share your app. Ideally, every app pageview should contain one or more ways for a user to share the app (and thereby become an active viral host).
Simplify, simplify, simplify. If your #1 goal is to go viral, then that should be the #1 action-request that "pops" out to a user. Make it easy to invite more people. Utilize address book importers. Auto-select large(r) distribution lists for invitations. Basically, minimize the amount of hunting-and-clicking it takes to get a user through your invitation process. Ideally, it should just be 1 click.
User-to-user messaging is a great way to keep users coming back to an app. If pokes, walls, comments or private messaging fit into the context of your app, you should seriously consider building those in.
User generated content and media — in general, apps that have some form of UGC/media built into them (music, photos, videos, drawings, etc.) do a better job at drawing repeat visits. I'd also group collaborative filtering functionality in this bucket — e.g., ratings, rankings, top playlists, "most viewed" lists, etc.
Social context — when you're writing the content/copy for your app invitations, be sure to keep in mind the fact that all your app invitations are occurring in the context of a social relationship between two friends. Use that knowledge as you phrase every call-to-action and craft each sentence to reinforce the social relationship and play on influence mechanisms between these two friends.
Images and buttons — beyond writing the actual content/copy, app authors should also experiment with design and layout of their invitations. Some top tips include: use buttons instead of plain text links; and use images of people to draw the eye.
Of course, the list above is not exhaustive, it's just a sampling of top-of-mind viral engineering techniques. If you have other favorite/top tips for tweaking virality, please post a comment below.
In general, all other things equal, it's most effective to pull on the Contact Rate and Activity Duration levers first — followed by the Host Activation and Infection Conversion.
By definition, your Host Activation and Infection Conversion rates are capped at 100% — the best you can do is to get 100% of hosts to invite other people, or 100% of contacted users to become infected. In contrast, the Contact Rate and Activity Duration are theoretically unbounded. (Well, I guess all human users must eventually expire, but I haven't seen any Facebook apps that specifically optimize on age of users, yet!!) In any case, for our purposes, the total number of viral contacts initiated by your userbase is theoretically unbounded.
So as an app developer, you should explore the upper limits of how rapidly you can grow your viral contacts before circling back to optimize conversion rates. E.g., if you think of each of your current users as an "infected host", then your first priority should be to get a maximal number of invites/contacts sent out by each of your hosts while you have them on the app.
Just for comparison, I've included some common ranges for Host Activity, Contact Rate, Activity Duration, and Infection Conversion below. These are derived from my own experience with Facebook apps, observations of my Stanford Facebook class'es apps in Fall 2007, and also observations from companies that I have worked at or advised.
Activity rates and user tenure will vary widely, depending on the purpose and design of app.
OK, so good luck to all you app developers out there seeking app virality! As you can see, none of this stuff is "secret sauce" or anything — you can readily view all of these techniques in action on Facebook, MySpace and other social network sites today. Still, I hope that summarizing this stuff in one place is useful and many apologies in advance if I've misrepresented anything, especially the biomedical stuff. (Is there a doctor in the house?!) Please leave comments or corrections below!
awesome post yee! i'm definitely a n00b when it comes to apps but your explanation and conception of virality is an important one.
Hi! Great post. I'd like to integrate some of these aspects in my master thesis- do you happen to have any references to scientific articles dealing with that topic? Thanks!
Nice post. Missing one factor: time period. It is important that to minimize the time period over which the viral loop occurs. It's the denominator to a fraction where you have correctly specified the numerator.
Cheers, and thanks for the post.
@Mike — ah, thanks for bringing up the issue of time period.
I was actually thinking of K-factor as a "lifetime" measurement. E.g., if you wait until a viral host either goes inactive or uninstalls an app, then measure how many new infections that host started during their "viral lifetime", then that's K.
With those type of capping techniques, you can very tightly delimit the viral loop time period to days, sometimes hours, and get a quick read on virality. The obvious caveat: this will produce an artificially depressed K-factor measurement and the degree of impact will depend on how good the app is at driving repeat visits and continuous invitations.
Great post on the four viral app.
Nice post – but do you think there'll come a point when people develop resistance to the viral propagation suggestions you've made? I'm already beginning to notice a serious resistance to the invite-for-invites-sake features of apps – especially more 'functional' ones.
@Jim — yeah, a lot of app developers and bloggers have noted a slow down in viral growth rates recently. The leading explanation is "app fatigue". Facebook itself has been following the lead of user groups who have demanded that the practice of "forced invites" be put to an end. And Facebook have even further tightened the screws on viral app growth by putting dynamic limits on the daily # of invites an app can send per user.
I think the current best practice is to use incentives to elicit more invites. E.g., "send 5 more invites to unlock the ultra-cool whatchamacallit". As you noted, this technique definitely has its limits and it places the ball squarely in the app publisher's court to create compelling functionality and/or content in order to drive continued app activity and invitations.
Hi, is there any possibility of using viral for technical websites such as javapapers.com?
As I'm sure you know, facebook's "new" design relegates applications to a tabbed menu where they're not easily visible and thus harder to interact with.
Given that such a large majority of users have already adopted it, do you think any of the methodology following these viral objectives will change? What are your insights on how to design for the New Facebook?
Thanks for the post. It is excellent and very interesting.
Many thanks for condensing and sharing this summary. It has been extremely helpful.
Thanks for the great post. Yee. It seems like consumer sentiment toward incentivised (or worse, forced) invites has become more negative in the 18 months since you originally posted this article. There is still plenty of opportunity for virality, but it seems like it requires more creativity. Do you have any new insight/tips on the subject?
@justin — thx for your comment.
I think that rapid iteration requires a constant stream of creativity, so I'm not sure if the current state-of-the-art requires any *more* creativity from apps developers than 18 months ago per se. In fact, one might argue that the proliferation of social apps companies and public/free analytics actually *decreases* the creative demands on any one team — it seems like some of the most successful viral app publishers these days spend as much (or more) time benchmarking their apps against each other and learning thru their competitors' experiments rather than coming up with their own novel ideas.