该内容来自极客时间的A/B测试从0到1专栏总结
A/B测试流程:
1.确定目标和流程
2.确定指标
3.选取实验单位
4.选择实验样本量
5.分析测试结果
1.确定目标和假设
A/B测试可以解决的常见的业务问题
产品迭代 | 算法优化 | 市场营销 |
---|---|---|
如何改变用户的交互界面来提升用户体验 | 如何通过提高推荐系统算法的准确度来提升用户粘性 | 如何确定最优的营销内容 |
如何优化新用户的注册流程来提高转化率 | 如何通过提高搜索排名算法的准确度来提升结果的点击率 | 如何确定最优的营销时间 |
如何确定产品优惠券的最有价值 | 如何通过提高广告显示算法的精准度来提升广告的点击率 | 如何确定最精准的受众群体 |
如何增加产品功能来提升用户留存 | 如何衡量市场营销的效果 |
在A/B测试中,需要既包含想要做出的改变,又包含期望达到的结果。
例子:一款按月付费的音乐App要提升营收为实现,来确定目标和假设
1.分析问题,确定想要达到的结果。
通过数据分析,和竞品进行对比分析发现用户留存率低于行业平均,因此,用户留存率是App目前存在的问题
2.提出解决业务问题的大致方案
影响用户留存的原因有:
1.内容是否丰富,能满足不同用户的音乐需求;2.产品是否有足够多的便利功能,可以给用户更好的使用体验;3.App的开启和运行速度是否足够流畅
通过对比分析,产品在歌曲库的内容和丰富程度上,都在行业平均水平之上,App运行也十分流畅,但缺少一些便利的产品功能。因此,提出的大致解决方案就是,通过增加产品功能来提升用户留存
3.从大致的解决方案中提取具体的假设
解决方案可以通过联想得到
- 在每个专辑/歌单播放完后增加“自动播放下一个专辑/歌单”的功能,以此来提升用户留存
量化目标
在案例中,用户只要每个月按时付费续订就是留存。即可以把用户留存定义为下个月的续订率
A/B测试的假设就变为:在每个专辑/歌单播放完成后增加“自动播放下一个专辑/歌单”的功能,可以提升用户下个月的续订率
2.确定指标
0.指标分类
A/B测试的指标分为评价指标和护栏指标
评价指标:通常是短期的,比较敏感,有很强的可操作性,例如点击率,转化率,人均使用时长等。
特性:可归因性,可测量性
通常采用A/A测试来测量稳定性,用回溯性分析来测量敏感性
护栏指标:起辅助作用
1.如何选取具体的评价指标
要清楚业务或产品所处的阶段,根据这个阶段的目标,来确定评价指标
以音乐app为例
阶段 | 目标 | 指标 |
---|---|---|
起步阶段 | 增加新用户 | 点击率,转化率 |
发展和成熟期 | 用户使用情况和留存情况 | 用户的平均使用时间和频率,产品特定功能的使用率,用户留存率 |
如果目标比较抽象,需要采用定性+定量相结合的方法
例如对于用户的满意度可以采用问卷调查,用户调研加定量数据分析的方法
对于音乐App
- 首先,通过哪些定性的用户调研,分为满意用户和不满意用户两组
- 对每组用户分别做定量的用户使用习惯的数据分析,发现把音乐收藏到自己曲库的用户有较高的满意度,说明收藏音乐这个行为和用户满意度有强烈的正相关性。这时候,可以把收藏音乐作为评价指标(比如收藏音乐的数量)。还可以通过数据分析确定“收藏X首以上音乐的用户非常满意中X的最优值是多少”
还可以参考其他公司相似的实验或者研究,借鉴他们使用的评价指标
2.考虑多个指标
例子:亚马逊通过电子邮件给用户做推荐,使用什么指标来衡量电子邮件的效果
如果将收入作为评价指标,指衡量了短期的收入,没有考虑到长期的用户价值。用户退订会对亚马逊产生损失
构建总体评价标准(OEC)
OEC=(sum(revenue)-s*ull)/n
计算(每个用户的收入-每组退订人数*平均用户生命周期价值损失)/每组样本大小
OEC的优点:
1.综合了各方面的指标,可以把握总体的好坏
2.可以避免多重检验问题。如果单独比较多个指标会出现多重检验的问题
3.考虑评价指标的波动性
评价指标有正常的波动范围,如果实验组的评价指标好于对照组,但没有突破波动范围则无法说明原假设是正确的
假设指标的均值为50,标准误差为0.1,服从正态分布,则指标的95%的置信区间为[50-1.96 * 0.1,50+1.96 * 0.1]。实际中需要我们自己来计算标准误差
计算波动范围的方法:
1.根据统计公式来计算
-
概率类指标:用户的点击率,转化率,购买率等
这类指标通常服从二项分布,在样本量足够大的情况下,也可以近似为正态分布。
s(标准误差)=sqrt(p*(1-p)/n)
p:事件发生的概率
-
均值类指标:用户的平均使用时长,平均购买金额,平均购买频率。
指标通常服从正态分布
s(标准误差)=sqrt(s2/n)=sqrt(sum(xi-x)2/n(n-1))
s:样本标准差
2.根据实践经验来确定
当复杂指标不符合正态分布,或者不知道他们是什么分布是,需要结合实践经验来估算。
1.A/A测试
进行多个不同样本的A/A测试(对照组和测试组条件一样),然后分别计算每个样本的指标大小,分别计算每个样本的指标大小,再按指标从小到大排列起来,去除最小2.5%和最大2.5%的值,剩下的就是95%的置信区间。
2.Bootstrapping算法
可以先跑一个样本很大的A/A测试,在大样本中随机可置换抽样,抽取不同大小的样本来分别计算指标,再按指标从小到大排列起来,去除最小2.5%和最大2.5%的值,剩下的就是95%的置信区间。
Bootstrapping算法较A/A测试比较简单,只需跑一次测试。如果用统计方法和bootstrapping两种方法分别计算方差得到差距较大。则需要跑更多的A/A测试。
4.选取护栏指标
1.业务品质层面:
1.网络延迟
包括网页加载时间,App相应时间等指标。反映对用户体验的影响。
2.闪退率
计算不同客户端(电脑端,移动端),不同CPU,内存的闪退率。反映对用户体验的影响。
3.人均指标
-
收入角度:人均花费,人均利润。反映产品的盈利能力。
-
用户参与度:人均使用时长,人均使用频率。反映用户的满意程度。
2.统计品质层面:
目的:消除偏差,使得实验组和对照组尽可能相似。
造成偏差的原因举例:
- 随机分组的算法有bug,样本量不够大,触发实验条件的数据出现延迟,具体实施时的工程问题
检测偏差的方法:
1.实验/对照组样本量大小的比例
实验组和对照组的样本比例通常为1:1
2.实验/对照组中特征的分布
实验组和对照组中,只有实验变量分布不同,其他变量的分布应控制相同。
例如,将用户作为实验单位。则在实验结束后,分析两组数据时的,用户的年龄,性别,地点等基本信息分布应是大体一致的。
注意点:
-
在建立总体评价标准时,需要将各个指标进行归一化处理(x-min)/(max-min),剔除指标单位/大小的影响
-
计算指标的正常波动范围(置信区间),对于未知分布的用bootstrapping计算,对于概率类和均值类指标建议同时用统计方法和boostrapping计算
-
实验中选取指标时,要注意同时选择评价指标和护栏指标。