你今天进了哪个实验组:AB实验分流原理

73 阅读3分钟

用户如何参与一次实验

  • 用户视角

点开抖音,倍速的方式怎么变了,烦躁不刷了/有限的时间刷更多的视频

  • 技术黑盒视角

用户请求播放,获取分组信息(进入一个实验&实验组)以及对应组的策略配置,完成一次用户行为并上报播放日志

  • 技术白盒视角

    • 用户分桶:按照规则把用户分到N个桶里
    • 预定流量:根据流量要求拿到对应的桶数量
    • 流量过滤:根据筛选条件确定用户会不会进入实验
    • 实验分组:按照规则把用户分到n个实验组里

用户该进入哪个实验和实验组

例如:直接按照did/uid尾号取模分桶:奇数->A组,偶数->B组

实验验证:按照尾号000-999把抖音数据分成1000份,随机抽取两个桶的数据,如果尾号分流方法合理,那么指标的桶间差异不应过大。模拟10,000次(随机抽取两桶10,000次),在显著性水平5%下,我们得到拒绝原假设(两桶间的指标均值相等)的概率。

检验结果:

指标play_timevvfinish_vv
概率74.67 %74.86 %74.42 %

此概率远超5%,说明这种简陋的分流方法问题很大不可用。

  • 完全随机分组(Complete Randomization,CR)

按照用户id进行hash,再取模

  • 重复随机分组(Rerandomization,RR)

  • 自适应分组(Adaptive)

动态进组:根据各个实验组的总流量和指标表现决定用户进组

滴滴数据驱动利器:AB实验之分组提效

  • 协方差自适应随机分组

On the Theory of Covariate-Adaptive Designs

各个实验组的流量真的够随机么

分流科学性验证:均匀性、雪崩效应、正交性

正交性

AB实验模型奠基论文:Overlapping Experiment Infrastructure: More, Better, Faster Experimentation

问题:现在有3个实验,分别预定了线上40%的流量,应该如何开展实验呢?

  • 什么是实验正交?

正交性验证:保证两个或者更多事物中的一个发生变化,不会影响其他事物。

科学验证

AB实验的分流会不会犯错

PreAA实验 & AABB实验

  • 什么是pre AA & AABB实验?

  • pre AA & AABB实验靠谱么?

总结

目前,采取hash & mod的方式进行实验分流可以保证分流的均匀性、正交性以及雪崩效应,同时可进一步运用pre AA & AABB的实验的方式对分流的随机性性做进一步的参考和分析。

参考文档

如何判断AB实验是否显著?如果结果不显著,那怎么办?

A/B Test︱一轮完美的A/B Test 需要具备哪些要素

AB Test到底怎么做

算法AB实验平台进化历程和挑战

如何提供一个可信的AB测试解决方案

美团配送A/B评估体系建设实践