You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
9.9 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 18 | 如何搞定A/B测试
A/B测试是用两组及以上随机分配的、数量相似的样本进行对比如果实验组和对比组的实验结果相比在目标指标上具有统计显著性那就可以说明实验组的功能可以导致你想要的结果从而帮你验证假设或者做出产品决定。
小到一个按钮用红色好还是用黑色好大到有没有朋友圈这个功能对微信日活数的影响都可以通过A/B测试来解决。
你可能会认为A/B测试很简单啊只要需要对比一个功能添加前后的指标变化我就可以进行A/B测试。但是错误往往隐藏在你认为最不容易出错的地方因此如果你想最大程度地发挥A/B测试的作用你就需要绕过一些“坑”。
那么,今天这篇文章的目的,就是结合我在硅谷做产品经理的经验,帮你绕过这些“坑”。
## 进行A/B测试前你必须明确要测什么、如何测的问题
无论采用哪种测试方法,你都必须在产品测试前弄清楚要测试什么、如何测,这就要求你在设计产品时要先从问题出发做出假设。
比如,你可能会说:“微信中‘加好友’这个按钮不好找,导致用户加好友的次数不够,我认为把这个按钮从屏幕上方改到下方,可以让体验更顺畅,以增加用户加好友的次数”。
这时你已经明确了需要测试什么、如何测以及用什么指标来衡量的问题那接下来就可以进行A/B测试了通过对比“加好友”这个按钮在屏幕上方和下方时用户使用次数的数据指标来验证你观点的正确性。如果把这个按钮改到屏幕下方后用户使用频率增加了那就可以说明这样的改动达到了目的。
但是,**如果你还不能100%清楚你要改变的是什么、提高的是什么以及用什么指标来衡量那么A/B测试并不适合你。**
## 验证因果性的唯一途径是A/B测试
这里,首先需要明确相关性和因果性是两个不同的概念。
因果性是指因为有X才会有Y。比如因为用户没有内容可以看所以他们流失了。而相关性是指X变化会导致Y变化但是不能明确Y的变化是由X的变化引起的。比如你发现没有内容可以看的用户流失的比例更高 但是你不能确定是因为没有内容可以看,所以他们才流失的。
下面我就通过一个实例给你讲解一下A/B测试是如何验证因果性的。
我们做了一款APP数据显示启用了“隐私设置”的用户中活跃用户的比例比较高。单单这个数据只能说明用户活跃程度和“隐私设置”功能具有相关性而不能说明这二者之间的因果关系。
这里的相关性是指,启用“隐私设置”功能的更可能是活跃用户,而不能确定说“隐私设置”功能可以提升用户的活跃程度。而因果性,就是明确了用户开启“隐私设置”功能后,就可以提升他们的活跃程度。
你可能会问,这个因果关系是怎么形成的?那我给你举个例子,比如用户启用了“隐私设置”功能后,他们可以控制谁能看到他们的内容,而不用再担心被不相关的人看到,所以他们会更放心、更大胆地发新内容,也就变得更活跃了。
那如何通过A/B测试验证用户活跃程度和“隐私设置”功能间是否有因果关系呢
你可以这样设计实验: 实验组用户可以使用“隐私设置”的功能而对照组用户无法使用这个功能其他实验条件完全一致。结果A/B测试显示“隐私设置”并不能提升用户活跃程度二者并没有任何因果关系。而活跃用户启用“隐私设置”的比例比较高原因竟是这个按钮不好找。
在这个例子中如果你没有进行A/B测试而草率地下决定把“隐私设置”的按钮做得非常大 鼓励更多用户启用“隐私设置”以提升他们的活跃程度,那最终的结果就是花费了大量的时间改设计、重新开发,却是“竹篮打水一场空”。
但是如果A/B测试的结果证明用户活跃程度和“隐私设置”有因果关系那么你就可以很自信地把“隐私设置”的功能设计得尽可能得显眼以提升用户活跃度指标。
通过这个例子,我想告诉你,**某些功能的优化可能需要整个产品团队花费很多的时间、精力去改设计、重新开发但是优化后并不能达到预期的效果这种情况下你可以先进行A/B测试验证这个功能的优化与指标提升是否具有因果关系。在我看来这就是A/B测试的魔力它可以帮助你做出科学、合理的产品决定。**
## 明确到底需不需要A/B测试
A/B测试适用的场景是你的产品功能有多种选择而你需要通过数据做出选择这也就意味着并不是所有功能上线前都要经过A/B测试。现在我就跟你分享两种不适合A/B测试的情况。
**第一种情况是无论新功能上线后的数据怎么样都要发布这个新功能这时你要做的是如何优化用户体验而完全没有必要进行A/B测试。** 比如,一些功能是法律规定的,或者是属于公司策略性的,这些功能无论如何都要发布。
**第二种情况是样本数量太少不能通过A/B测试得出合理、科学的结论。**
比如你要测试某个按钮的颜色设置为红色、绿色、蓝色还是紫色的效果好那么进行A/B测试时你就需要至少4组对比实验而且要确保每一组实验都有足够的样本数量来保证对比结果具有统计显著性。
如果这个按钮一共才20个人用每组只有5个用户那么得出的实验结果必然带有很大的偶然性你无法根据这个实验数据做出科学的结论。这种情况下你如果还要通过A/B测试做产品决定那你就必须增加样本数量。
**那么需要达到什么样的实验样本规模才可以进行A/B测试呢** 这个问题没有一个明确的答案,往往取决于你的产品实验组和对比组之间的区别到底有多大。
比如Facebook的朋友圈News Feed它是世界上最大的信息流产品如果增加一个新功能可以让日活数增加1%那这个功能就是巨大的成功。这时A/B测试需要的样本数量就非常大才能保证这1%的进步具有统计显著性而不是误差。
但是很多创业公司它们的产品思路还没有定型产品功能千变万化有时一个新功能的发布可以将产品指标提升100%。这种情况下,即使没有那么多的样本数量,你也可以肯定这个新功能可以给产品指标带来质的飞跃。
## 短期数据 vs 长期数据
如果微信的“摇一摇”突然出现在了微信开启页面里,那我可以肯定,“摇一摇”功能的用户使用量会直线上升。
这时设置一个A/B测试。实验组的“摇一摇”设置在微信开启页面而对照组的“摇一摇”依然保留在“发现”页面短期内肯定是实验组的数据更好看。但是如果你根据前两天的数据就直接得出“摇一摇”在微信开启页面的效果会更高的结论那我会觉得你这个产品经理是不可信的。
为什么呢?因为你没有意识到新功能的短期新鲜感和长期的生态系统影响。微信开启页面突然出现“摇一摇”的功能,用户使用数据会因为刚开始的新鲜感而非常好看,用户这时正在劲儿头上。但是,这个“好看”的数据可以延续么?
在我看来,并不是每个新功能或者产品都可以延续这样的势头,大部分产品的新鲜感只能持续一个星期,最多一个月。新鲜感的劲儿头过后,产品的数据会直线下降,可以说是成了“扶不起的阿斗”,再也提不上来了。
很多产品经理就是踩了这个坑,因为前几天“好看”的数据过早的下了结论,最终产品发布后的表现远不如预期得好。
所以我的建议是,在判断一个功能是不是值得发布时,你应该等至少一个星期、短期的新鲜感褪去后, 再衡量是否值得发布。
另外如果你通过A/B测试的结果决定要发布这个产品我还建议你应该留一个长期的对比实验组比如1%的用户无法使用新产品,来观察这个产品对整个生态系统产生的影响,并适时作出调整。
我给你举个简单的例子假如Instagram要增加一个给好友点“超级赞”的功能目的是提高用户分享的频率。刚开始用户的活跃程度确实提高了因为有了“超级赞” 他们发新鲜事倍儿有精神,分享数量大幅度提升,短期数据棒极了。
但从长期来看,增加了“超级赞”的功能后,用户会因为只是得到了“赞”而没有获得“超级赞”,而感觉自尊心受损,最终不愿意也不敢分享了,所以从长期来看是数据下降了。
## 总结
今天我跟你分享了A/B测试需要注意的问题。
首先你要弄清楚要测的是什么并且要100%清楚可以用什么指标衡量两组实验的区别。
其次验证因果性的唯一途径是A/B测试。
再次要判断是不是需要A/B测试如果每一组的样本数量不够或者这个功能无论如何都要发布那么A/B测试并不是最好的方式。
最后A/B测试需要考虑短期新鲜感和长期的生态系统影响。你可以保留一个长期的对比组这样可以在产品发布之后也有较长的A/B测试时间从而观察产品的长期表现适时作出决定。
## 思考题
你有没有经历过哪些产品(或者功能)的短期数据很好看,而长期数据却不好看?出现这个问题后,负责的产品经理是怎么处理的?
欢迎你给我留言。