推荐系统是一个频繁地使用的推广工具,但是在Airbnb, 我们不用过时推荐系统, 那些过时的东西效果也不好。 我们的推荐系统既不存在网站上也不在App里! 我们曾经每日新增300%注册用户和预订用户, 我将会和您分享我的技巧。
因为Airbnb经验是很个人的的,口口相传是Airbnb的一个巨大的增长来源。用户使用Airbnb享受非凡的体验----周末和小伙伴出去玩,文化交流,或者人生唯一的一次体验:蜜月。推荐系统鼓励用户邀请好友, 比如在他们完成第一次旅行之后, 给邀请人和被邀请人$25旅行券. 这个idea放大了这个社群的内在的作用, 并且让用户养成分享的习惯.
我们决定重新在: 我们的网站、我们的Android和我们的iOS app做推荐。 我们也决定支持接受和发送在所有三个平台的推荐; 其实大部分的邮件都是在手机上被阅读的, 但是只有很少的app在手机上做推荐.
推荐系统的执行的异常重要: 而且这是容易量化, 可以大规模应用, 而且关键是要知道它的增长已经在发生, 剩下的只有放大它的影响了.
Step 1. Define the game
Before we coded anything, we defined what success would look like. We chose a few metrics to keep score. Adam Nash had spoken at the company at an Airbnb fireside chat recently and had inspired us to “keep score and win games.” We knew that in this game data would be critical, so we started with our success metrics.
For referrals we defined success according to these metrics which form a funnel:
Monthly Active Users sending Invites
Invitees per Inviter
Conversion Rate to New User
Conversion Rate to New Guest
Conversion Rate to New Host
For each metric, we built three different forecasts:
Good
Better
Best
We based our forecasts on how we think our old, neglected referrals program could perform given a rebirth. We also benchmarked ourselves against other successful referral programs such as Dropbox and Voxer.
Step 2. Keep score
Before we coded any product, we built mechanisms to track and report our progress on our success metrics.
At Airbnb we have an in-house event logging platform called air_events. With air_events we can call the same method from any of our platforms and log an event to a centralized Hive store. We built client libraries for air_events across our entire stack: Ruby (back-end web), Javascript (front-end web), Objective C (iOS), and Java (Android).
For referrals we defined a rich logging taxonomy of over 20 user events that happen during the referral invitation and sign up journey. With this tracking in place we’d be able to follow an invitation from invite page impressions to referred users’ making bookings or becoming hosts. We had iOS, Android, and the website all log according to this taxonomy. That way, we could easily graph and compare performance for a single metric across platforms.
Something that really helped us with this “Keep Score” phase is Airbnb’s engineering team structure. Every team has a data analyst embedded with the team. Our embedded analyst extraordinaire Vaughn Quoss designed the taxonomy and approach. Vaughn also built dashboards and graphs so that we could monitor performance from day one.
Step 3. Spring training
We coded the product.
At Airbnb we have a fun practice of renting out Airbnb listings near the office and working from them for a few days. To build referrals, we had two off-sites, both in the Lower Haight neighborhood of San Francisco.
[图片上传中。。。(4)]
We built support for web, Android, and iOS simultaneously. Two of the engineers on the team wanted to learn iOS and Android, so they did for this project. The core mobile team also helped by sending team members to pair program with us at the off-sites. At Airbnb we train engineers in-house on new technologies they’re interested in, and give them the opportunity to build with it while working with mentors. It was awesome to ramp up on new skills building something.
Along the way we thought of a few product features.
Personalized referral codes.
We thought that with personalized referral codes and URLs, users would feel more ownership of their invitation landing pages and emails.
Opening the app after installing through an invitation link takes you to a special referrals landing page.
One of our engineers Jimmy Tang was a cofounder of Yoz.io, where he built analytics tools for mobile. He thought of a unique way to leverage Yozio’s product to make our referral experience better for mobile. Yozio built a tool to track which link a user clicked before they downloaded the app with reasonable accuracy. From this we can determine if the download came from a referral link that was shared to them and give them a different first time app open experience. When the user clicks the link, Yozio does its first fingerprint of the user. Then when the user downloads the app and opens, it will fingerprint the user again and match the user to the link click. It will then pass this information back to the app and then you can present a different view.
The result is visible today. If you go to the app store today and download the app, you see this:
However, if you click on an invitation link and then download the app, when you open the app for the first time, you’ll see this:
Step 4. Play the game
We launched!
Here’s how we did: referrals increased bookings by over 25% in some markets.
Because we had built dashboards, we could see on launch day one how users were interacting with the referrals product. It was gratifying to measure our impact from Day 1.
We can build product levers to try to boost each of our core metrics defined in Step 1. For example:
We can increase “# of invites per inviter” by offering imports of address books from email services or recommended contacts on the phone.
We can increase “share of active users sending an invite” by improving the discoverability of referrals.
We can increase “conversion to new guest” by allowing referrers to send reminders to invited + signed up users that they have credit available.
Step 5. Refine our moves
It’s been a few months since we first launched. This time we didn’t want to launch and forget our referrals program. Instead we doubled down coming up with new ways to optimize the program. For example, we’ve started promoting referrals at strategic moments when we think the user is most likely to refer, for example just after booking a reservation, or after leaving a positive review. We segment performance data by entry point so we know how these are all doing.
We’re also now in the process of A/B testing promotional emails. One experiment I was particularly excited about was communicating very different value propositions for the same product. In one email, we emphasized that you can earn $25 for inviting a friend (self-interested). In the other email, we emphasized that you are sharing $25 with your friend (altruistic).
[图片上传中。。。(9)]
Result: The altruistic email performed better globally.
We’ve also seen that reception to the program depends on culture. For example, the referrals program is astoundingly popular in South Korea. We’re also segmenting our A/B test results by culture to see what messaging performs better where.
It was fun to go through a classic Growth project end-to-end. The process serves as a template for all our Growth projects at Airbnb: set measurable goals, plan metrics and logging, build the product with instrumentation, measure impact, iterate.