某网站首页双12 活动 banner主色调选择

news/2024/5/8 23:44:18/文章来源:https://blog.csdn.net/weixin_55759540/article/details/117668270

文章目录

    • 案例背景
  • 1 检验指标的确定
  • 2 确定检验统计量
  • 3 埋点收集数据
  • 4 确定H0,H1
  • 5 确定显著性水平
  • 6 计算样本量
  • 7 利用统计工具实现检验

案例背景

某网站首页双12 活动 banner主色调选择(现提供两个版本的banner),
banner 为网站PC端或App 的顶部或底部横向贯穿整个界面的广告条。
现需要数据分析师通过ABTest实现对A、B两个不同色调的banner进行择优选择

1 检验指标的确定

一类指标:人均停留时长
二类指标:广告点击率=点击用户数/曝光用户数

2 确定检验统计量

一类指标:用人均停留时长之差做统计量,即 μ 𝐴 − μ 𝐵 \mu_𝐴−\mu_𝐵 μAμB
二类指标:用两组广告点击率之差做统计量,即 𝑃 𝐴 − 𝑃 𝐵 𝑃_𝐴−𝑃_𝐵 PAPB

3 埋点收集数据

事件名用户浏览点击banner页
user_id用户ID,唯一识别码
timestemp用户浏览banner页的时间
group用户所属的组别,控制组和实验组
landing_page用户所浏览的banner页的所属类别
convert用户是否点击,0:否,1:是

4 确定H0,H1

一类指标:实验组人均停留时长不显著小于对照组
H 1 : μ A − μ B < α 1 μ B = μ A − α 1 x A ˉ − x B ˉ n A = k n B a n d n B = ( 1 + 1 k ) ( σ z 1 − α + z 1 − β μ A − μ B ) 2 σ = σ A 2 n A + σ B 2 n B H1:\mu_A-\mu_B<\alpha_1 \\ \mu_B=\mu_A-\alpha_1 \\ \bar{x_A}-\bar{x_B} \\ n_A=kn_B and n_B=(1+\frac{1}{k})(\sigma\frac{z_{1-\alpha}+z_{1-\beta}}{\mu_A-\mu_B})^2 \\ \sigma=\sqrt{\frac{\sigma_A^2}{n_A}+\frac{\sigma_B^2}{n_B}} H1:μAμB<α1μB=μAα1xAˉxBˉnA=knBandnB=(1+k1)(σμAμBz1α+z1β)2σ=nAσA2+nBσB2

H0:control_time-treatment_time>=2*Std(control_time)
H1:control_time-treatment_time<2*Std(control_time)

二类指标:实验组广告点击率不显著大于对照组
π A − π B > α 1 \pi_A-\pi_B>\alpha_1 πAπB>α1

H0:treatment_p-control_p<=0
H1:treatment_p-control_p>0

其中,A组为实验组treatment,B组为对照组control

5 确定显著性水平

一类错误默认:𝛼=0.05
二类错误默认:𝛽=0.02

6 计算样本量

(缺少一类指标的数据,只计算二类指标)
二类指标的H0和H1可以得知:
应选择估计比例之差时的单侧样本量
n A = k n B a n d n B = ( p A ( 1 − p A ) k + p B ( 1 − p B ) ) ( z 1 − α + z 1 − β p A − p B ) 2 n_A=kn_B and n_B=(\frac{p_A(1-p_A)}{k}+p_B(1-p_B))(\frac{z_{1-\alpha}+z_{1-\beta}}{p_A-p_B})^2 nA=knBandnB=(kpA(1pA)+pB(1pB))(pApBz1α+z1β)2
代码如下:
其中,treatment_p为 P A P_A PA,control_p为 P B P_B PB

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
import pymysql
import warnings
warnings.filterwarnings('ignore')
plt.rcParams['font.family']='SimHei'
plt.rcParams['axes.unicode_minus']= False

数据导入并清洗

data = pd.read_csv(r"D:\WORK\STUDY\数据分析\作业\阶段七\模块二作业\ab_data.csv")
data["date"] = data.timestamp.str[:10]
data.head()
# 数据是否存在重复值
data.duplicated().sum()
# 查看page_view by day分布
plt.figure(figsize=(12,5))
plt.plot(data.date.value_counts().sort_index())

数据无缺失值、无重复值

alpha = 0.05
beta = 0.2
k =1
#求P_A
treatment_p = data.converted[(data.group=="control")&(data.landing_page=="old_page")].mean()
treatment_p
#求P_A*(1-P_A)
treatment_p_1_pa = treatment_p * (1 - treatment_p)
treatment_p_1_pa
# 均值之差在大样本下其分布近似正态分布
#求Z_(1-α)
z_alpha = stats.norm.isf(alpha,loc=0,scale=1)
z_alpha
#求Z_(1-β)
z_beta = stats.norm.isf(beta,loc=0,scale=1)
z_beta
#求P_B
#H1为 Pa-Pb>0,为计算样本量,这里需要指定一个非0的值, 此值的绝对值越小样本量越大
#我们先指定一个偏小的值 0.01
control_p = treatment_p + 0.01
p0 = treatment_p - control_p
print(control_p,p0)
#求P_B*(1-P_B)
control_p_1_pb = control_p * (1 - control_p)
control_p_1_pb
n = (treatment_p_1_pa + control_p_1_pb) * ((z_alpha + z_beta)/(treatment_p - control_p)) ** 2
n
# 查看我们的样本量是否满足最低样本量
dd = data.groupby(["group","landing_page","date"],as_index=False)["user_id"].count()
dd[((dd.group == "control") & (dd.landing_page=="old_page"))|((dd.group=="treatment")&(dd.landing_page=="new_page"))]

7 利用统计工具实现检验

1.读取数据
2.计算统计量
3.计算统计量的显性P值
4.用统计量的显著性P值与显著性α比较做决策

df = data[data.date=="2017-01-03"].groupby(["group","landing_page"],as_index=False)["converted"].mean()
df
#求控制组的旧页面和对照组的新页面比例之差
statistic_t = df.converted[2] - df.converted[1]


σ = P A ( 1 − P A ) n A + P B ( 1 − P B ) n B \sigma=\sqrt{\frac{P_A(1-P_A)}{n_A}+\frac{P_B(1-P_B)}{n_B}} σ=nAPA(1PA)+nBPB(1PB)

n_B =data[data.date=='2017-01-03'].converted[(data.group=='control')&(data.landing_page=='old_page')].size
n_A =data[data.date=='2017-01-03'].converted[(data.group=='treatment')&(data.landing_page=='new_page')].size
print(n_A,n_B)
sigma = np.sqrt(df.converted[2]*(1-df.converted[2])/n_A + df.converted[1]*(1-df.converted[1])/n_B)
sigma
statistic_p = 1-stats.norm.cdf(statistic_t,0,sigma)
statistic_p
if statistic_p > alpha:print("显著性P>α,实验组点击率<对照组")
else:print("显著性P<α,实验组点击率>对照组")
#封装函数def abtest(df: pd.DataFrame, alpha=0.05, group_col: str = None, value_col: str =None):''':param df:被分析DataFrame对象:param alpha:显著性:param group_col:组列的名字,默认为df的第一列:param value_col:值列的名字,默认为df的第二列:return:tongjiliang p_value p_type''' # 列名if not group_col:group_col = df.columns[0]if not value_col:value_col = df.columns[1]temp = df.groupby(group_col,as_index=False)[value_col].mean()temp_n = df.groupby(group_col,as_index=False)[value_col].count()statistic_t =temp.iloc[0,1] - temp.iloc[1,1] #先求出各组均值在求出统计量差值sigma =np.sqrt(temp.iloc[0,1] *(1-temp.iloc[0,1])/temp_n.iloc[0,1] + temp.iloc[1,1] *(1-temp.iloc[1,1])/temp_n.iloc[1,1]) #标准差statistic_l_p = stats.norm.cdf(statistic_t,0,sigma)statistic_r_p = 1-stats.norm.cdf(statistic_t,0,sigma)statistic_p = statistic_l_p *2;if statistic_p >alpha:statistic_p = statistic_l_p*2temp_l = [[temp.iloc[0,0],temp.iloc[1,0],statistic_t,"左侧",statistic_l_p,np.where(statistic_l_p<alpha,"显著","不显著")],[temp.iloc[0,0],temp.iloc[1,0],statistic_t,"右侧",statistic_r_p,np.where(statistic_r_p<alpha,"显著","不显著")],[temp.iloc[0,0],temp.iloc[1,0],statistic_t,"双侧",statistic_p,np.where(statistic_p<alpha,"显著","不显著")]]temp = pd.DataFrame(temp_l,columns =["p","p0","统计量","检测","p_value","结果"])return temp
temp  = data[data.date=='2017-01-04'].loc[((data.group=="control") & (data.landing_page=="old_page")) | ((data.group=="treatment") & (data.landing_page=="new_page")),["group","converted"]]
temp.head()
abtest(temp)

输出结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_883313.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop环境中使用Hive工具实现电商网站用户运营分析

文章目录 一、分析目标二、数据说明三、实现步骤1.建立用户指标体系2.建立分阶段用户标签2.1 按用户行为统计每日的不同阶段用户规模2.2 按周为单位分析最近两周的不同阶段用户的变化2.3 对比分析新用户群体与激活用户群体的人群画像、行为数据特点 3、用户复购分析3.1 计算2月…

手把手教你!0基础小白也可以使用谷歌服务器搭建自己的博客网站

准备工作 visa卡&#xff08;用于谷歌的认证&#xff09;fan&#xff08;翻&#xff09;qiang&#xff08;墙&#xff09;工具&#xff08;用于登陆谷歌&#xff09; 一 申请及注册谷歌云 1.登录Google Cloud官网并进行账户注册&#xff1a;https://cloud.google.com/ ,我们…

网站看板娘--偷就完事了(大雾)

最近项目做完了&#xff0c;想到博客园有些博主的博客有看板娘&#xff0c;就偷过来了 下面将一步步还原我偷的过程&#xff08;笑&#xff09; 首先准备一个html&#xff0c;放在tomcat的webapps的文件夹下&#xff0c;下载好的live2d文件夹&#xff08;提取码&#xff1a;d…

基于java的在线答疑网站系统——计算机毕业设计

网络答疑系统已经成为远程教育网站不可缺少的组成部分&#xff0c;它对提高远程教育的质量起着至关重要的作用。但目前的网络答疑系统功能比较简单、答疑效率低、智能性不高。随着人工智能和自然语言处理等相关技术的发展&#xff0c;未来的网络答疑系统将会在智能性、开放性、…

基于java的婚恋交友动态网站——计算机毕业设计

“网络红娘”的出现不仅对传统交友方式和恋爱观形成强烈冲击&#xff0c;更形成了一门具有良好发展前景的新兴产业。与欧美国家相比&#xff0c;我国婚恋网站起步较晚&#xff0c;目前仍处于跑马圈地的群雄纷争时代&#xff0c;一家独大的行业巨头尚未出现。虽然部分专业婚恋网…

Java+MySQL 基于Springboot+vue的鲜花销售商城网站——毕业设计

项目编号:JavaMySQL spring272-基于Springbootvue的鲜花销售商城网站#毕业设计 开发语言&#xff1a;Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue 鲜花一直以来都是人们生活中的一个增色剂。尤其是在一些特殊的节日鲜…

Java+MySQL 基于Springboot+vue的零食销售商城网站——毕业设计

项目编号:JavaMySQL spring271-基于Springbootvue的零食销售商城网站#毕业设计 开发语言&#xff1a;Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue ​随着人们生活条件的改善&#xff0c;人们对生活的追求也越来越高。…

计算机毕业设计之java+ssm电影视频预约推荐网站

本基于SSM框架的电影预约推荐系统主要包含了等系统用户管理、影视分类管理、电影预约信息管理、预约信息审核管理多个功能模块,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发. 管理员的登录模块&#xff1a;管理员登录系统对本系统其他管理模块进行管理。 …

计算机毕业设计之java+SSM动物园门票预订网站系统

现代化动物园管理系统日趋复杂&#xff0c;传统的以手工方式为主的管理操作模式&#xff0c;局限性日趋突显&#xff1a;宣传手段单一&#xff0c;管理效率低,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统使用mysql&#xff0c;独立运行,不依附于其…

基于jsp+java的音乐网站

介绍&#xff1a; jspservletmysqleclipse技术 效果截图&#xff1a; 数据库表&#xff1a; CREATE TABLE admin ( id int(11) NOT NULL AUTO_INCREMENT, adminName varchar(20) COLLATE utf8_bin DEFAULT NULL, adminPwd varchar(20) COLLATE utf8_bin DEFAULT NULL,…

基于java的出租车预约网站

出租车预约网站能够有效的解决大家上班下班打不到车&#xff0c;加快吃饭逛街的效率&#xff0c;天阴下雨无障碍出行&#xff0c;自己有车不舍得开等问题,使得用户查询车辆信息更加方面快捷&#xff0c;同时便于管理员对车辆和用户的管理&#xff0c;从而给出租车管理公司的预约…

基于java网上订餐网站系统

通过网上西餐厅网上订餐管理系统这个平台&#xff0c;消费者足不出户就可以了解大量的西餐厅菜单信息&#xff0c;给消费者带来了极大的方便。网上西餐厅管理系统平台的主要功能包括菜单类别管理、菜单信息管理等&#xff0c;根据客户种类又可以划分成管理员客户和会员客户两种…

基于java的企业信息网站发系统

设计并实现基于 web 的企业信息发布系统&#xff0c;在现有的 Web技术的基础上&#xff0c;采用windows serverTomcatMySQLJSP的体系&#xff0c;利用 JSP&#xff08;Java Server Page&#xff09;技术开发动态网页&#xff0c;实现客户端对服务器的动态访问。包括对服务器中的…

基于java的校园网络教学网站系统

建立校园精品课程网站&#xff0c;尽可能提高优质教学的利用率&#xff0c;对实现人才培养&#xff0c;促进社会经济发展都能起到十分重要的作用。也可以引导用户主动年该学习&#xff0c;提高学习效率&#xff0c;更为教学双方提供一个进行写作学习和交流的平台。 设计开发了创…

java基于springboot的在线选课网站—计算机毕业设计

运行环境&#xff1a; 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootjsp 项目介绍 在学生在线选课系统的实现下&#xff0c;学生在线选课人员能够充分发挥信息化处理的优势&#xff0c;提高日常管理的处理速率。用户一方可以更好的享…

java基于ssm+vue的旅游景点推荐网站-计算机毕业设计

随着人民生活水平的提高,旅游业已经越来越大众化,而旅游业的核心是信息,不论是对旅游管理部门、对旅游企业,或是对旅游者而言,有效的获取旅游信息,都显得特别重要.旅游景点推荐网站将使旅游相关信息管理工作规范化、信息化、程序化,提供旅游景点、购票、预订、旅游新闻等服务.该…

SEO网站外链全自动在线发布工具PHP源码

这是一款SEO网站外链在线全自动发布工具的网站源码&#xff0c;内置上千条外链发布接口&#xff0c;SEO外链发布工具的原理就是通过网站源码内置的外链接口&#xff0c;输入域名之后&#xff0c;通过访问这些外链接口&#xff0c;即可在互联网上面产生大量的网站外链&#xff0…

八个移动产品设计必备网站

八个移动产品设计必备网站 2012-06-21 09:53 [小 大] 来源: cocoachina 评论: 我来评论 分享至: 百度权重查询 站长交易 友情链接交换 网站监控 服务器监控 SEO监控 移动产品设计人员一定需要大量的使用其他各类应用&#xff0c;并且需要在产品设计时大量参考其他的移动应用…

php查询下载-手机,IP,QQ,WHOIS,PR ,ALEXA,手机号,网站收录,身份证,生日

1 php查询下载-手机,IP,QQ,WHOIS,PR ,ALEXA,手机号,网站收录,身份证,生日看见很多朋友需要这个查询系统&#xff08;PHP&#xff09;&#xff0c;暂时先放本版5小时 http://www.myand.com/viewthread. ... ghlight&page3 [发布]php查询系统下载-手机,IP,QQ,域名WHOIS,PR ,…

网站想更换域名,请教有经验的朋友,如何实现流量和搜索引擎上的平滑过度?

网站想更换域名&#xff0c;请教有经验的朋友&#xff0c;如何实现流量和搜索引擎上的平滑过度&#xff1f;网站想更换域名&#xff0c;请教有经验的朋友&#xff0c;如何实现流量和搜索引擎上的平滑过度&#xff1f;流失尽量少的人气&#xff0c;有什么好办法没有&#xff1f;…