小流量 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 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

博客 | 「压缩」会是机器学习的下一个杀手级应用吗?

雷锋网AI 科技评论按:机器学习的研究正进行的如火如荼,各种新方法层出不穷。尽管这样,还有一个问题摆在面前,研究这些算法对于现实有什么用。特别是当讨论起机器学习...

784
来自专栏ATYUN订阅号

Fast.ai发布Fastai 1.0完整版本,用于PyTorch的免费、开源深度学习库

Fast.ai宣布推出Fastai 1.0完整版本,这是一个运行在Facebook的PyTorch框架之上的免费、开源深度学习库。

3542
来自专栏机器之心

学界 | 谷歌提出协同机器学习:通过分散的手机更新同一个云端模型

选自Google Blog 作者:Brendan McMahan、Daniel Ramage 机器之心编译 参与:微胖、韩天哲 标准的机器学习方法要求在一个机器...

27610
来自专栏大数据文摘

OpenAI联手DeepMind发布增强学习新突破,最佳奖励函数可智能化生成(附论文)

1223
来自专栏AI科技评论

动态 | 谷歌也发布了Web前端机器学习库,就叫deeplearn.js

AI 科技评论按:在人工智能时代,不管是音箱、手机、汽车、app,自家产品没有用上深度学习都不好意思跟别人打招呼;另外,谷歌和 Facebook 都分别在 Te...

3496
来自专栏专知

微软研究院开源项目TextWorld:可用于强化学习训练的文本游戏

【导读】可以说,对话系统和自然语言处理(NLP)是现代人工智能(AI)中应用最广泛的部分。 尽管NLP研究不断取得进展,但和人相比,今天的大多数对话系统仍然相当...

531
来自专栏灯塔大数据

深度|DT时代的核心竞争力---数据分析与挖掘

数据分析与挖掘,指的是通过对大量的数据进行观察与分析。发掘其中的未知的,潜在的、对决策有价值的关系、模式和趋势,并利用这些规则建立决策模型、提供预测性支持的方...

3124
来自专栏AI研习社

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

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

914
来自专栏AI科技评论

业界 | 「压缩」会是机器学习的下一个杀手级应用吗?

机器学习的研究正进行的如火如荼,各种新方法层出不穷。尽管这样,还有一个问题摆在面前,研究这些算法对于现实有什么用。特别是当讨论起机器学习在手机和其他设备上的应用...

692
来自专栏腾讯架构师的专栏

给 AI 换个“大动力小心脏”之通用 CNN 加速设计

基于 FPGA 的通用 CNN 加速设计,可以大大缩短 FPGA 开发周期,支持业务深度学习算法快速迭代;提供与GPU相媲美的计算性能,但拥有相较于 GPU 数...

1.5K2

扫码关注云+社区