用户如何参与一次实验
- 用户视角
点开抖音,倍速的方式怎么变了,烦躁不刷了/有限的时间刷更多的视频
- 技术黑盒视角
用户请求播放,获取分组信息(进入一个实验&实验组)以及对应组的策略配置,完成一次用户行为并上报播放日志
-
技术白盒视角
- 用户分桶:按照规则把用户分到N个桶里
- 预定流量:根据流量要求拿到对应的桶数量
- 流量过滤:根据筛选条件确定用户会不会进入实验
- 实验分组:按照规则把用户分到n个实验组里
用户该进入哪个实验和实验组
例如:直接按照did/uid尾号取模分桶:奇数->A组,偶数->B组
实验验证:按照尾号000-999把抖音数据分成1000份,随机抽取两个桶的数据,如果尾号分流方法合理,那么指标的桶间差异不应过大。模拟10,000次(随机抽取两桶10,000次),在显著性水平5%下,我们得到拒绝原假设(两桶间的指标均值相等)的概率。
检验结果:
| 指标 | play_time | vv | finish_vv |
|---|---|---|---|
| 概率 | 74.67 % | 74.86 % | 74.42 % |
此概率远超5%,说明这种简陋的分流方法问题很大不可用。
- 完全随机分组(Complete Randomization,CR)
按照用户id进行hash,再取模
- 重复随机分组(Rerandomization,RR)
- 自适应分组(Adaptive)
动态进组:根据各个实验组的总流量和指标表现决定用户进组
- 协方差自适应随机分组
各个实验组的流量真的够随机么
分流科学性验证:均匀性、雪崩效应、正交性
正交性
AB实验模型奠基论文:Overlapping Experiment Infrastructure: More, Better, Faster Experimentation
问题:现在有3个实验,分别预定了线上40%的流量,应该如何开展实验呢?
- 什么是实验正交?
正交性验证:保证两个或者更多事物中的一个发生变化,不会影响其他事物。
- 神奇的实验日志分流:实验组的拆分演示
- 实验之间的收益可以叠加么?实验收益如何衡量——人不能两次踏进同一条河流
科学验证
AB实验的分流会不会犯错
PreAA实验 & AABB实验
-
什么是pre AA & AABB实验?
-
pre AA & AABB实验靠谱么?
总结
目前,采取hash & mod的方式进行实验分流可以保证分流的均匀性、正交性以及雪崩效应,同时可进一步运用pre AA & AABB的实验的方式对分流的随机性性做进一步的参考和分析。