软件测试技术趋势:从案例实战看AB Test系统设计及其原理
软件测试技术趋势:从案例实战看AB Test系统设计及其原理既然直接效果指标已经可以决定实验的成败,为什么还要添加其他间接指标呢,这就涉及到一个取舍问题了,不是实验成功了就一定要上线最佳版本。一个改动影响的指标可能是多方面的,例如更改了加购物车按钮的颜色,点击该按钮的人可能会增多,从而间接导致下单的人数增多。那如何从众多指标当中选择出实验效果指标呢?可以从以下几个方面进行筛选:那实验时长是不是越长越好呢,也不是的,实验时间过长会把各版本的区别拉平了,不同时期用户对不同策略的反应不一样。例如0元夺宝玩法刚出来的时候用户会特别感兴趣,时间久了大家都知道这是一个套路会慢慢免疫选择性忽略掉,在玩法诞生之初进行实验可能效果会很显著,时间长了之后这玩法的效果就会慢慢下降。实验结果也是有时效性的,仅对当前时间当前用户群有效果并不是放之四海而皆准,所以实验时间不宜过长,应快速验证快速迭代。
就这样,两个产品同学谁都说服不了谁,最终一致决定做个A/B Test看看用户的真实选择,是骡子是马牵出来溜溜就知道了。
三、abtest实验设计1. 版本设计
实验版本的设计要遵循变量的单一性,不能一下子改变多个因素,如同一个按钮不能同时改变按钮颜色和按钮文字,实验设计越简单越容易得出正确的结论。
案例时间:
2. 实验时长
业界的实验时长一般是2-3周,最短时长建议不要少于7天。因为不同日期活跃的用户群体可能不一样,所以最好要覆盖一个周期,如7天、14天、21天。
那实验时长是不是越长越好呢,也不是的,实验时间过长会把各版本的区别拉平了,不同时期用户对不同策略的反应不一样。
例如0元夺宝玩法刚出来的时候用户会特别感兴趣,时间久了大家都知道这是一个套路会慢慢免疫选择性忽略掉,在玩法诞生之初进行实验可能效果会很显著,时间长了之后这玩法的效果就会慢慢下降。
实验结果也是有时效性的,仅对当前时间当前用户群有效果并不是放之四海而皆准,所以实验时间不宜过长,应快速验证快速迭代。
3. 选择指标
一个改动影响的指标可能是多方面的,例如更改了加购物车按钮的颜色,点击该按钮的人可能会增多,从而间接导致下单的人数增多。那如何从众多指标当中选择出实验效果指标呢?可以从以下几个方面进行筛选:
既然直接效果指标已经可以决定实验的成败,为什么还要添加其他间接指标呢,这就涉及到一个取舍问题了,不是实验成功了就一定要上线最佳版本。
假如实验版本确实有提升,但付出的成本有点大,那就要权衡下利弊再决定要不要上线新版本。又或者实验版本对我们想要提升的指标有显著效果,但影响到了其他指标的大幅下降,这时候也需要我们进行权衡。
具体可视当前产品北极星指标而定,如当前产品战略目标为营收,该实验虽对用户活跃有影响但能提高营收,也是可以全量上线新版本的,但当前战略目标为有效日活,那就要慎重考虑新版本的上线问题了。
4. 案例时间
基于前面的例子,影响最为直接的指标为点击付费弹窗支付按钮人数,但是这个跟各实验组具体人数也有关系,所以应该转化为比率。
分母应该是点击表情按钮人数而不是展示付费引导弹窗人数,因为两个版本的展示付费引导弹窗触发条件不一样,方案B已经人为的过滤掉一批低质量用户,必然会对展示点击率产生影响。
本实验间接影响的正向指标为付费人数,同理也需转化为付费率。正如产品同学A所说,发表情改为付费发送会降低那些点击表情按钮意欲发表情的用户的体验,有关用户活跃性的指标同时也需要关注,如:人均使用时长、留存率,这些活跃性指标均可作为本实验的负向指标来关注。
5. 计算最小样本量
之所以要计算最小样本量,主要有以下几点原因:
- 样本量太小不能代表整体的情况,容易受到偶然因素影响,这就要求计算出至少抽取多少样本量才能代表整体情况;
- 避免浪费流量,通常有多个迭代同时进行,给其他迭代留出实验空间;
- 如果实验是负向的,可以避免带来大面积不必要的损失。
1)计算最小样本量两种检验方法
Z检验:检验实验组和对照组服从分布的均值是否相等
卡方检验:检验实验组是否服从理论分布(将对照组的分布视为理论分布)
在A/B Test中常见的检验方法为Z检验,下面就以Z检验为例计算最小样本量,在这之前先来了解下以下知识点:
- α:表示出现第一类错误的概率,也称为显著性水平,常见的取值有1%、5%、10%、20%,一般取值5%,即犯第一类错误的概率不超过5%,常见的表示方法为:1-α,称为统计显著性,表示有多大的把握不误诊。
- β:表示出现第二类错误的概率,一般取值20%,更常见的表示方式为统计功效power=1-β,即有多大把握能检查出版本差异。
从两类错误上限的取值(α是5%,β是20%)我们可以了解到A/B Test的重要理念:宁肯砍掉多个好的产品,也不要让一个不好的产品上线。
指标基线:原有方案的指标,有可能是数值,有可能是比率,取决于选择的直接效果指标。这个指标由历史数据得出,如果是一个全新的版本实验没有历史数据,可参考其他类似功能的指标数据,若都没有只能根据经验大概给出一个基准值。
MDE:检验灵敏度,以下用Δ表示,新方案的直接效果指标与指标基线差值的绝对值,即新方案与旧方案的区别有多大,该参数越大需要的样本量越少。
方差:方差的计算方式根据直接核心指标是数值或者比率决定,两种类型计算方式如下:
单/双尾检验:用哪一种类型检验视原假设而定,若原假设为新旧方案无区别用双尾检验,使用场景为样本量计算或者AA测试;若原假设为新方案优于旧方案或旧方案优于新方案则用单尾检验,后面用到的实验结果评估用的则是单尾检验。
Z值:该值可以依据α和β指标确定出对应的Z值,有固定的Z值表可以查,也可以通过excel的NORMSINV函数计算。
鉴于篇幅问题,后续有时间再专门写一篇详细介绍Z检验,下面直接贴Z检验样本量计算公式出来吧(这里使用双尾检验因此使用α/2):