数据分析之AB Test
- 业务发展 -> 用户增长
- AB test是伴随着业务增长的利器,在产品功能及策略迭代过程中有重要价值。
- 数据分析指标:点击率、转化率。
- A/B实验的重要理念:宁肯砍掉4个好的产品,也不应该让1个不好的产品上线。
01 A/B test是什么
- A / B测试(也称为分割测试或桶测试)是一种将网页或应用程序的两个版本相互比较以确定哪个版本的性能更好的方法。
- AB测试本质上是一个实验,其中页面的两个或多个变体随机显示给用户,统计分析确定哪个变体对于给定的转换目标(指标如CTR)效果更好。

02 A/B test工作原理
- 在A / B test中,你可以设置访问网页或应用程序屏幕并对其进行修改以创建同一页面的第二个版本。这个更改可以像单个标题或按钮一样简单,也可以是完整的页面重新设计。然后,一半的流量显示页面的原始版本(称为控件),另一半显示页面的修改版本(称为变体)。

- 当用户访问页面时,如上图灰色按钮(控件)和箭头所指红色按钮(变体),利用埋点可以对用户点击行为数据采集,并通过统计引擎进行分析(进行A/B test)。然后,就可以确定这种更改(变体)对于给定的指标(这里是用户点击率CTR)产生正向影响,负向影响或无影响。
实验数据结果可能如下:

03 进行A/B test的目的是什么
- A / B test可以让个人,团队和公司通过用户行为结果数据不断对其用户体验进行仔细更改。这允许他们构建假设,并更好地了解为什么修改的某些元素会影响用户行为。这些假设可能被证明是错误的,也就是说他们对特定目标的最佳体验的个人或团队想法利用A / B test证明对用户来说是行不通的,当然也可能证明是正确的。
- 所以说 A/B test不仅仅是解决一次分歧的对比,A/B test可以持续使用,以不断改善用户的体验,改善某一目标,如随着时间推移的转换率。
例如,B2B技术公司可能希望从活动登陆页面提高其销售线索质量和数量。为了实现这一目标,团队将尝试对标题,可视图像,表单字段,号召性用语和页面的整体布局进行A / B测试更改。
一次测试一个变化有助于他们确定哪些变化对访问者的行为产生何种影响,哪些变化没有影响访问者的行为。随着时间的推移,他们可以结合实验中多次正向变化的效果来展示变体相对于控件的可测量的改进。

这样来说产品开发人员和设计人员可以使用A / B测试来演示新功能对用户体验变化的影响。只要目标明确定义并且有明确的假设,用户参与,产品体验等都可以通过A / B测试进行优化。
04 A/B test流程(面试喜欢问)
定义问题与目标 + 实施实验方案 + 分析实验结果。
①确定目标:目标是用于确定变体是否比原始版本更成功的指标。可以是点击按钮的点击率、链接到产品购买的打开率、电子邮件注册的注册率等等。
②创建变体:对网站原有版本的元素进行所需的更改。可能是更改按钮的颜色,交换页面上元素的顺序,隐藏导航元素或完全自定义的内容。
③生成假设:一旦确定了目标,就可以开始生成A / B测试想法和假设,以便统计分析它们是否会优于当前版本。
④收集数据:针对指定区域的假设收集相对应的数据用于A/B test分析。
⑤运行试验:此时,网站或应用的访问者将被随机分配控件或变体。测量,计算和比较他们与每种体验的相互作用,以确定每个用户体验的表现。
⑥分析结果:实验完成后,就可以分析结果了。A / B test分析将显示两个版本之间是否存在统计性显著差异。
无论的实验结果如何,需要利用试验结果作为学习经验生成未来可以测试的新假设,并不断迭代优化应用元素或网站的用户体验。
05 A/B test需要注意的点
1、先验性:通过低代价,小流量的实验,在推广到全流量的用户。
2、并行性:不同版本、不同方案在验证时,要保重其他条件都一致。
3、分流科学性和数据科学性:分流科学是指对AB两组分配的数据要一致,数据科学性是指不能直接用均值转化率、均值点击率来进行AB test决策,而是要通过置信区间、假设检验、收敛程度来得出结论。
06 A/B test中要知道的统计学知识
1、点估计
2、区间估计
3、中心极限定理(样本估计总体的核心,可以对比看一下大数定理)
4、假设检验
- 其中假设检验部分为核心,其他辅助更好的理解该部分内容,比如区间估计可以理解为正向的推断统计,假设检验可以理解为反证的推断统计,关于假设检验本身,你可能还需要知道小概率事件、t分布、z分布、卡方分布、p值、alpha错误、belta错误等内容。
存在问题
01 如何选择样本量,我们最低抽取多少人做AB test?
- 样本量太小,得出的结论不靠谱,容易受到偶然因素影响;
- 样本量太大,大公司AB测试很多,样本有限,且样本量大,试错成本就大!
参考资料
- 公众号:数据管道:AB Test | 数据分析师面试必知!
论文 《Overlapping Experiment Infrastructure:More, Better, Faster Experimentation》(重叠实验:更多,更好,更快)
重叠实验基础设施
更多:我们需要系统具备一定的可伸缩性,以便于能够同时运行更多的实验。与此同时,也需要一定的灵活性:不同的实验需要不同的配置和不同的流量来衡量实验在统计意义上的效果显著性。有些实验只需要改变流量的一个子集,比如日本的流量,并且需要适当的调整流量大小;其他实验则可能会改变所有的流量,并在度量上产生较大的变化,因此可以在较少的流量上运行。
更好:无效的实验不应该允许在线上流量上运行。有效但糟糕的实验(如,线上Bug或无意中产生的非常糟糕的结果)应该能很快被发现并被禁止运行。标准化的实验指标应该对所有实验都是容易获取的,以便实验的比较是公平的:如两个实验在计算CTR(点击通过率)等指标时,应该使用相同的过滤器来去除机器人产生的流量。
更快:建立一个实验应该既简单又快速,简单到不需要专业的工程师,也不需要编写任何代码就就可以做到。评价指标应该很快就能被统计出来,以便快速评估实验效果。简单的迭代应该可以快速完成。此外,实验平台除了支持实验进行ABTest,还应该支持以易于理解的方式进行流量灰度。
基础概念
- 流量:即用户的访问,也是实验的样本来源。 对流量的切分也是实验平台首先需要解决的关键问题之一。
- 参数:又称作实验变量,一个实验可能有多种策略或者模型需要在线上进行比较,这些模型或者策略就称作实验参数。