极客时间已完结课程限时免费阅读

18 | 如何搞定A/B测试?

18 | 如何搞定A/B测试?-极客时间

18 | 如何搞定A/B测试?

讲述:丁婵

时长11:26大小5.73M

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 测试时间,从而观察产品的长期表现,适时作出决定。

思考题

你有没有经历过哪些产品(或者功能)的短期数据很好看,而长期数据却不好看?出现这个问题后,负责的产品经理是怎么处理的?
欢迎你给我留言。
分享给需要的人,Ta购买本课程,你将得18
生成海报并分享

赞 15

提建议

上一篇
17 | 如何与设计师有效沟通?
下一篇
19 | 增长黑客的核心公式
unpreview
 写留言

精选留言(17)

  • 2018-05-31
    问:在进行测试后,针对实验组进行过的改动,如,给实验组增加了加好友功能,对照组没有加,而最终结论是加好友功能并没有带来日活的增加,针对实验组所增加的功能,在实验结束后,要砍掉吗?还是需要进行其他处理?

    作者回复: 如果你们的这个功能的目的是为了带来日活的增加,那么这就没有拿到你们的目的,也没必要要这个功能 如果你们这个功能的目的是其他的目的,并且达到的其他的目的那么虽然没有带来日活的增加,只要没有减少,也是可以发布。这个还是取决于你们产品的目的。

    6
  • 老鹰
    2018-05-31
    为什么做不到你这么优秀∠(`ω´*)敬礼

    作者回复: 不敢当。多做就好啦!

    3
  • Raymond吕
    2020-01-03
    请问老师,经常收到某些app的内测邀请,请问这个是属于AB测试的范围吗?如何确定对照组,一般的依据是什么?
    3
  • Geek_d0847a
    2020-08-11
    以为是 A/B测试 流程实现方法,感觉讲的都是废话
    2
  • 种菜的渔民
    2019-06-27
    同样的问题,A\B的测试用户如何确定,包括样本的数量和测试周期
    2
  • 苗小羊
    2019-04-09
    科学小范围试错真是最小的精细化创业
    1
  • 黄育佳
    2021-11-18
    怎么区分一时兴起的呢,一周内下滑?两周内下滑?还是一个月内下滑?不同行业对ABTest的周期又是如何定的?
    1
  • 风信子
    2020-12-24
    ab测试需要明确测试的目的和指标,明确测试的因素,控制好对照组,注重长期测试,而非只是凭借短期结果做出决定。 ab测试需要足够的样本量,对小公司来说不具备这样的条件,但是小公司推出新功能常常能带来明显的变化。
  • Bravery168
    2020-11-05
    深度思考才能带来价值
  • 阿土
    2018-12-05
    我也想问,多次实验中,实验组用户与对照组用户如何选取?不同的选取策略对实验结果都有什么影响?
  • Lynn
    2018-07-03
    作为一个期望转产品的项目经理,有空就看看老师的讲解,很不错。
  • 随心
    2018-07-02
    想问下实验组和对照组对应的用户如何筛选呢?每次都采取随机方式嚒?还是说会进行一些维度的筛选呢?
  • huyang
    2018-06-01
    问:根据上面那个朋友的问题,想问一个延伸的相关的问题。同一个AB测试可以一次测多个指标吗?比如引入邀请好友功能,同时测试日活和新增用户数。最多可以同时测几个指标呢?还是一次只能测一个?😄

    作者回复: 可以 你可以测很多指标 但是你要知道在一个指标提高 一个下降的时候哪个重要

  • huyang
    2018-06-01
    能不能谈一下计算样本数量相对公式?多大的样本能得出statistically significant 的AB测试结果

    作者回复: 统计相关性有个公式的 你是可以根据样本数量计算的 confidence interval,t score, z score 你可以搜一下具体的公式 我没法回复那些分数线之类的字符嘿嘿

  • daisy
    2018-05-31
    现在团队是没有ab 机制,没办法判断版本功能对数据的实际影响,推动建立ab机制被老板说太浪费时间,每次版本迭代之后分析功能效果都异常艰难

    作者回复: 这个要看你们想继续做这个产品多久 想不想长期投资

  • 2018-05-31
    问:在选取样本时,应该注意哪些事项,影响实验目标的其他因素是否应降到最低,也就是实验组与对照组除了验证指标不同外,其他因素是否应尽可能相似

    作者回复: 我们有专门的系统能确保是随机样本。其实市面上有一些ab测试软件也可以帮助控制

  • 吴依恬InnerSoul
    2018-05-31
    受用

    作者回复: 多谢支持!