目录
一、项目背景
随着企业日常经营活动的进行,企业内部必然产生了各式各样的数据,如何利用这些数据得出有益的见解,并支持我们下一步的产品迭代以及领导决策就显得尤为重要。
A/B测试是互联网企业常用的一种基于数据的产品迭代方法,它的主要思想是在控制其他条件不变的前提下对不同(或同一、同质)样本设计不同实验水平(方案),并根据最终的数据变现来判断自变量对因变量的影响;A/B测试的理论基础主要源于数理统计中的假设检验部分,此部分统计学知识读者可自行探索。
数据集为两个Excel文件,其中test为某次A/B测试相关数据,city为某城市运营数据。
数据说明
test.xlsx
date:日期
group:组别(控制组/实验组)
requests:订单请求数
gmv:成交总额
coupon per trip:每单优惠券金额
trips:订单数
canceled requests:取消请求数
city.xlsx
date:日期
hour:时点
requests:请求数
trips:订单数
supply hours:可服务时长
average minutes of trips:平均订单时长(分钟)
pETA:顾客预计等待时长
aETA:顾客实际等待时长
utiliz:司机在忙率
test.xlsx数据可以用来判断实验条件对此次A/B测试的结果影响是否显著;city.xlsx数据可以用来探索该城市运营中出现的问题,根据关键结论辅助决策。
二、A/B测试效果分析
1、导入数据
import pandas as pd
test = pd.read_excel(r'C:\Users\asus\Desktop\学习\数据分析实战项目\滴滴运营和ABtest\test.xlsx')
print(test.head())
2计算ROI
计算优惠券投入相对gmv的ROI
test['ROI'] = test['gmv']/(test['coupon per trip']*test['trips'])
print(test.head())
3、requests检验
数据共58条,对照组与实验组各29条,样本量<30。
(1)requests方差检验
记两组requests方差分别为c1、c2
零假设H0:c1=c2;备选假设H1:c1≠c2
显著性水平取0.05
利用levene检验requests是否齐方差
requests_A = test[test.group=='control'].requests
requests_B = test[test.group=='experiment'].requests
import scipy.stats as st
print(st.levene(requests_A,requests_B))
p值大于0.05,不拒绝原假设,因此认定两组requests齐方差。
(2)requests均值检验
该数据为同一样本实验前后的不同水平,故选择配对样本t检验。
记两组requests均