AB测试不足

背景

AB Test时,除了保证算法不同外,其余条件都须要保证不变。可是每每你们可能忽视了保证用户分布的不变。好比一个算法A除了能够召回付费用户外,还能够召回不少潜在付费用户,而算法B只能召回常常付费的用户,若是直接拿两个算法做用全部用户比较,此时显然用户的分布不一致,比较最终的统计指标意义不大。算法

两种算法比较

假设有两个算法A,B。因为算法对数据的要求不一样,致使分别召回了UAUA和UBUB两批用户,因此总体用户为U=UA∪UBU=UA∪UB。两个算法的交集为I=UA∩UB≠∅I=UA∩UB≠∅。算法上线时,I中的用户不能同时被两个算法影响,因此必须在算法A和B中选择一个算法上线。此时能够等权重随机在A和B中选择一个算法,随机选取能够确保算法A和B影响的用户分布相同,而且能够保证A,B算法影响I中的用户量级相同。若是根据经验知道A的算法比B的好,能够将A的随机选取权重适调高,这样能够在确保总体线上效果的同时,仍然能够保证A,B算影响的用户分布相同,可是量级会有所不一样。可是,只要I中的用户足够多,量级对最终的评估影响不会太大。测试

线上真实状况

上面的两种算法比较中说明了,若是咱们要作AB测试,就须要AB两个分桶流量中的用户分布是一致的,可是这种状况很可贵到保证,及时在实验开始以前咱们可以准确的划出2个等分布的桶出来,在实验过程当中也仍是可能会致使用户的分布产生变化。排序

在线上真实的状况是可能一个召回,排序或者重排序的改动策略的效果在0.5%之内,这个时候其实就很难说清楚这个波动是分桶自己的不均匀致使的仍是策略带来的正向影响,如何在实验迭代的过程当中清晰的说明0.5%的正向究竟是不是真实有效一直是个问题。统计

ps:了解到头条的作法是开AABB四个分桶进行实验,交叉进行验证。经验

相关文章
相关标签/搜索