作者:九羽
在互联网行业,无论是构建搜索推荐系统,还是智能营销等场景,都是围绕用户进行不同的实验,从各项指标上观察用户对不同交互、流程、策略、算法等反馈,进而对产品、营销策略、搜索推荐算法等进行迭代改进。
在之前的文章《流量为王:收益最大化的混排机制》探讨了如何在原始的运营流量或者推荐流量中,增加广告流量、带货流量后,将不同内容类型如何呈现给不同的用户,同时根据不同的业务不同的目标导向,兼顾各方需求的混排机制,在流量为王的时代,对于实现流量的价值转化。
在本篇文章中,主要讨论在进行了模型的线下迭代并且有了提升之后,怎么线上进行实验,怎么决定对哪些用户进行新策略、算法A的尝试,对哪些用户保持原有算法B进行对照。
什么是ABTest?
ABTest的概念来源于生物医学的双盲测试,双盲测试中病人被随机分成两组,在不知情的情况下分别给予安慰剂和测试用药,经过一段时间的实验后再来比较这两组病人的表现是否具有显著的差异,从而决定测试用药是否有效?
ABTest强调的是同一时间维度对相似属性分组用户的测试,时间的统一性有效的规避了因为时间、季节等因素带来的影响;而属性的相似性则使得地域、性别、年龄等等其他因素对效果统计的影响降至最低。 所有AB测试实验的奠基石是Goolge在KDD2010发表的论文《Overlapping Experiment Infrastructure More, Better, Faster Experimentation》,千禧年Google的工程师第一次将AB测试用于测试搜索结果页展示多少搜索结果更合适,虽然那次的AB测试因为搜索结果加载速度的问题失败了,但是这次的AB测试可以认为是Google的第一次AB测试。
怎么做ABTest?
目前业界应用最多的,是可重叠分层分桶方法。具体来说,就是将流量分成可重叠的多个层或桶。因为很多类实验从修改的实验参数到观察的产品指标都是不相关的,完全可以将实验分成互相独立的多个层。例如推荐算法召回层、推荐算法排序层、打散层,或者首页、业务页、详情页等。
模型分发(Model Distribution)
模型分发的目标是把在线流量分配给不同的实验模型,具体而言要实现三个功能:
流量的定义是模型分发的一个基础问题。如何让一个流量稳定地映射到特定模型上面,流量之间是否有级别呢,这些是模型分发需要重点解决的问题,这部分在后续进行深入的讲解。
流量分桶原理
采用如下步骤将流量分配到具体模型上面去:
举个栗子来说,所有流量分为32个桶,A、B、C三个模型分别拥有37.5%、25%和37.5%的配额。对应的,A、B、C应该占据12、8和12个桶。为了确保模型和流量的正交性,模型和流量的Hash Key采用不同的前缀。
每个团队的模型分级策略并不相同,这里只给出一个建议模型流量分级:
做实验的过程中,需要避免新实验流量对老模型流量的冲击。流量群体对于新模型会有一定的适应期,而适应期相对于稳定期的效果一般会差一点。如果因为新实验的上线而导致整个流量群体的模型都更改了,从统计学的角度讲,模型之间的对比关系没有变化。但这可能会影响整个大盘的效果,成本很高。
为了解决这个问题,流量分桶模型优先为模型列表前面的模型分配流量,实验模型尽量放在列表尾端。这样实验模型的频繁上下线不影响主力和潜力流量的用户群体。当然当发生模型流量升级的时候,很多流量用户的服务模型都会更改。这种情况并不是问题,因为一方面我们在尝试让更多用户使用更好的模型,另一方面固定让一部分用户长期使用实验流量也是不公平的事情。
ABTest结果是否可信?
在实际业务中,我们会思考一个很现实的问题,ABTest得到的结论是否可信?如果不可信,那需要多少样本才能说明一组ABTest实验是具有显著性的呢?
假设检验
在适当的条件下,中心极限定理告诉我们,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态分布,AB测试采用双样本对照的z检验公式。显著性上,根据z检验算出p值,通常我们会用p值和0.05比较,如果p<0.05,我们认为AB没有显著差异。置信问题上,对一个概率样本的总体参数进行区间估计的样本均值范围,它展现了这个均值范围包含总体参数的概率,这个概率称为置信水平。
从另一个角度来说,AB两个实验组之间即使有差异,也不一定能被观测出来,必须保证一定的条件才能使你能观测出统计量之间的差异;否则,结果也是不置信的。而这个条件就是开头提到的问题,样本数量问题。
样本量级
那么问题来了,一次ABTest需要多少样本(用户)呢?假设AB两组实验的用户具有相同的标准差
,根据公式,带入n1,同时根据假设p值和a值,推导出需要的最低用户数。
工业界的ABTest
这是字节ABTest实验系统的基本原理:
参考资料
1.KDD2010, Overlapping experiment infrastructure: more, better, faster experimentationOverlapping experiment infrastructure: more, better, faster experimentation
2.https://www.abtasty.com/sample-size-calculator/
3.https://www.jianshu.com/p/eac8ba730d58
4.https://zhuanlan.zhihu.com/p/36384858
5.https://zhuanlan.zhihu.com/p/159605797
6.https://signalvnoise.com/posts/3004-ab-testing-tech-note-determining-sample-size
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有