数据驱动的背后是AB测试,AB测试这种方法在国内外互联网公司里面广泛应用于产品更迭。
这一节聊聊AB测试的流程,还有其中的注意点,以便更好去使用Google Optimize或Adobe Target去做AB测试,不然很多人在用Optimize作AB测试,其实都没有遵循一些统计原理,也就不够科学的。
提出假设
AB测试的第一步是分析业务数据,确定当前最关键的改进点,提出优化改进的假设。
比如对于某个着陆页,注册按钮的文案是“注册”,注册率现在是5%,觉得文案还有提升空间,可以优化,改为“免费注册”。
- 对照组:注册按钮文案是“注册”
- 实验组:注册按钮文案是“免费注册”
提出假设后需要判断是否适合做A/B测试,不是所有的改进,优化都适合做AB测试,如
- 要求尽块,如上线后的补救性的更新;跟进对手已经验证的一些策略,不快点反应,估计都被市场淘汰
确定指标
在做AB测试之前,我们一定要清楚,我们实验的目标是什么,需要用一些指标去评估,指标的选取,取决具体测试目的,指标必须是可量化,大家都接受的,比较稳定的,不会收到波动影响。
指标根据用途分为:
- 关键指标:一般只选取一个关键指标,如果关键指标没有可用的,你可以自定义指标或采用复合指标。在这里关键指标是注册率,需要将指标量化,如提高20%,也就是注册率是6%
- 辅助指标:辅助指标是会影响关键指标的一些角度,一般选取三五个辅助指标,从不同角度去评估
- 护栏指标:护栏指标的作用是避免发生“捡芝麻掉西瓜”的情况,通常会选取商业化相关的指标,不一定是AB测试要直接考虑,如营收和转化相关,但会决定测试优胜版本是否可以发布,如A/B测试的结果非常好,但是营收却变差,这种版本肯定不能发布。
设计实验
确定好方案就可以开始设计实验。
实验主体
对着陆页的按钮文案做AB测试:
- 对照组:注册按钮文案是“注册”
- 实验组:注册按钮文案是“免费注册”
目标人群
实验人群就是确定哪些用户去做AB测试。
这里要需要考虑流量分割,流量分割主要有两种方式:
- 分流:这部分用户只做这个实验。
- 分层:这部分用户同时做多个实验。
现实是第二种比较常见,因为基本同时间会有很多的AB测试,不太可能这部分用户只做一个实验,效率太低。
样本量的确定
在做A/B测试之前,还需要确定足够的样本量,以便确定活动在评估结果之前应运行的时间。
样本量并不是越多越好,AB测试要越快越好,所以我们需要根据AB测试计算所需的最小样本量,最小总样本量与置信度(默认95%)、统计功效(默认80%)和核心指标相关,比如现在的注册率是5%,要提高到20%,那么小多少样本呢?
可以用Adobe Target的Sample Size Calculator去计算:
测试时间的确定
测试时间=最小总样本量/每天可获得样本量的取整。
最小总样本是8155,每天可获取样本量是5000,那么测试时间=8155/5000=2,上图的中的Days to Complete Test就是测试时间,所以测试时间需要2天。
最小总样本量和测试时间是负相关,需要平衡好两者的关系,一般是测试时间越短越好,但要考虑到:
- 周内效应:建议测试是最少是7天,包含完整的一周,消除周期性波动的影响,国内很多互联网公司是用7天作为一个测试周期,如果可能,按14天作为一个测试周期,谷歌优化工具Optimize是建议14天作为一个测试周期
- 新奇效应:实验新上线可能会导致新用户好奇,老用户的排斥,导致数据影响,可能需要更长的时间,或划分新旧用户分别看数据。(UI变化的测试要着重考虑这个)
结果分析:检验量度
一般情况下,用 Z 检验。
- 统计显著:结合护栏指标,确定是否发布新版本,如果测试结果和护栏指标负相关,拒绝发布,如果是正相关或没关系,可以发布
- 统计不显著,延长时间,还是达不到就中止
常见问题
数据太少不适合做AB测试
如果你的数据日活只有几百个,不建议去做AB测试,数据量太少波动性大,所需的测试时间很长,不适合做AB测试。
建议日活1000以上。
非要做也行,不用遵循严谨的测定和检验,但要关注关键指标和护栏指标。
有测试结果,一定会发布
有测试结果,也不一定会发布,还要考虑到营收,比如某个AB测试的关键指标是停留时间,实验组的停留时间提高了30%,确实是提高不少,在测试里胜出了,但这部分用户带来的营收缺下降20%,这种情况,肯定是不可能发布。
在做测试的时候,除了关键指标,还要考虑护栏指标。
AB测试与灰度测试
灰度测试是AB测试的子集,如选择部分流量做AB测试,然后逐步提高测试的比例,直至100% ,这个过程就是灰度测试。
如何选择AB测试工具
中小公司选择SAAS工具,如Google Optimize,Adobe Target
大公司基本都自己开发工具,并有专门的数据科学团队
AB测试还是多变量测试
A/B 测试虽然很强大,但如果想测试两个以上元素(变量),您可能需要的是多变量测试而不是 A/B 测试。