机器学习面试题集 - 如何进行 A/B 测试
-
什么是 A/B 测试?
-
A/B 测试什么时候用?
-
如何应用 A/B 测试?
什么是A/B 测试
A/B 测试是最简单的对照实验方法,可以用来对产品的两个版本进行比较。
将用户随机分成两组,这样两组数据可以来自同一分布。
一组叫做对照组,使用产品的旧版,一组叫做实验组,使用产品的新版。
两组同时做线上测试,然后采集指标,分析结果,
什么时候需要用到A/B 测试
当要决定一个产品或者新功能是否真的可以上线时,就要做A/B 测试,我们要看这个新的产品或者新的特征是否会对一些商业指标产生影响,A/B 测试的结果决定了产品是否可以上线。
当产品模式比较成熟,进入快速迭代的阶段时,用
A/B 测试的效果比较明显。
如何应用A/B 测试
A/B 测试的一般流程为:
-
首先明确需要进行测试的特征是什么
-
然后要正确的定义指标,比较常见的重要的指标如点击率,转化率,例如,我们想看如果把某产品主页上免费体验会员的按钮颜色由红色改成绿色,是否会增加转化率。
-
做出假设,例如按钮由红色变成绿色,会有更多人愿意点击
-
设计测试计划,包括提升目标,测试的系统,地点等等。
-
相关部门沟通协作,比如要改界面需要和UI工程师沟通。
-
运行测试方案
-
分析测试结果,看数据结果对不对,评估指标有没有变化,有没有达到显著性水平,对其他指标有没有影响
-
得到结论,例如点击率提高了多少,转化率提高了多少,而且对其他的特征没有影响,然后制定相应的商业计划。
用一个具体例子来看:
例如 A 组有 2000 个样本,有200个样本转化,
B 组有1943个样本,有298个样本转化,
我们希望达到的 Confidence level 是95%,
希望 significance 是0.03。
首先计算A和B的转化率:
Pa=200/2000=0.1,
Pb=298/1943=0.153
再计算一下 difference=0.153-0.1=0.053
然后计算 standard error=0.0106
根据公式计算它的 Confidence Interval=(d-m, d+m)=(0.0326, 0.0741)
0.0326>0.03
那么就可以上线这个功能。
学习资料:
《百面机器学习》