数据分析AB测试实战项目
本文是《数据蛙三个月强化课》的第四篇总结教程,如果想要了解数据蛙社群,可以阅读给DataFrog社群同学的学习建议。温馨提示:如果您已经熟悉数据分析指标,大可不必再看这篇文章,或是只挑选部分文章
阅读路线
- 什么是AB测试?
- AB测试的基本步骤
- 影响AB测试结果准确性的因素
- 根据收集到的24天的数据进行AB测试检验(实战)
一:什么是AB测试?
这里我们把范围限制到互联网公司的AB测试中,是将Web或App界面或流程的两个或多个版本,在同一时间维度,分别让类似访客群组来访问,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。
二:AB测试的基本步骤
AB测试是一个反复迭代优化的过程,它的基本步骤如下图所示可以划分为:
现状分析并建立假设:分析业务数据,确定当前最关键的改进点,作出优化改进的假设,提出优化建议;比如说我们发现用户的转化率不高,我们假设是因为推广的着陆页面带来的转化率太低,下面就要想办法来进行改进了
设定目标,制定方案:设置主要目标,用来衡量各优化版本的优劣;设置辅助目标,用来评估优化版本对其他方面的影响。
设计与开发:制作2个或多个优化版本的设计原型并完成技术实现:
分配流量:确定每个线上测试版本的分流比例,初始阶段,优化方案的流量设置可以较小,根据情况逐渐增加流量。
采集并分析数据:收集实验数据,进行有效性和效果判断:统计显著性达到95%或以上并且维持一段时间,实验可以结束;如果在95%以下,则可能需要延长测试时间;如果很长时间统计显著性不能达到95%甚至90%,则需要决定是否中止试验。
最后:根据试验结果确定发布新版本、调整分流比例继续测试或者在试验效果未达成的情况下继续优化迭代方案重新开发上线试验
三:影响AB测试结果准确性的因素
- 样本数量:流量样本的数量不能过少
如果试验进行1周然后考察试验结果,这时试验的结果就很容易受到某些异常样本的影响,譬如说某个土豪老王恰好分在了试验组然后购买了一个高价值的东西,那么老王的购买行为就可能带偏整个测试组的统计结果。
- 样本质量:分流出的样本是否有效
例如,依旧是购物车复购的案例,假设样本数量足够多,但很不巧的是恰好实验组里大部分都是老王这样的土豪,那么结果依旧会产生偏差。这个时候我们还需要更进一步确定,实验组里究竟有没有这样的意外因素。
解决这个问题有个很好的方式:参考文章AA测试部分
四:根据收集到的24天的数据进行AB测试检验(实战)
0:背景:我们现在网站也给开通了,然后我们给网站投放广告的时候,一开始给大家看到的落地页是访问课程资料,现在我们又推出了开始免费试学这个落地页,然后想着以后换上新的落地页,这时候就要检测两个落地页的转化效果了,下面是测试的24天,看数据会有24天的。
1.读取数据(文末有链接)
user_id是用户的id;timestamp 是用户访问页面的时间;group 表示把新的落地页分到treatment组、把旧的落地页分到了control组;landing_page表示的是落地页;converted 表示的是否转化,1表示转化;
2.这里我们观察下数据集,每一列下面都没有空值,并且一共有294478条数据
3.其实对于 treatment 和 new_page ,或者control 和old_page 会出现不一致的行
4.对于上面的不一致的,我们要处理掉,让数据符合我们的测试
5.我们再看下有没有重复的用户
6.去除重复值
7.我们再来看下落地页转化率情况
这里我们能够看到new_page转化率是0.11880806551510564;old_page转化率是0.1203863045004612;总的转化率是0.11959708724499628
8.我们来看下如何进行假设检验
(1)理解A/B-test显著性检验
随机将测试用户群分为2部分,用户群1使用A方案,用户群2使用B方案,经过一定测试时间后,根据收集到的两方案样本观测数据,根据显著性检验结果选取最好方案。
为了下文方便说明,我们不妨设A方案为参考方案(或旧方案),B方案为实验方案(或新方案)。
(2)建立原假设和备择假设
(2)构建检验统计量
下面是要花一点时间来解释下来为什么能够得出这样的检验统计量
接下来我们还要补充下面的一个知识点
image.png所以检验统计量如下:
(3)显著性检验结论
-
第一种方法
z-socre 是 1.3109241984234394,P-value 0.09494168724097551 < 0.05 所以不能拒绝原假设
-
第二种方法
1- norm.cdf(z_score1) 也是小于 0.05 的
所以截至到目前并没有证据可以证明某一页面可以带来更多的转化率,这里我们就需要再延长观测时间或是修改新的页面再进行测试了
参考链接:
0.实战数据集
1.python单样本假设检验实例
2.A/B-test显著性检验
3.A/B测试知识点总结
4.分析 A/B 测试结果