样本|聊聊A/B实验那些事儿( 二 )


  • 浏览器跳转,一种常见的ab实验机制是实验组跳转到另一个页面,这通常会导致样本比率不均衡,主要原因:a、性能差异:实验组用户需要接受额外的跳转,跳转过程性能可能快可能慢。b、跳转不对称:实验组跳转新页面后,可以进行收藏、转发、返回等各种动作,而对照组均没有;所以对照组和实验组都需要有跳转页面,让实验组和对照组有相同待遇。
  • 残留或滞留效应,新的实验通常会涉及新的代码,所以错误率会比较高,新实验会引发一些意想不到的问题导致实验中止并快速修复上线,重新随机化会打破用户的连贯性,会让用户从一个用户组转到另一个用户组,从而影响样本均衡。
  • 用户随机分桶过程有漏洞,有可能在放量过程中出现bug导致实验组和对照组样本不均衡
  • 糟糕的触发条件,触发条件应该包含任何可能被影响的用户,触发条件基于可能被实验影响的属性也会让实验样本不均衡
那如何识别样本不均衡呢?
  • 验证分桶时机点或触发时机点的上游有没有差异;
  • 验证实验样本的分桶设置是否正确;
  • 顺着数据漏斗路径排查是否有任何环节导致样本不均衡;
  • 查看用户细分群体样本比例
  • 查看与其他实验的交集
陷阱2:分析单元不一样在分析页面跳转时,有个核心指标CTR,CTR有两种常见计算方法,二者的分析单元是不一样的。
第一种CTR1=总点击数/总曝光数。
第二种CTR2,先计算每个用户的CTR然后平均所有用户的CTR。
如果随机分桶单元是用户层面,那么第一种方法使用了一个与分桶单元不同的分析样本,违背独立性假设,并且让方差计算变得复杂。
例如下面例子,有1W用户,假设每1K人有相同曝光和点击, CTR1=7.4%,CTR2=30.4%,显然CTR1受到了离群点影响。
样本|聊聊A/B实验那些事儿
文章插图
这两种定义没有对错之分,都是CTR的有用定义。但使用不同的定义会得到不同的结果。一般两个指标都会做成看板。
陷阱3:稀释效应陷阱计算对触发人群的实验效应时,需要将效应稀释到整个用户群,如果在10%的用户上增加3%的收入,那么整体收入是否将提升10%*3%=0.3%?一般并没有,总体效应可能是0–>3%之间任意值!
如果改动针对站用户总体10%的低花费人群(花费为普通用户的10%),且该改动将这部分用户的营收提高3%,那么对整体营收将提高=3%*10%*10%=0.03%。
样本|聊聊A/B实验那些事儿
文章插图
陷阱4:样本间信息干扰我们假设实验中每一个实验个体是独立的,不会相互影响,但用户个体会因为社交网络,对同一内容的互动信息等导致相互影响。
例如对社交类app有个策略“你可能认识的人”这个功能,实验组更好的推荐策略,会促使用户发送更多的邀请。然而接收到这些邀请的用户可能在对照组,如果评估指标是总邀请量,那么实验组和对照组的邀请都会增加,因此测量出来的实验组和对照组的差异会偏小。同样一个人可能认识的人是有限的,因此新算法在一开始可能会表现更好,但由于供推荐的供应量限制,长期来看可能会达到较低的均衡。
那要如何应对上述问题呢,首先不是所有用户行为都会出现网络效应,我们可以界定特殊行为会造成影响,只有这些行为被影响时,我们观察特殊行为是否影响下游的指标,同时重点分析该行为带来的生态价值,根据行为对生态系统的价值和贡献来考量最终决策。
陷阱5:混杂因素误导混杂因素是指与研究因素(暴露因素)和研究结果(结局因素)均有关、若在比较的人群组中分布不匀,可以歪曲(掩盖或夸大)暴露因素与结局因素的真正联系的因素。