数据应用系列(1)-ab测试

Python涨薪研究所

共 5506字,需浏览 12分钟

 ·

2021-02-25 21:49


源 / 一个数据人的自留地    / 五花肉


01

为什么需要AB测试


大家在日常工作中是否会遇到以下问题:
1)产品经理提出一个竞品没有的功能,即便感觉自己引领了行业,但老版:“这个功能竞品都没有为啥要做?”好不容易说通了老板,到了开发大佬评审时:“这功能对用户好像没用啊,要想说服开发,又要经历一轮苦口婆心,心累!

2)新功能经历灰度发版后,上线之后数据增长下跌是否是因为这次功能或策略导致,要想拆分清楚,分析师小伙伴又要经历一次抽丝剥茧
3)我有两个想法,但不确定哪个对用户更有效,如何能进行验证……

我们每天的工作都要处理各种各样的决策,而人们决策的方式会偏好自己习惯或者熟悉的方式,但往往结论与其相悖,要想以实际效果来驱动业务。

这就需要一个科学、并行、可操作的方法来验证每一种策略的可能性,这种方法就是我们今天要讲的A/B测试。近几年来随着用户增长,精细化分析概念的普及,作为核心方法的ab测试也仿佛成为了互联网圈小伙伴们必须掌握的基础技能之一。

Google、facebook、linkin、快手、字节等国内外大厂都把ab测试结果作为推动业务发展的基础。但ab测试方法具有一定的使用门槛,对于业务人员需要具备统计学、平台操作等相关知识;对于平台人员需要具备统计学、平台设计、数据采集、系统搭建以及异常问题处理等相关知识,乍一听起来,好像有点难度。别慌,听我慢慢给大家逐一阐述。



02

AB测试与控制变量


AB测试的定义是指为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目标人群)随机的访问这些版本,收集各群组的用户体验数据和业务数据,最后分析、评估出最好版本,正式采用。


这条定义有几个关键词,同一时间、组成成分相同,随机访问,目的是尽可能的避免其他变量对实验产生的影响。看完这条定义,不知大家是否有些似曾相识。

我们初中上物理或生物课的时候,老师介绍过一种方法——控制变量法。控制变量法是指把多因素的问题变成多个单因素的问题,只改变其中的某一个因素,从而研究这个因素对事物影响,分别加以研究,最后再综合解决的方法。

该方法最早被设计出来是在进行科学实验时把多因素问题变成单因素问题来研究对事物的影响,目的是为了减少方差。


下面我们来举个例子说明一下控制变量法和ab测试有多么的相似:
例1:某兴趣小组做了个实验,研究问题是种子生长情况收到什么因素影响,提出研究假设:种子生长情况是否收到洗涤剂影响,实验设计如下图:


研究对象
组别
操作
现象
分别放入5粒有嫩芽相同品种的种子
实验组A
棉花中加入洗餐具用的中性洗涤剂
生长收到抑制
实验组B
棉花中加入洗衣服用的合成洗涤剂
生长受到抑制
对照组
加入自来水
正常生长



例2:例如某app打算优化一下签到功能,研究签到功能的点击率受什么因素影响,假设:签到点击率是否受到文案的影响,实验设计如下图:


组别
操作
点击率
涨幅
对照组
签到(线上)
45.00%
-
实验组
签到有礼
53.00%
+17.78%
实验组
签到得奖
54.34%
+18.53%



我们从实验流程角度来看两组实验:


流程
ab测试
控制变量
目标
签到功能收到什么因素影响
种子生长收到什么因素影响
提出假设、猜想
签到点击率是否收到文案的影响
种子生长情况是否收到洗涤剂影响
实验设计
相同组成成分、相同时间下:
1.对照组:展示签到
2.实验组1:签到改为签到有礼
3.实验组2:亲到改为签到得奖
相同光照、相同温度、湿度下:
1.实验组:正常生长
2.实验组1:加入中性洗涤剂
3.实验组2: 加入复合洗衣液
选取研究对象
相同组成成分的人
相同大小、相同品种的种子
观测实验现象/数据
实验组1、2点击转化率均高于对照组
实验组1、2 生长受到抑制
对照组正常生长
得出结论
签到功能点击转化率受到文案影响
种子生长受到洗涤剂影响



是不是操作流程、设计理念有异曲同工之妙。虽然控制变量法已经被创造了百十年,但这个“古老”的方法也是后期设计实验、设计平台以及数据分析上的一个基本依据。

03

AB测试有哪些优点


那么ab测试在实际运用的过程中有哪些优点呢?
1.说服力:
我觉得这个优点是首当其冲的,有些时候无论是产品、运营提的想法总会被开发diss,这需求有用么?嗨!有没有用上实验,用数据说话。这套操作下来简直是无形中给我们负责提需求的小伙伴们强有力的支持,长此以往,我相信开发大佬们也会对我们“言听计从”的。

2.降低风险:
ab测试强调先验性,实验确定对用户有效果才会上线,避免了传统操作需上线以后观测数据的方式,对用户影响小的多,降低了“伤害”用户的风险

3.符合科学原理:
ab实验经过了科学的实验设计、科学的用户抽样、运用科学的统计方法及数据分析得出的结论并采用逐步全量进行上线的方式

4.口径统一:
实验组和对照组同时生效、同时展示、采用同样的指标口径进行计算,避免了后期实验结果上因口径不同导致的分歧

04

AB的基础知识及作用



ab测试是一种对比分析方法,通过样本对总体的估计,来识别出哪个版本对整体效果最好。下面我们一起看一下要学会ab测试方法需要哪些基础知识。

流量层
可以理解为平行时空,每层人总数是一样的,通过算法进行随机打散,让同一个人在不同层有不同的顺序和标号以便进入到不同实验,规避掉实验上多因素造成的数据偏差,之所以引入流量层的作用是为了解决实验多而流量不够的问题,每层都可以运转实验,结束后流量释放。

正交&互斥
正交&互斥是存在于流量层上,即实验用户同层互斥、不同层正交,通俗来讲就是实验已经占用的用户在同层不会被其他实验占用,但该实验中的用户在其他流量层会被占用,正交&互斥原则是实验设计时基本原则,为了避免实验与实验间互相影响。

 

均值:表示一组数据集中趋势的量数,在一组数据中所有数据之和再除以这组数据的个数,ab实验中涉及的均值为人均值和转化率,例如人均点击次数、ctr等,在ab测试里作为一个观测指标展示

方差:是指各数据与其均值的离差平方和的平均数,反应每个数据与均值的离散型或者波动性,在ab测试中是计算临界值的一个基本数据。

假设检验:又称统计假设检验,其作用是用来判断样本与样本,样本与总体差异是由抽样误差引起的还是本质差别引起的一种方法。

例如:汽车引擎新排放标准是平均值<20ppm,现某公司抽取10台汽车样本,其引擎排放水平为 15.6 16.2 22.5 20.5 16.4 19.4 16.6 17.9 12.7 13.9,判断该公司汽车是否符合新排放标准?

若要看排放是否符合标准,首先要建立原假设:排放不符合标准;其次要构造统计量进行相关数据的对比;再次要确定这10台汽车与标准是否具有显著差异,若无差异,最后得出结论。


所以综上假设检验通常需要以下步骤:


1.提出猜想,设定原假设和备择假设
2.构造统计量,根据样本计算相关数值
3.确定显著性水平,进行数据检验
4.得出结论




常用的假设检验的方法有:z检验、t检验、f检验、卡方检验,我们可以根据下图来确定什么检验方式适合自己:


检验方法
试用场景
T检验
样本量较小(<< span="">30)、总体方差未知,服从正态分布,t检验样本量扩大就成了z检验,用以判断两个均值是否差异显著
Z检验
样本量较大(>30),总体方差未知,服从正态分布,用以判断两个均值是否差异显著
F检验
用以判断两组数据方差是否有显著差异
卡方检验
用以检验实际观测值与理论推断值得偏离程度



其中t检验和z检验为ab测试所使用的检验方式

正态分布:正态分布是描述连续型变量值分布的曲线,表现形式为中间高两边低,可根据一组数据的均值和方差求得,根据其均值、中位数和众数的大小关系有以下几种表现形式:


若均值(μ)为0(y轴),标准差(σ)为1,则该分布又称标准的正态分布,其在横轴区间(μ-σ,μ+σ)内的面积为68.268949%,横轴区间(μ-1.96σ,μ+1.96σ)内的面积为95.449974%,横轴区间(μ-2.58σ,μ+2.58σ)内的面积为99.730020%。也就是说在这三个置信区间内的概率分别是68.27%、95.45%、99.74%,该概率又成为置信水平。

置信区间:是指用样本均值估计总体均值时允许的误差范围。例如我们要统计全人类的体重,因为无法统计每一个人,但是我们根据规则随机取各个国家1万人的体重求其均值μ,假定做了100组实验,就会有95组实验包含μ,5组不包含。用数学公式标识则为P(μ−1.96nσ<< span="">M<< span="">μ+1.96nσ)=0.95

p值:即发生某件事情的概率,是用来判断假设检验结果的一个参数,若p值很小则证明原假设发生的概率很小。因样本是从总体中随机抽取,所以不能确定样本的表象差别是否通过抽样误差引起,故需要从统计学角度来判断此次抽样是否有统计学意义,其数据解释如下:


P值
碰巧的概率
对无效假设
统计意义
P>0.05
碰巧出现的可能性大于5%
不能拒绝原假设
两组无显著差异
P<0.05< span="">
碰巧出现的可能性小于5%
可以拒绝原假设
两组有显著差异
P<0.01< span="">
碰巧出现的可能性小于1%
可以拒绝原假设
两者有非常显著差异



显著性差异是说明对比的数据不是来自于同一总体,而是来自于具有差异的两个不同总体,例如大学生和小学生的在学习能力上的对比,就是有极显著差异。

显著性水平α:是在原假设为真时拒绝原假设的概率,根据具体需求选择双侧检验还是单侧检验,详见下图:
 

p值和显著性水平α的关系如下:
1)若P<< span="">=α,那么拒绝原假设
2)若p>α,那么不能拒绝原假设

通常情况下单侧检验取0.05或0.01为拒绝域的临界值,这表明作出接受原假设的决定时,其正确的可能性是95%或99%

统计功效:备择假设成立时,正确的拒绝原假设的概率,我们用下图来说明下什么是统计功效。

红色线是原假设下分布情况,红色区域在原假设分布下为拒绝原假设的概率,其中z值为临界值,统计功效就是该临界值在备择假设的分布下,统计量大于z的概率,即上图绿色区域,公式为1-β。

上面我们知道了以上ab测试所需要的基本概念,那如何运用到实际ab测试中呢。

我们举个例子来看下:
背景:某天a公司产品部门要优化push文案策略对用户点击率的影响

产品经理小a在其公司下的ab平台创建了一个实验,分2个实验组开启实验,
假设:实验版本比对照版本好

实验时间:周期21天,21天后观测效果如下:


版本
均值
变化
95% 置信区间
结果解读
对照版本
1.35
-
-
-
Case1
1.46
+8.0%
[+6.4%, +9.6%]
统计显著,提升有效
Case2
1.36
+1.0%
[-1.0%, +3.0%]
非统计显著,效果不显著



根据上表数据,具体推演流程小伙伴们可以根据前面的知识点自己思考一下~

上面梳理了ab测试的原理、优点以及一些相关的基础概念,如果要实际操作还是需要一个平台来承接,那么一个ab平台都需要具有哪些功能呢?我对比了一下市场上的产品给大家剖析一下。

05

市场工具的竞品分析


市场上提供AB测试相关功能的公司主要有:

国内:
1.云眼https://www.eyeofcloud.com/)abtester(http://www.abtester.cn/)
2.吆喝科技(http://www.appadhoc.com/)
3.智道助手
http://sjmyz.zhidzhushou.com/lp2.html?utm_source=5&utm_medium=sembaidu&utm_term=sem_baidu_data_lz&utm_campaign=bdpcdata9044
4.数极客
https://www.shujike.com/product/abtest.html
5.云测(https://www.testin.cn/)等

国外:
1.Vwo(https://vwo.com/)、
2.Optimizely(https://www.optimizely.com/
3.Omniture
https://www.adobe.com/marketing-cloud.html

我分别用吆喝科技、Optimizely 进行一个简单的“竞品分析”,分别从功能框架、使用流程上来对比一下国内外ab测试产品设计上的差异情况

1)功能框架:
吆喝科技应该是国内提供ab测试首屈一指的大厂,其具体功能如下:


optimizely公司是2010年创立,美国的一家资深提供ab测试服务的公司,功能丰富,自主化操作很强,对于不同场景的兼容也是别具一格,是非常值得大家学习和参考的一个产品,具体功能框架如下:


2)使用流程:
页面展示:
使用流程:

吆喝科技实验流程以引导式的交互方式进行,整个流程相对较“顺”,单从操作角度上而言门槛不是很高。

而Optimizely相对来说比较自由,但每一个操作配置都需要进行代码集成,操作流程较国内而言相对较多,具体如下:
页面展示:

上图为截取的部分配置页面

操作流程:

如果是一次新的操作,Optimizely需要提前配置好指标、受众人群、属性、功能等,每个操作流程都会展示很多配置需要集成在sdk里,对于使用者来说初始化过程有一定成本,不过对于开发者确实比较友好,只需要复制粘贴一段段代码即可,如果有人能提前把相关信息配置好,那用Optimizely进行ab测试还是比较香的。
 
经过对两个产品的对比,ab测试的功能也就一目了然:


模块
功能
实验
创建实验
复制实验
人群管理
实验管理(流量控制、实验控制)
实验调试
指标管理
指标管理
事件管理
数据
数据概况
数据明细(p值、置信度、统计功效、趋势等)
系统管理
角色管理
权限管理



总结:
AB测试是数据驱动增长的核心方法,本文的目的在于能以“通俗易懂”的方式给大家普及一些基本概念,让ab测试的使用和理解不在有“门槛“,全文分别从原理、基本概念以及相关平台建设的角度进行叙述。

但因篇幅有限,相关知识点无法更全面的为大家展开,感兴趣的童鞋可以进行留言,后续相关的文章我也会逐一为大家解答,若文章内描述有错误的也欢迎大家指正。希望大家读完后可以多多思考多多探讨,让ab测试真正能为企业增长作出贡献。

备注:
1.以上功能框架是根据各产品的功能说明文档进行整理,仅供参考,若与实际有差异请于笔者联系,及时修正
2.流程图并非标准流程图,只对比了主要流程进行的流程示意图

—  —


一键三连「分享」、「点赞」和「在看」

技术干货与你天天见~


浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报