专业探讨|这次不算p值,我们聊聊AB 测试
来自:追风的小杜~(欢迎关注个人公众号:数据有聊)
原文链接:https://mp.weixin.qq.com/s/lF6yuIWPb-afRiZzcBXfhA
✎ 杜 源 说
最近工作中做了不少与AB测试有关的东西
也查询了不少资料
发现很多公众号都在讲理论性的知识:如何计算p值,如何计算最小样本量等
所以今天这篇文章主要讲讲AB测试在实际使用中可能遇到的一些小坑
01指标提升了吗?
我们经常可以听到下面这些说法:
A算法和B算法哪个更好一些……
按钮用方的还是圆角的好……
我们希望借由AB测试为产品、业务带来什么样的收益是一个非常关键的问题。但通常我们对此的描述却不够明确,而是非常模糊的。
假设当遇到下面的情况:A算法相较B算法提升了点击率,但是用户停留时间却短了。此时可以下结论说A算法好于B算法吗?显然不行。看到这里你应该已经清楚了,显然上述说法中的好是无法进行评估的。之所以我们说上面的说法不靠谱的原因就是在于:它不够明确,我们无法知道怎么样才能算好?
所以,一个好的AB测试必须要先确定目标和指标:A算法与B算法哪个对提升点击率有帮助?当我们明确评估指标是点击率时,那我们此时我们才可以下结论说A算法优于B算法吗?并不行,因为这里的提升可能有水分。我们继续往下说。
02指标提升了,是真的提升吗
还是上面的例子我们再完善一下说法:A算法相较B算法提升了点击率1%,那么我们能说A算法优于B算法了吗?很遗憾还是不行。
在这里有两个原因可能会影响到评价指标:
一、评价指标本身有自己的波动范围
由于我们指标本身不是一成不变的,所以我们会有一个指标的波动范围。当指标在此波动范围外,我们才认为实验结果是可信的。
例如:我们点击率是4%,波动范围为[3.5%,5.5%]。A算法的点击率是4.5%,B算法的点击率为3.5%;虽然A算法点击率高于B算法,但我们仍然不能说A的效果好于B,因为这在数据表现上为正常的数据波动。
二、其他实验对本实验起了影响
我们AB测试的前提就是实验组和对照组的用户需要相互独立。但是往往在实际中很多公司都会同时有很多个实验同时进行。那么我们如何降低其余实验对我们的影响呢?
理论上我们应该将所有用户进行划分,每个实验中的用户都互不重合。但往往实际中我们的用户数量有限,在同时进行大量实验时,会导致流量不够的情况。那么有没有一种方法能够让我们的用户可以被共用但是还不会影响我们的实验结果呢?
有,那就是流量正交。
假设我们此时同时有两个实验A、B。A占大盘流量的100%、B也占大盘流量的100%;那么我们怎么同时上线两个实验且结果互不影响呢?我们可以取A实验的50%实验组和50%的对照组放入B的实验组,再取A实验的50%实验组和50%放入B的对照组。这样实验A就会随机均匀的影响实验B。

03
还有一些常见的问题
最终我们走到这里,终于可以说一句排除所有原因后,A算法的点击率相较B算法提升了1%。那么我们就要全量推广上线了吗?可能并不太行,不知道大家是否还记得我们前面有一个小的假设:A算法相较B算法提升了点击率,但是用户停留时间却短了。
在一次实验里,我们将一些短期的可以很快见成效的指标选作我们的评价指标。但是也不能忽略了我们的一些长期需要关注的重要指标。例如:我们为了追求炫酷的效果使用了复杂的动画场景,但是受限于网络、技术等因素加载缓慢。可能会出现打不开甚至闪退的场景。虽然我们此时的点击率高了,但是长远来看是不利于我们业务发展的。(也就是护栏指标的重要性)
还有一些我们可能会遇到的问题:
学习效应
学习效应分为新奇效应(Novelty Effect)、厌恶改变(Change Aversion)
新奇效应是一种积极的反应,指老用户对于变化有强烈的好奇心,愿意去尝试。厌恶改变与之相对是一种消极反应,指老用户抵触改变,不愿意尝试变化。
学习效应会带来的问题:在短期试验时会发现数据效果非常显著,但实际全量推广后效果却不尽如人意。
如何解决学习效应
检测实验指标随天变化的情况
只比较实验组和对照组中的新用户数据
网络效应
网络效应常见于社交及共享经济相关的AB测试中,当对照组的行为受到实验组的处理的影响时,两组之间的独立性会被破坏,就会出现网络效应。
为了考虑到网络效应,我们要以不同于往常的方式选择随机化单元。方法有很多——我们可以进行基于地理的随机化、或基于时间的随机化、或网络集群随机化、或网络以自我为中心的随机化。
辛普森悖论
辛普森悖论(Simpson's Paradox)是英国统计学家E.H.辛普森(E.H.Simpson)于1951年提出的悖论,即在某个条件下的两组数据,分别讨论时都会满足某种性质,可是一旦合并考虑,却可能导致相反的结论。
举一个辛普森悖论的简单小例子:
男生点击率增加,女生点击率增加,总体为何减少?
因为男女的点击率可能有较大差异,同时低点击率群体的占比增大。如原来男性20人,点击1人;女性100人,点击99人,总点击率100/120。现在男性100人,点击6人;女性20人,点击20人,总点击率26/120。
这个诡异(Counter intuitive)的现象在现实生活中经常被忽略,毕竟只是一个统计学现象,一般情况下都不会影响我们的行动。但是对于使用科学的AB测试进行试验的企业决策者来说,如果不了解辛普森悖论,就可能会错误的设计试验,盲目的解读试验结论,对决策产生不利影响。
那么,如何才能在AB测试的设计,实施,以及分析的时候,规避辛普森悖论造成的各种大坑呢?
最重要的一点是,要得到科学可信的AB测试试验结果,就必须合理的进行正确的流量分割,保证试验组和对照组里的用户特征是一致的,并且都具有代表性,可以代表总体用户特征。
多重检验问题
在我们进行试验时,会迫切想知道试验结果。这个时候我们就会不断查看检验结果,就会犯多重检验的错误。
由于AB测试的实验周期需要尽量跨越一个用户活跃周期,且应该在实验结束时再做统计推断,由于多重检验问题的存在,我们不要频繁的在实验中检验数据,更不要未到实验结束就下结论说实验有效。
-
安安 赞了这篇讨论 2023-02-07 09:29:55
-
ITZY-坂本舞白 赞了这篇讨论 2022-03-26 14:57:24
-
Julia 赞了这篇讨论 2022-03-09 13:16:44
-
Crush丶Verbo 赞了这篇讨论 2021-12-31 21:09:54
-
铲屎大将军 赞了这篇讨论 2021-12-30 12:09:27
最新讨论 ( 更多 )
- 行业打听|大家平常做的分析都会有各种kmeans、聚类分析这种吗 ($$$)
- 专业探讨|请问大家对于BI报表开发方向的看法,这个方向好不好 (西江夜航船)
- 想自学SQL 和Bi (Go123)
- 数据分析岗怎么转数据治理 (不知道)
- 转行思考|如果当初不做xx,我现在想做什么? (铲屎大将军)