AB test

数据分析业务题(AB test
为同一个目标制定两个方案,在同一时间维度,分别让组成成分相同(相似)的用户群组随机的使用一个方案,收集各群组的用户体验数据和业务数据,最后根据显著性检验分析评估出最好版本正式采用。
问题:小红书在首页上线了一个新的模块,目的是为了提升用户的浏览时长,请设计
一套分析方案,衡量模块上线后对用户停留时长是否有提升?
解答:采用 AB 测试的方法
1.实验目标:衡量模块上线后对用户停留时长是否提升
2.将用户均匀分成两组,一组为对照组(不上线新模块),一组为实验组(上线新模
块)。保证 AB 测试中的用户群年龄、性别、城市等用户属性无显著性差异。
3.确认观测指标:对照组用户和实验组用户每天浏览时间长的平均值,分别为
stay_time_control, stay_time_test
4.原假设 H0:用户停留时长没有提升,即 stay_time_control=stay_time_test
备选假设:用户停留时长提升,即 stay_time_control
5.选择样本量
统计功效 statistical power=1-β,越大越好,一般情况下不小于 80%,也就是说 β
要小于 20%
显著水平 signifcance level=α,越小越好,一般情况下不能超过 5%
● Baseline rate:实验前的历史数据
● Minimum detectable effect:最小可探测效应。
对于判断精度的最低要求,当参数越小,意味着我们对判断精度的要求越高,有能力
检测出 x%的差别=>所需样本量越大(statistical power 不变)
6.确认实验流量:根据计算出来的样本量来确定流量比例(AA 测试可以用来试验分流
是否有效)
7.小流量开启灰度实验:目的是验证新模块不会造成什么特别极端的影响
8.开启实验,时间周期可以选取一周或两周
9.采集数据比较两个组均值差的区间估计,独立样本 t 检验(总体方差未知), 计算 p
10.如果 p 值小于显著性水平则推翻原假设,备选假设成立,新的模块能显著提升用户停留时长。反之,不能推翻原假设,不能判断新的模块是否能提升用户停留时长。

样本量计算的公式为

整体公式如下:

09-10
ABtest的底层逻辑是验证用户对两个版本的认知,其原理基于控制唯一变量和设置必要的试验周期,通过对比不同版本来评估效果。但由于需要控制唯一变量和必要的试验周期,能进行的abtest次数会受到局限,例如仅有10%的流量用于实验,多个业务都想用,就需要分层协调,包括确定谁先用、谁灰度、谁等候等,效率较低,此时可进行分层操作,但有一定前提条件 [^2][^3]。 在应用场景方面,不同场景下ABtest功能的实现及构建方式不同,没有相同、完全一样的服务。对于垂类、用户关联性强的产品/部门,可以把AbTest放置开机阶段,开机往往具有热加载及倒计时逻辑,可以融纳较多的服务;对于Feed类、用户关联性弱的产品/部门,可以考虑把AbTest放置在前置或后置服务,这样形成的漏斗具有两极性 [^1]。 在使用方法上,以网页的ABtest为例,先建立一个有一定流量规模的域,然后对流量进行划分,例如划分为3份用作测试按钮颜色,也可以划分为2份用于不同搜索算法的测试,按钮层和算法层互不影响,可共享使用相同流量 [^4]。 另外,ABtest存在不能二次使用的情况,主要取决于时间周期。随着时间推移会受到多个因素的影响,如用户量、用户质量会变,产品也会迭代,时间周期尽量放在3个月内才可以复用 [^3]。 ```python # 简单示例代码,模拟AB测试流量划分 import random # 模拟总流量 total_traffic = 1000 # 划分流量为两份,用于不同版本测试 version_a_traffic = int(total_traffic * 0.5) version_b_traffic = total_traffic - version_a_traffic # 模拟用户分配到不同版本 users = list(range(total_traffic)) random.shuffle(users) version_a_users = users[:version_a_traffic] version_b_users = users[version_a_traffic:] print(f"Version A 流量: {len(version_a_users)}") print(f"Version B 流量: {len(version_b_users)}") ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值