ABtest--通过广告点击率指标比较两组营销策略的广告投放效果
应用场景:
A/B测试常用于比较不同设计、运营方案的优劣,以辅助决策。
本次数据分析是通过广告点击率指标比较两组营销策略的广告投放效果。
数据集:
effect_tb.csv: 广告点击情况数据集
所含字段如下:
dmp_id:营销策略编号(1:对照组,2:营销策略一,3:营销策略二)
user_id:支付宝用户ID
label:行为标签,用户当天是否点击活动广告(0:未点击,1:点击)
数据分析:
1.数据处理
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlinedata = pd.read_csv(r'/home/mw/input/ABtest8680/effect_tb.csv',header = None)
data.columns = ['dt','user_id','label','dmp_id']
data = data.drop(columns='dt') # 日志天数属性用不上,删除该列
data.info()
#检查是否有空值
data.isnull().sum()
#检查是否有重复值
data.duplicated().sum()
# 选取重复值
data[data.duplicated(keep = False)]
# 删除重复值
data = data.drop_duplicates()
#查看删除结果
data[data.duplicated(keep = False)]
# 从data.info()已知数据类型正常,接下来利用透视表来看label字段是否存在不合理情况。
data.pivot_table(index = 'dmp_id',columns = 'label', values = 'user_id',aggfunc = 'count')
从结果可以看出属性字段无异常取值,无需进行处理。
2.样本容量检验
在进行A/B测试前,需检查样本容量是否满足试验所需最小值。
网上有很多样本量计算工具,自行选择
首先需要设定点击率基准线以及最小提升比例,我们将对照组的点击率设为基准线。
# 计算对照组的点击率
data[data['dmp_id'] == 1]['label'].mean()#此处用mean计算是因为label列只有0和1
对照组的点击率为1.26%,假设我们希望新的营销策略能够让广告点击率至少提升一个百分点,则算得所需最小样本量为2167
# 统计不同组别的样本数量
data["dmp_id"].value_counts()
从结果来看,411107和316205远大于2167,满足最小样本量需求。
3.进行假设检验
# 先查看一下这三种营销策略的点击率情况
print("对照组: ",data[data["dmp_id"] == 1]["label"].mean())
print("策略一: ",data[data["dmp_id"] == 2]["label"].mean())
print("策略二: ",data[data["dmp_id"] == 3]["label"].mean())
可以看到策略一和策略二相比对照组在点击率上都有不同程度的提升。其中策略一提升0.2个百分点,策略二提升1.3个百分点,只有策略二满足了前面我们对点击率提升最小值的要求。
接下来需要对策略二进行假设检验,看策略二点击率的提升是否显著。
提出假设
设对照组点击率为p1,策略二点击率为p2,则:
零假设H0:p1>=p2,即p1-p2>=0;
备择假设H1:p1<p2,即p1-p2<0.
确定检验方向
由备择假设可以看出,检验方向为单项检验(左)。
选定统计方法
由于样本较大,故采用Z检验。显著性水平α取0.05。
计算统计量
# 用户数
n1 = len(data[data.dmp_id == 1])# 对照组
n2 = len(data[data.dmp_id == 3]) # 策略二# 点击数
c1 = len(data[(data.dmp_id ==1)&(data.label == 1)])
c2 = len(data[(data.dmp_id ==3)&(data.label == 1)])标准差
std1 = data[data.dmp_id ==1].label.std()
std2 = data[data.dmp_id ==3].label.std()
import statsmodels.stats.proportion as sp
# alternative='smaller'代表左尾
z_score,p = sp.proportions_ztest([c1,c2],[n1,n2],alternative = 'smaller')
对照组的点击率为:0.0126,标准差为:0.11
策略二的点击率为:0.0262,标准差为:0.16
独立样本z=-59.44,p=0,单尾检验(左),拒绝零假设。
4.结论
综上所述,两种营销策略中,策略二对广告点击率有显著提升效果,且相较于对照组点击率提升了近一倍,因而在两组营销策略中应选择第二组进行推广
ABtest--通过广告点击率指标比较两组营销策略的广告投放效果相关推荐
- 数据分析报告:手机APP 实时竞价广告点击率的影响因素分析
手机APP 实时竞价广告点击率的影响因素分析 摘要:近年来,随着移动互联网和大数据的发展,基于精准定向目标的实时竞价(RTB)广告投放模式逐渐成为移动广告领域的热潮.RTB 广告投放流程中,需求方平台 ...
- 效果广告点击率预估实践:在线学习
效果广告点击率预估实践:在线学习 原创 2016-03-24 腾讯大数据 腾讯大数据 1.引言 技术钻研如逆水行舟,不进则退.公司的广告业务发展非常迅猛,有目共睹,激烈的外部竞争和客户越来越高的期望, ...
- 广告点击率预测 [离线部分]
广告点击率预测 [离线部分] 2014-05-08 23:08:45| 分类: 计算广告学 | 标签:计算广告学 rtb dsp |举报|字号 订阅 下载LOFTER我的照片书 | 广告点 ...
- 【干货】从点击率预估的视角看腾讯社交广告算法大赛
[干货]从点击率预估的视角看腾讯社交广告算法大赛 大赛简介 腾讯社交广告算法大赛以广告领域常见的转化率预估问题作为出题思路,从用户历史一个月的行为数据中采样竞赛数据,数据规模达几十GB.比赛题目足够诚 ...
- 精准营销:剖析广告点击率预估系统
引文 点击率预估系统最早是由谷歌实现,并应用在其搜索广告系统.在看到这一大杀器为谷歌带来滚滚财源之后,其他公司也纷纷效仿.直到今日,大大小小的"互联网广告公司",都宣称自己掌握了基 ...
- 如何提高网络广告点击率
现在的用户对广告是越来也挑剔了,广告点击率也缩水了.这种现象也是不可避免的,你想想,一天用户需要在不同的平台接触到多少不同的广告轰炸,除去意外点进去的广告,又有多少广告是用户觉得有趣.优质,内容吸引, ...
- 使用python进行广告点击率的预测
当前在线广告服务中,广告的点击率(CTR)是评估广告效果的一个非常重要的指标. 因此,点击率预测系统是必不可少的,并广泛用于赞助搜索和实时出价.那么如何计算广告的点击率呢? 广告的点击率 = 广告点击 ...
- 百度广告点击软件_网络营销百问百答之64,如何提升企业百度广告点击率
涛哥网销学,网销可以学. 大家好,我是网销侠-涛哥. 今天和大家分享的是<如何提升企业百度广告点击率> 广告在百度首页展示,意味着广告曝光,并不意味着有人会点击我们的广告. 好比我们在万达 ...
- 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...
最新文章
- GPB|农业生产活动对水体微生态的重要影响(一作解读)
- php 数组接在数组后面,PHP array_splice()接合数组用法的简单介绍
- CygWin / 安装软件包的方法
- 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统
- MyEclipse: The Table cannot be found on the database
- 【C++笔记】函数(笔记)
- java接收jsonarray_java-如何通过JSONArray获取API的数据
- 洛达检测软件AB1562UT_1.4.4新版本下载,适用洛达全系列
- STM32——RTC实现毫秒级计时
- CMakeLists.txt 语法介绍与实例演练
- 固态硬盘进阶知识:颗粒篇
- popupWindow在5.0版本以下不显示的问题
- 安装域、对域进行管理
- codeforces gym101482 J Judging Troubles 暴力+map
- 如何制作一个完美的全屏视频H5
- 计算机组成原理之原码一位乘法过程
- HTML5新特性之History
- 富贵不压重发_贵人不顶重发是什么意思(贵人不顶重发出自哪里)
- PCL库官方教程01
- sqlmap之sqlmapapi