小流量 AB 测试能做吗?能!

前言

AB测试对于产品和运营优化的重要性有目共睹。为了能更快的得到试验结果,试验流量越大越好。

但是当流量不够的时候怎么办呢?小流量AB测试能不能做?能!那么,怎么做?

下面是6个节约流量的方法。

消除异常数据的影响

当点击量作为指标时,有时会看到少量设备贡献了数万的点击。这些设备可能是出了bug处于异常状态,也可能是在运行自动化测试,总之不会是正常的业务数据。如果将这些数据计入统计结果,将会对结果的准确性产生很大的影响。严重的情况只能重做试验,相当于本次试验流量全浪费掉了。所以极端用户的数据不进行统计,实践中让点击量最大的1%用户数据不参与计算。

正确统计进入试验的用户数

转化漏斗中的每个步骤都可以进行AB测试。假设在转化漏斗的第3层的页面进行AB测试,在统计试验UV的时候,比较科学的方法是将进入到该页面的用户统计为试验UV,而不是所有访客。如果没进入该页面的用户也统计为试验UV,则会稀释试验数据。

假设到达该页面的访客为10%,该页面转化率为50%,如果想检测出10%的提升(50%提升到55%),根据公式计算大概需要1600试验样本,对应总访客16000。如果把所有访客作为试验样本参与统计,则该种算法下页面转化率为5%(只有原来的十分之一),同样想检测出10%的提升(5%提升到5.5%),则需要30400试验样本,对应总访客也是30400。

这个例子里节约了大概1/2的流量,如果试验页面的转化率更高,前面漏斗的转化率更低,节约效果会更明显。

点击转化率比点击数量更容易获得统计显著的结果

有些场景下,如果认为用户多次点击和单次的点击差别并不大(比如下载,注册,看广告等),可以观察点击转化率指标的统计结果。转化率是去重的,用户只要点击过就计算为1,否则计算为0。同样的试验样本,点击量的标准差是一定大于转化率的。

仍然用上面提到的公式举例:

假设用户点击量的分布为0次20%,1次20%,2次20%,3次20%,4次20%。

则点击量均值为2方差为2,想检测出10%的提升需要800样本量。

转化率为80%,方差为0.16,想检测出10%的提升需要400样本量。

这个例子里节约了1/2的样本量,如果点击量的分布更加分散,节约效果会更明显。

原始版本的流量不要浪费掉

在有些情况下,为了稳妥起见往往只会让一小部分流量(比如总用户的1%)看到试验版本,99%的用户看到原始版本,如果统计试验数据的时候,看到原始版本的用户只挑出和看到试验版本用户数相同的人数(总用户的1%)来参与统计,则另外98%的流量相当于浪费了,他们实际上是对试验有帮助的。当试验版本和原始版本样本数不相同时,有一个计算等效样本数的公式:

N = (1/Ncontrol + 1/Nexperimnet)-1

当 Ncontrol=Nexperimnet 时计算得出 N=Nexperimnet/2

如果原始版本(即control版本)的流量全部参与统计,则 Ncontrol>>Nexperimnet 计算得出 N=Nexperimnet

等效样本数量翻倍了,相当于又节约了1/2的流量。

善用分层试验

想优化的地方太多了,同时跑多个试验是常态,是不是流量就不够用了?如果试验之间互相不会干扰,可以考虑分层试验。分层试验即允许同一个用户同时参加多个试验,通过流量分配的随机算法保证试验结果的代表性。原来流量只能做一个试验,现在不相关的试验可以一起做了,效率成倍增加。

同层试验共用原始版本数据

同层的多个试验,大家的原始版本是完全相同的,分开各自统计显然浪费了数据。以4个试验为例:

如果每个试验有独立的原始版本和试验版本,流量分配都是总流量的1/8,则根据上面提到的等效样本量公式,每个试验的等效样本数为总流量的1/16。如果4个试验的原始版本合并为公共的原始版本(占总流量1/2),则每个试验的等效样本数为总流量的1/10。等效样本量提升了60%。

如果多个AB测试试验优化的是同一指标,还可以进一步的对公共原始版本的流量进行微调。令n为试验数量,则 (Ncontrol/Nexperimnet)2 = n 时等效样本数量达到最大值。n=4代入得到原始版本占总流量1/3,每个试验版本占总流量1/6,最终每个试验的等效样本数为总流量的1/9。等效样本量又提升了11%。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能计算时代

机器学习在行业应用中的案例研究

原文作者:微软雷德蒙研究院首席研究经理Chris Burges 译者:陈彬 大家好,我是Chris Burges。在我于微软14年以及此前在贝尔实验室14年的科...

2567
来自专栏AI科技评论

动态 | DeepMind 开源TRFL,又一个强化学习复现、创新好帮手

AI 科技评论按:继今年 8 月谷歌开源发布了专为学术研究人员设计的简单但鲁棒的强化学习框架「多巴胺」(Dopamine)之后,早已被谷歌母公司收购但保持独立运...

733
来自专栏数据科学与人工智能

【机器学习】协同过滤算法

在现今的推荐技术和算法中,最被大家广泛认可和采用的就是基于协同过滤的推荐方法。本文将带你深入了解协同过滤的秘密。下面直接进入正题 1 什么是协同过滤 协同过滤是...

2386
来自专栏专知

【下载】JAVA程序员深度学习实用指引《Deep Learning: Practical Neural Networks》

【导读】 Yusuke Sugomori等人的新书《JAVA深度学习实战》(Deep Learning: Practical Neural Networks w...

32412
来自专栏CDA数据分析师

9月机器学习开源项目Top10

【导读】我们从过去一个月近 250 个有关机器学习的开源项目中,精心挑选出了最热门的 10 个。在挑选过程中,我们始终在各个项目之间作比较。Mybridge A...

804
来自专栏机器之心

开源 | 谷歌发布 Coarse Discourse:迄今为止最大的在线讨论标注数据集

选自Google Research Blog 作者:Praveen Paritosh等 机器之心编译 参与:蒋思源 近日,谷歌官方研究博客发布了一个开源数据集,...

2809
来自专栏PPV课数据科学社区

23种深度学习库排行榜:TensorFlow最活跃、Keras最流行、

我们对23种用于数据科学的开源深度学习库作了排名。这番排名基于权重一样大小的三个指标:Github上的活动、Stack Overflow上的活动以及谷歌搜索结果...

4105
来自专栏深度学习与数据挖掘实战

干货|饿了么推荐算法演进及在线学习实践

...

762
来自专栏专知

2018年Google TensorFlow开发者峰会亮点总结

本文由TensorFlow的产品经理Sandeep Gupta代表TensorFlow团队发布。 原文:https://medium.com/tensorflo...

37711
来自专栏ATYUN订阅号

关键术语总结:117个数据科学关键术语的解释

这篇文章展示了一组数据科学相关的关键术语,这些关键术语简明而实用,由12个不同的主题组成。 20个大数据的关键术语的解释 链接地址为http://www.kdn...

2826

扫码关注云+社区