A/B-test / diff in diff
01 | A/B-test
1.A/B测试定义
A / B测试(分割测试或桶测试)是一种将web或app的两个版本相互比较以确定哪个版本的性能更好的方法。
本质上是一个实验,同一时间维度,将产品的两个或多个版本随机分发给用户,通过收集各群组的用户体验数据和业务数据,最后根据显著性检验分析评估出最好版本正式采用。
2.实验方法
随机将测试用户群分为2部分,用户1使用A方案,用户2使用B方案,经过一定测试时间后,根据收集到的两方案样本观测数据,根据显著性检验结果选取最好方案。
在A / B test中,产品可以创建同一页面的第二个版本。可以设计一些个新的页面。进行测试的过程中,一半的用户显示页面的原始版本(称为控件),另一半用户显示页面的修改版本(称为变体)。
当用户访问产品页面时,利用埋点可以对用户点击行为数据采集,并通过统计引擎进行分析(进行A/B test)。最终可以确定这种更改(变体)对于给定的指标(这里是用户点击率CTR)产生正向影响,负向影响或无影响。
3.A/B-test设计流程
①确定目标:目标是用于确定变体是否比原始版本更成功的指标。可以是点击按钮的点击率、链接到产品购买的打开率、电子邮件注册的注册率等等。
②创建变体:对网站原有版本的元素进行所需的更改。可能是更改按钮的颜色,交换页面上元素的顺序,隐藏导航元素或完全自定义的内容。
③生成假设:一旦确定了目标,就可以开始生成A / B测试想法和假设,以便统计分析它们是否会优于当前版本。
④收集数据:针对指定区域的假设收集相对应的数据用于A/B test分析。
⑤运行试验:此时,网站或应用的访问者将被随机分配控件或变体。测量,计算和比较他们与每种体验的相互作用,以确定每个用户体验的表现。
⑥分析结果:实验完成后,就可以分析结果了。A / B test分析将显示两个版本之间是否存在统计性显著差异。
4.案例
- 某大厂「猜你喜欢」模块接入了的新推荐算法,新算法开发完成后,上线之前要进行评估,所用的评估方法是A/B test。
- 具体做法是在全量中抽样出两份小流量,分别走新推荐策略分支和旧推荐策略分支,通过对比这两份流量下的指标(这里按用户点击衡量)的差异,可以评估出新策略的优劣,进而决定新算法是否完全发布。
- 实例A/B test步骤:
指标:CTR(点击率)
test:新的推荐算法
假设:新算法可以带来更多的用户点击
收集数据:B组