R数据分析案例实战——A/B测试分析
Posted 小蚊子数据分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R数据分析案例实战——A/B测试分析相关的知识,希望对你有一定的参考价值。
数据分析师的日常的工作中,会经常进行 A/B 测试。A/B测试主要是为了验证不同的产品设计或者展示文案,通过实验的方式,确定哪个方案的转化率最好。
例如,假设我们有以下两个版本的页面设计:
A方案
B方案
尽管上面两个方案,只是在UI上面做了稍微的改动,但是如果没有经过正式的上线验证,谁也不敢断定,哪个版本的点击转化效果会更好。
这个时候,我们就可以使用A/B测试的技巧,把两个版本同时上线,让一部分的用户只看到左边的版本,让另一部分的用户只看到右边的版本。最后再比较两组数据的转化率,即可检验出哪个设计方案的转化率更高。
一、A/B测试的关键点
在做A/B测试的时候,我们应该注意以下关键点:
1、必须同时上线和下线两个设计方案
如果分为两个不同的时间段,上线不同的设计方案,那么将无法保证两个方案的运行环境是一致的。例如,在某个时间段内,刚好电视上也投放了广告,这时候的用户会有更大的购买欲望,或者刚好这个时间段是大部分公司的发薪日,用户花钱起来非常大方等等。
因此,如果A、B方案分为两个不同的时间段上线或者下线,那么会有很多时间上的因素干扰实验的公平性,导致难以让人信服对比得到的检验结论。
2、必须保证两组实验用户具有同质性
所谓用户的同质性,是指不同分组的用户具有相同的特征。用户的常用特征有性别、年龄、国家、城市、是否付费用户等等,这些特征有时候也称为用户画像。
先来举个不恰当的分组案例,例如根据是否付费用户来划分两组实验对象。那么很明显,付费用户那个组的付费转化率,明显是会比非付费用户这一组高,这样子得到的实验结果,明显没有实际意义。
在日常的工作中国,一般会根据用户ID,来把用户随机分为两组。根据用户ID的尾号是奇数还是偶数,即可将用户划分为不同的分组(如果用户ID是字符串,那么可以通过HASH将它变为数值型)。为了保证不同组用户之间具有同质性,分完组后,我们还需要根据常用特征来作为维度,统计每组用户在常用特征上是否有差异性。如果有差异性,则需要找新的方法来对用户进行分组,直到找到无特征上差异的分组为止。
————
本文由 大数据分析实战 撰写,大家可用手长按识别下方二维码关注微信订阅号“数据分析实战”
A/B测试数据收集
将用户分组完了之后,就可以把两个设计方案都上线了,上线的时候,记得对用户的行为数据进行收集,至少需要收集以下数据。
1、曝光数据
曝光数据的列包括:时间、分组标记、用户ID、交易ID,如下图所示。
2、转化数据
转化数据的列包括:时间、分组标记、用户ID、交易ID,如下图所示。
A/B测试数据处理
收集到数据之后,我们就可以对数据进行处理了,本章节内容比较简单,只需要把上面两份数据整合在一起,然后增加一个标记位,1 代表有转化,0 代表没有转化即可。
使用到的代码如下所示:
执行代码,即可得到整理之后的结果,如下所示:
A/B测试数据分析
A/B测试的数据分析需要做一个比较和一个检验。
1、A、B分组的转化率比较
使用分组字段作为分组列,转化率作为分析目标,统计出A、B组的转化率,代码和执行结果如下所示:
可以看到,B组的转化率比A组高。
2、A、B分组之间的差异性检验
A、B组之间的差异,是否具有统计学上的意义呢?我们可以使用卡方分析来做这个检验,使用到的代码和执行结果,如下所示。
卡方检验假设数据的分组之间不具有差异性,我们从它的p值,也就是支持它这个结论的信心值可以看到,它只有2.2e-16的信心,也就是信心接近余0,所以我们可以得到这个假设不成立的结论,说明A、B分组之间具有统计学上的差异性。
结论
到此,我们可以知道,B组的设计方案,在转化率这个指标上,比A组的设计方案更好。
————
希望学习R数据分析与挖掘的朋友可以学习《数据分析进阶(R分析与挖掘)》 视频课程,现在参加可享受折扣+用券+送书三重优惠。
a.课程折扣:现已有1500+学员加入学习《数据分析进阶(R分析与挖掘)》,前2000名可享7折(原价397元,折后279元)优惠
b.赠书推荐:购买《数据分析进阶(R分析与挖掘)》系列,建议选赠3号书《R语言商务数据分析》或 8号书《R语言数据挖掘》
c.满减优惠:购买此系列课程,在折扣的基础上还可用“满199元减20元”券
点击“阅读原文”,即可进入小蚊子数据分析活动页面领券、选课~
以上是关于R数据分析案例实战——A/B测试分析的主要内容,如果未能解决你的问题,请参考以下文章