推荐基础术语--A/B实验及P值

  • 缘起:因刚进入推荐领域,看同事周报中出现的一些推荐相关指标中有很多自己没见过的概念,下面梳理下p值的概念,主要转载了公众号上的文章,写的诙谐又生动易懂。
  • 文章转载自:https://www.163.com/dy/article/DGA9BHU00511CT4D.html
  • 整体说明:A/B实验即为A/B对照组。p值大小衡量结果的巧合性(值越大越偶然,值越小越有意义),以下为转载文章:

1、p值

你应该知道,手机的“推送通知”对挽留用户很重要吧。发一个推送,用户没准就会点开好久不用的App了!(我之前的文章也有详细介绍过优化“推送通知”的办法,点这里:网易垃圾推送让我气到围笑)
所以,你又有了一个想法,想试试,个性化通知内容,是不是有效。
于是,你分别给两组人发了不一样的推送通知。
在这里插入图片描述
第一组收到的是非个性的:“屠龙宝刀点就送!明星都在玩!”
第二组则有一点点个性化:“{$Name},屠龙宝刀点就送!明星都在玩!”
好了,结果是,在发出推送的24小时内:
在这里插入图片描述

第一组,有95个人看到了,有4个人打开了App,但有1个人删除了你的App (可能是因为太烦了)。
第二组,有107个人看到了,有11个人打开了App,但是有3个人删除了你的App。。。

这结果就很尴尬了,喜忧参半的悖论?于是你打开了知乎,问到:
在这里插入图片描述
谢邀。如果只看打开率的话,那可能是第二组更好,可是第二组的删除率又上升了。
这怎么搞!

还好我们有统计学。。。
p值是啥?
这个事情,要是交给统计学家,会怎么处理呢?
他们会计算p值(p Value)。
什么意思呢?
p就是概率Probability,p值就是说:新方案根本没啥卵用的可能性。。。
咋算呢?
为了简单,咱先只看打开率。

那么第一组用户的打开率是:4/95 = 4.21%
现在问题的关键是,我们需要知道,第二组这个打开人数的增长,到底是一个恰好出现的偶然结果,还是真的因为“个性化”的通知内容有效而提高的呢?
要知道,很多用户即使不看通知,也会打开App的呀!

统计方法上,我们会先来一个“无效假设(Null Hypothesis)”:也就是假设“个性化”通知根本没啥卵用,于是我们有:
  如果“无效假设”成立,第二组的真实打开率,那就是维持4.21%不变嘛,和第一组一样*。

那么,我们来看看,按照4.21%这个打开率,第二组出现11个人打开App的概率是多少呢?

这是一道高考送分题,答案就是:
在这里插入图片描述
这个值,就是p值, p = 0.0037。它代表,“个性化通知”没有任何用处的概率仅为0.0037。
  其实,p值就表示了:实验结果纯属巧合的可能性。

所以p值当然是越低越好啦,那么多低是低呢?标准是啥?

硅谷各公司,普遍采用的p值标准线是0.05

也就是,如果 p < 0.05, 就代表数据有统计学显著性(Statistically Significant,口语交流时,简称"Stat-Sig"),实验结果是有意义的,无效假设将被驳回(Reject)

你看,咱打开率的p值小于0.05,那么就可以说:“个性化”通知,对于促进用户打开App,有效。

我们再回过头来,看看两组删除率的p值,经过计算,我们得出p = 0.1795,大于0.05,也就是说,删除率上升,纯属偶然!

这下好啦!!产品决策清晰了!

相比原来的非个性化推送,我们发现个性化的推送打开率有显著性提升,而删除率则没有显著的统计学差异。

于是,你们欢快地决定:上线“个性化推送”功能!! PM今晚请大家吃鸡!!

2、A/B测试

上面提到的,整个新产品的验证过程,被称之为“A/B Test”(AB测试)。A和B就是指,实验里的两个组。
在这里插入图片描述

AB测试是最最简单的工具啦,实际工作中会遇到更多的奇葩情况,那“A/B Test”可就不够了。比如,涉及到两个用户以上的社交功能,还有涉及到“钱“的情况等等,这些我以后再讲。。。

可以说,硅谷就是由实验驱动着的。无论是一个小小的UI变动,还是推荐算法模型的升级,都会进行一次实验。因为实在是太常用了,很多大型App里,往往同时运行着超级多的实验。

为了提高效率,各厂们都纷纷开发了,专门的实验工具和分析系统,让人们快速使用

比如:
  Google旗下Analytics产品的Content Experiments工具:
在这里插入图片描述
  他可以快速的通过UI创建一个实验,还能在运行时,利用Multi-armed bandit算法,自动调整并分配流量比例,到不同的用户组,以加快实验速度。结束后,还会自动生成报表。

好的,用户现在问的是希望得到一个数据分析师助理可以实际参与科技有限公司项目的例子。首先,我需要回顾一下之前的对话历史,看看有没有相关的信息可以参考。之前用户询问了AB测试在软件测试中的应用,我详细介绍了不同场景、实施流程以及注意事项,还举了实例。现在用户的问题转向数据分析师助理的实际项目参与,可能需要一个具体的案例来说明。 首先,我需要确定用户的需求。他们可能是一名正在学习数据分析的学生,或者刚入行的新人,想了解在实际工作中如何应用所学技能。因此,例子需要具体、可操作,并且涵盖数据分析的关键步骤,比如数据清洗、分析、可视化、报告等。同时,可能需要结合科技公司的常见项目类型,比如用户行为分析、产品优化、市场策略等。 接下来,我应该考虑科技公司中数据分析师助理可能参与的项目类型。比如用户画像构建、销售预测、A/B测试结果分析、运营优化等。选择用户画像构建作为例子可能比较合适,因为这是一个常见的项目,能够展示数据处理的各个阶段,并且结果对产品、市场团队都有直接帮助。 然后,需要确定例子的结构。应该包括项目背景、助理的具体职责、使用的工具和技术、成果输出以及经验总结。这样用户能清晰看到每个阶段的任务和所需的技能。例如,项目背景可以是一个电商平台希望提升复购率,数据分析师助理负责处理数据、分析用户行为,并输出报告。 在职责部分,需要细化到数据清洗、特征工程、分析模型构建、可视化等具体任务。同时,使用Python、SQL、Tableau等工具是行业标准,应该提到。成果方面,可以包括用户分层报告、高价用户特征、推荐策略建议等,这样能体现实际应用价。 还需要考虑用户可能关心的点,比如如何与团队协作,如何处理数据中的问题,如何验证分析结果的有效性。例如,在数据清洗阶段可能会遇到缺失或异常,助理需要学习如何处理这些问题;在特征工程中需要与产品经理沟通,确保选取的特征符合业务需求。 最后,总结部分需要强调通过这样的项目,助理能够积累哪些经验,比如工具使用、跨部门协作、数据驱动决策的意识等。这样不仅回答了用户的问题,还为他们提供了职业发展的参考。 需要确保整个例子真实可靠,步骤清晰,并且语言简洁易懂。避免使用过多专业术语,但必要时解释清楚,比如p-value、RFM模型等,帮助用户理解概念。同时,结合之前的AB测试例子,可以提到在推荐策略中可能进行A/B测试来验证效果,保持回答的一致性。 以下是一个数据分析师助理在科技有限公司中可实际参与的项目案例,涵盖**真实工作场景**、**技术工具应用**和**成果交付**全流程: --- ### **项目名称:电商平台用户行为分析与复购率提升** **项目背景** 某科技公司旗下电商平台发现近3个月用户复购率下降5%,需通过数据分析定位问题并制定优化策略。 --- #### **数据分析师助理的核心参与环节** ##### 1. **数据清洗与预处理** - **任务**:从MySQL数据库提取用户订单表(`order_table`)、行为日志表(`user_log`)和商品信息表(`product_info`) - **具体工作**: - 使用Python的`pandas`处理缺失(如补全用户地域字段) - 剔除异常数据(如订单金额为负的记录) - 关联多表生成宽表: ```sql SELECT o.user_id, o.order_time, p.category, l.click_count FROM order_table o JOIN product_info p ON o.product_id = p.id JOIN user_log l ON o.user_id = l.user_id ``` ##### 2. **用户分层与特征分析** - **工具**:Python(`scikit-learn`聚类算法)、Tableau可视化 - **输出成果**: - **RFM模型**划分用户价(代码示例): ```python # 计算R(最近购买时间)、F(购买频次)、M(消费金额) rfm = df.groupby('user_id').agg({ 'order_time': lambda x: (pd.Timestamp.now() - x.max()).days, 'order_id': 'count', 'amount': 'sum' }) ``` - 发现**高价用户流失特征**: - 过去30天未登录的用户中,35%曾购买单价>500元的3C类商品 - 流失用户的平均页面停留时间比活跃用户低40% ##### 3. **A/B测试支持** - **协作任务**:为产品经理设计优惠券发放策略的AB测试 - 实验组(B组):向流失高价用户推送满1000减150元券 - 对照组(A组):维持原价 - **分析方法**: - 使用SQL计算两组用户的**复购率差异**: ```sql SELECT group_type, COUNT(DISTINCT user_id) AS total_users, SUM(CASE WHEN repurchase_flag=1 THEN 1 ELSE 0 END)/COUNT(*) AS repurchase_rate FROM ab_test_table GROUP BY group_type ``` - 通过**卡方检验**验证显著性(Python代码): ```python from scipy.stats import chi2_contingency observed = [[120, 380], [200, 300]] # [复购数, 未复购数] chi2, p, _, _ = chi2_contingency(observed) ``` ##### 4. **报告输出与策略建议** - **交付物**:PPT报告 + Excel明细数据 - **核心结论**: - 高价用户流失主因:**缺乏高单价商品精准推荐**(通过关联规则挖掘发现:购买手机的客户常同时购买耳机,但未触发推荐- 建议方案: - 优化推荐算法:对3C类用户增加跨品类推荐(如手机→耳机/充电宝) - 建立流失预警模型:当用户连续7天未登录时,触发短信唤醒 --- #### **技术栈与软技能要求** | **环节** | **工具/技能** | |------------------|--------------------------------------| | 数据提取 | SQL(窗口函数、多表JOIN) | | 数据分析 | Python(pandas/numpy/scipy)、Excel | | 可视化 | Tableau/Power BI(制作动态仪表盘) | | 协作沟通 | 与产品/运营团队对齐指标定义、需求拆解 | --- #### **项目成果** - 3个月内试点用户复购率提升**8.2%** - 构建标准化用户分析看板,节省后续同类需求60%时间成本 --- ### **新手学习路径建议** 1. **优先掌握**:SQL复杂查询 + Python数据清洗(可参考《利用Python进行数据分析》) 2. **实战案例**:Kaggle电商数据集(如《Brazilian E-Commerce Public Dataset》) 3. **思维培养**:关注指标波动背后的业务逻辑(例如:复购率下降是否与物流时效相关?) 通过此类项目,助理不仅能积累技术经验,还能深入理解**数据驱动业务决策**的实际价。 可以给我生成流程图吗
03-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值