数据思维 · 第 3 篇
漏斗分析与归因分析
用户从”看到你”到”买了你的东西”,中间要经历多少步?每一步流失了多少人?流失的原因是什么?这些问题的答案,就藏在漏斗分析和归因分析里。
第一部分:漏斗分析
什么是漏斗分析
漏斗分析(Funnel Analysis)是一种按照用户行为路径,逐步计算各环节转化率和流失率的分析方法。之所以叫”漏斗”,是因为每经过一个环节,用户数量都会减少,形状就像一个倒置的漏斗。
漏斗分析的核心价值在于:
- 量化每一步转化率:知道用户在哪里流失最多
- 定位瓶颈环节:集中资源优化投入产出比最高的环节
- 衡量优化效果:改进后能精确看到某一步的转化提升
经典漏斗:电商购买流程
以一个电商平台为例,用户从浏览到购买的典型路径:
| 环节 | 用户数 | 环节转化率 | 累计转化率 |
|---|---|---|---|
| 首页/列表页浏览 | 100,000 | — | 100% |
| 商品详情页浏览 | 35,000 | 35.0% | 35.0% |
| 加入购物车 | 12,000 | 34.3% | 12.0% |
| 提交订单 | 6,500 | 54.2% | 6.5% |
| 支付成功 | 5,200 | 80.0% | 5.2% |
从这张表可以看出:
- 最大流失点在”首页→详情页”(65% 的用户没有点进商品)
- 第二大流失点在”详情页→加购”(65.7% 的用户看了没加购)
- “加购→下单”和”下单→支付”的转化率相对健康
漏斗分析的关键原则
原则一:定义清晰的步骤
每一步必须是一个可被埋点追踪的具体行为,而不是模糊的状态。
| 不好的定义 | 好的定义 |
|---|---|
| 用户”有兴趣” | 用户浏览商品详情页超过 5 秒 |
| 用户”考虑购买” | 用户点击”加入购物车”按钮 |
| 用户”完成注册” | 用户提交注册表单且收到成功响应 |
原则二:控制时间窗口
漏斗不是”永远有效”的。需要定义一个时间窗口,比如”7 天内完成从浏览到支付的全流程”。
如果不限定时间窗口,一个用户三个月前浏览过商品、今天才购买,也会被计入漏斗,这会让转化率虚高。
原则三:区分设备和用户
同一个用户可能用手机浏览、用电脑下单。如果按设备统计,漏斗数据会失真。应该以用户 ID 而非设备 ID 作为统计粒度。
漏斗分析的 SQL 实现
以电商购买漏斗为例,假设有 user_events 表:
WITH funnel AS (
SELECT
user_id,
MAX(CASE WHEN event = 'view_product' THEN 1 ELSE 0 END) AS step_view,
MAX(CASE WHEN event = 'add_to_cart' THEN 1 ELSE 0 END) AS step_cart,
MAX(CASE WHEN event = 'submit_order' THEN 1 ELSE 0 END) AS step_order,
MAX(CASE WHEN event = 'pay_success' THEN 1 ELSE 0 END) AS step_pay
FROM user_events
WHERE event_date BETWEEN '2025-03-01' AND '2025-03-07'
GROUP BY user_id
)
SELECT
COUNT(*) AS total_users,
SUM(step_view) AS view_users,
SUM(CASE WHEN step_view = 1 AND step_cart = 1 THEN 1 ELSE 0 END) AS cart_users,
SUM(CASE WHEN step_view = 1 AND step_cart = 1 AND step_order = 1 THEN 1 ELSE 0 END) AS order_users,
SUM(CASE WHEN step_view = 1 AND step_cart = 1 AND step_order = 1 AND step_pay = 1 THEN 1 ELSE 0 END) AS pay_users
FROM funnel;
漏斗分析进阶:分维度对比
单一漏斗只能告诉你”哪一步流失最多”,但不能告诉你”为什么”。要找原因,需要分维度对比。
常见的拆分维度:
| 维度 | 目的 |
|---|---|
| 渠道来源 | 不同渠道的用户质量差异 |
| 新老用户 | 新用户和老用户的转化路径是否不同 |
| 设备类型 | iOS vs Android vs Web 的转化率差异 |
| 地区 | 一线城市 vs 下沉市场的行为差异 |
| 时间段 | 工作日 vs 周末、白天 vs 晚上 |
案例:分渠道对比
| 渠道 | 浏览→加购 | 加购→下单 | 下单→支付 | 整体转化 |
|---|---|---|---|---|
| 自然搜索 | 15.0% | 50.0% | 82.0% | 6.15% |
| 信息流广告 | 8.0% | 35.0% | 75.0% | 2.10% |
| 老用户推荐 | 20.0% | 55.0% | 88.0% | 9.68% |
| KOL 直播 | 25.0% | 30.0% | 60.0% | 4.50% |
从对比中可以发现:
- 老用户推荐的整体转化率最高(9.68%),应该加大推荐激励
- KOL 直播的加购率很高(25%)但后续转化差,可能是冲动加购后冷静了
- 信息流广告的用户质量偏低,需要优化投放人群定向
第二部分:归因分析
什么是归因分析
归因分析(Attribution Analysis)回答的问题是:用户最终完成转化,功劳应该归给谁?
一个用户在购买之前可能经历了多个触点:
看到朋友圈广告 → 搜索品牌名 → 浏览小红书种草帖 → 点击短信优惠链接 → 下单购买
这笔订单的功劳应该归给朋友圈广告?搜索?小红书?还是短信?不同的归因模型会给出不同的答案。
常见归因模型
| 模型 | 规则 | 适用场景 |
|---|---|---|
| 末次触点归因 | 100% 功劳归最后一个触点 | 评估直接转化渠道的效果 |
| 首次触点归因 | 100% 功劳归第一个触点 | 评估品牌曝光和获客渠道 |
| 线性归因 | 功劳平均分配给所有触点 | 所有触点都同等重要时 |
| 时间衰减归因 | 越靠近转化的触点功劳越大 | 强调临门一脚的价值 |
| U 型归因 | 首末触点各 40%,中间平分 20% | 同时看重获客和转化 |
| 数据驱动归因 | 算法自动计算各触点贡献 | 数据量足够大时最准确 |
用例子说明不同模型的差异
假设一个用户经历了 4 个触点后购买了一件 1000 元的商品:
触点 A(信息流广告)→ 触点 B(搜索点击)→ 触点 C(小红书)→ 触点 D(短信)→ 购买
各模型的归因结果:
| 模型 | 触点 A | 触点 B | 触点 C | 触点 D |
|---|---|---|---|---|
| 末次触点 | 0 元 | 0 元 | 0 元 | 1000 元 |
| 首次触点 | 1000 元 | 0 元 | 0 元 | 0 元 |
| 线性归因 | 250 元 | 250 元 | 250 元 | 250 元 |
| 时间衰减 | 100 元 | 200 元 | 300 元 | 400 元 |
| U 型归因 | 400 元 | 100 元 | 100 元 | 400 元 |
可以看到,不同归因模型下,各渠道的 ROI 会有很大差异。选错归因模型可能导致砍掉真正有效的渠道、加大无效渠道的投入。
如何选择归因模型
| 场景 | 推荐模型 | 理由 |
|---|---|---|
| 评估广告投放效果 | 末次非直接触点 | 排除直接访问,看最后一个广告渠道 |
| 评估品牌广告价值 | 首次触点 | 品牌广告的价值在于让用户第一次认识你 |
| 用户路径较长、触点较多 | U 型或时间衰减 | 兼顾首末和中间环节 |
| 数据量大、触点多 | 数据驱动 | 让算法自动学习各触点的真实贡献 |
| 初创公司、数据不足 | 线性归因 | 简单公平,不会过度偏向某个渠道 |
漏斗分析 + 归因分析的组合应用
在实际工作中,漏斗分析和归因分析经常一起使用:
案例:某在线旅游平台提升预订转化率
背景:某旅游平台发现预订转化率从 4.5% 下降到 3.8%,需要分析原因并优化。
第一步:漏斗分析定位流失环节
| 环节 | 上月转化率 | 本月转化率 | 变化 |
|---|---|---|---|
| 搜索→浏览详情 | 45.0% | 44.2% | -0.8pp |
| 详情→选择日期 | 30.0% | 28.5% | -1.5pp |
| 选择日期→填写信息 | 60.0% | 55.0% | -5.0pp |
| 填写信息→支付成功 | 55.0% | 54.8% | -0.2pp |
定位问题:“选择日期→填写信息”环节下降最明显。
第二步:分维度深挖
| 维度 | 上月转化率 | 本月转化率 |
|---|---|---|
| 国内酒店 | 62.0% | 60.5% |
| 国际酒店 | 55.0% | 42.0% |
| 国内机票 | 65.0% | 64.0% |
| 国际机票 | 50.0% | 38.0% |
发现:国际业务的转化率大幅下降。进一步排查发现,本月汇率波动导致国际产品价格页面显示异常,日期选择后价格”跳涨”,吓跑了用户。
第三步:归因分析优化渠道投放
同时用归因分析发现:
- 末次触点归因下,直接访问占 40%、搜索占 35%
- 但用 U 型归因分析后发现,社交媒体种草贴是 30% 用户的首次触点
- 这意味着社交媒体投放被严重低估了
最终行动方案:
- 技术团队紧急修复国际产品的价格显示问题
- 在日期选择页面增加”价格锁定”提示,降低用户焦虑
- 增加社交媒体投放预算 20%,因为其首次触点贡献被低估
漏斗分析常见陷阱
陷阱一:忽略”跳步”用户
有些用户不按你设计的路径走。比如老用户直接搜索商品名加购,跳过了首页浏览环节。如果漏斗要求严格按顺序,这些用户会被漏掉。
解决方案:根据分析目的决定是用”严格顺序漏斗”还是”宽松漏斗”。
陷阱二:漏斗步骤太多或太少
步骤太多,每步样本量太小,波动大;步骤太少,无法精确定位问题。
建议:核心漏斗控制在 4-6 步,需要细查时再展开子漏斗。
陷阱三:不区分新老用户
新用户和老用户的漏斗形态通常完全不同。混在一起看会掩盖真实问题。
陷阱四:只看转化率不看绝对值
一个渠道转化率 20% 但只有 100 个用户,另一个转化率 5% 但有 100,000 个用户。优先优化哪个?绝对值更重要。
练习题
-
你是一家在线教育平台的数据分析师。请设计一个从”注册→试听→购课→完课”的漏斗,定义每一步的具体行为,并说明应该用什么时间窗口。
-
某电商平台发现支付成功率从 80% 下降到 65%。请用分维度漏斗分析的方法,列出你会从哪些维度去拆解这个问题。
-
你的公司同时在做百度投放、抖音投放、微信公众号内容、邮件营销四个渠道。CEO 问你”应该砍掉哪个渠道”。请解释为什么不同归因模型会给出不同的答案,并推荐一个适合的模型。
小结
| 要点 | 说明 |
|---|---|
| 漏斗分析核心 | 逐步计算各环节转化率,定位最大流失环节 |
| 漏斗进阶 | 分维度对比(渠道、新老用户、设备等)找原因 |
| 归因分析核心 | 将转化功劳分配给各个触点 |
| 归因模型选择 | 没有”最好”的模型,根据业务场景选择 |
| 组合应用 | 漏斗定位问题 + 归因优化预算,双剑合璧 |
下一篇我们将学习 A/B 测试方法论——如何用实验验证因果关系,避免”拍脑袋”决策。