A/B测试实战

1、背景及目的

假设现在有一个数据分析学习的初创网站,到了前期推广阶段,它的主要目的是让大家加入微信学习社群。现在需要给网站投放“广告”,刚开始给用户看到的落地页是访问课程资料,这部分内容是免费的,并且在每一块课程上都会加上微信群的二维码,并介绍网站的付费项目;现在新增了开始免费试学这个落地页,本次试验的主要任务是利用A/B测试思想,检测两个落地页的转化效果,用到的是测试24天的拿到的数据。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_csv('C:/Users/lenovo/Desktop/data/ab_data.csv')
df.head()

返回


A/B测试实战_第1张图片
image.png

读取数据,数据一共有5个字段:
user_id表示用户id
timestamp表示用户访问页面的时间
group表示新旧落地页的分组,把新的落地页分到treatment组,把旧的落地页分到了control组
landing_page表示落地页
converted表示是否转化,1表示转化,0表示未转化

2、数据预处理

A/B测试实战_第2张图片
image.png

查看数据基本信息,不存在缺失项,一共有294478条数据
上面两个group和landing_group真的是完全对应的吗?


A/B测试实战_第3张图片
image.png

发现有3893条数据在字段group和landing_page是不匹配的,应该删除这些数据


A/B测试实战_第4张图片
image.png

发现有一个重复用户,需要去除这个重复样本
image.png

查看一下落地页转化率情况
A/B测试实战_第5张图片
image.png

从上面的数据可以看出,总的转化率是0.11965919355605512,新落地页的转化率是0.11884079625642663,旧落地页的转化率是0.12047759085568362

3、假设检验

(1) A/B显著性检验

A/B测试实战_第6张图片
image.png

随机将测试用户群分为2部分,用户群1使用A方案,用户群2使用B方案,经过一定的测试时间,利用两方案收集到的反馈数据,基于显著性检验结果来选择更好的方案。回到本案例:
假设旧落地页为方案
,新落地页为方案
方案的转化率为
方案的转化率为
;使用方案
的用户数为
,使用方案
的用户数为
,由于现在已经测试了24天了,方案
的测试流量由小增大,现在假设

此外,由样本计算出
方案的转化率为
方案的转化率为

(2) 建立原假设和备择假设

本案例中我们所期望得到的结果是:方案的转化率要大于方案,即
因此:

A/B测试实战_第7张图片
image.png

(3) 检验统计量
A/B测试实战_第8张图片
1.JPG

(4) 显著性检验

临界值法


A/B测试实战_第9张图片
image.png

因此1.31<1.64 ,无法拒绝原假设
P值法


image.png

因此0.09>0.05,无法拒绝原假设
综上,截止到目前为止,还没有证据能够证明某个页面能够带来更多的转化率,只能继续延长测试时间或者修改新的页面来进行测试了。

你可能感兴趣的:(A/B测试实战)