A/B测试是互联网企业常用的一种基于数据的产品迭代方法,它的主要思想是在控制其他条件不变的前提下对不同(或同一、同质)样本设计不同实验水平(方案),并根据最终的数据变现来判断自变量对因变量的影响。
文章目录
一、A\B测试
1.0、准备及说明
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import warnings
plt.style.use('ggplot')
warnings.filterwarnings('ignore')
plt.rcParams['font.sans-serif'] =['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
data1 = pd.read_excel('test.xlsx')
data1.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 58 entries, 0 to 57
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 58 non-null datetime64[ns]
1 group 58 non-null object
2 requests 58 non-null int64
3 gmv 58 non-null float64
4 coupon per trip 58 non-null float64
5 trips 58 non-null int64
6 canceled requests 58 non-null int64
dtypes: datetime64[ns](1), float64(2), int64(3), object(1)
memory usage: 3.3+ KB
字段 | 解释说明 |
---|---|
date | 日期 |
group | 组别(控制组/实验组) |
requests | 订单请求数 |
gmv | 成交总额 |
coupon per trip | 每单优惠券金额 |
trips | 订单数 |
canceled requests | 取消请求数 |
# 数据共58条,对照组与实验组各29条,样本量<30; 采取t检验
dict(data1.group.value_counts()) # {'control': 29, 'experiment': 29}
- 下面分别从ROI(投资回报率=收入/成本) 和gmv(成交总额) 展开AB测试。
函数:scipy.stats.ttest_rel(A,B) : A\B的均值双边检验
1.1、gmv 均值检验
- 原假设H0:u1=u2;备选假设H1:u1≠u