路径分析
问题
什么是路径分析?如何发现用户的典型行为路径?
答案
什么是路径分析
路径分析是不预设步骤,从数据中发现用户实际行为轨迹的分析方法。和漏斗分析的区别在于:漏斗你设定步骤看转化率,路径分析让数据"自己说话"。
路径分析 vs 漏斗分析
| 对比 | 漏斗分析 | 路径分析 |
|---|---|---|
| 步骤 | 预设 | 自动发现 |
| 目的 | 看预设流程的转化 | 探索用户实际怎么走 |
| 输出 | 各步转化率 | 桑基图/路径树 |
| 适用 | 核心流程优化 | 行为探索,发现意外路径 |
典型应用场景
| 场景 | 分析目标 |
|---|---|
| 首页入口分析 | 用户从首页去了哪里? |
| 购买前路径 | 用户下单前经历了什么步骤? |
| 流失前行为 | 用户离开前最后做了什么? |
| 功能发现路径 | 用户是怎么找到某个功能的? |
SQL 实现:提取用户路径
提取每个用户的事件路径(前5步)
WITH ranked_events AS (
SELECT
user_id,
session_id,
event_name,
event_time,
-- 每个 session 内按时间排序
ROW_NUMBER() OVER (
PARTITION BY user_id, session_id
ORDER BY event_time
) AS step_no
FROM user_events
WHERE event_date = '2024-01-15'
),
path AS (
SELECT
user_id,
session_id,
-- 拼接前 5 步为路径字符串
GROUP_CONCAT(
CASE WHEN step_no <= 5 THEN event_name END
ORDER BY step_no
SEPARATOR ' → '
) AS user_path
FROM ranked_events
WHERE step_no <= 5
GROUP BY user_id, session_id
)
SELECT
user_path,
COUNT(*) AS session_count,
ROUND(COUNT(*) * 100.0 / SUM(COUNT(*)) OVER (), 1) AS pct
FROM path
GROUP BY user_path
ORDER BY session_count DESC
LIMIT 20;
可视化方式
| 方式 | 特点 | 工具 |
|---|---|---|
| 桑基图 | 展示流量在节点间的流向和分流 | ECharts、Plotly、Tableau |
| 树形图 | 逐步展开路径分支 | D3.js |
| 旭日图 | 多层级路径比例 | ECharts |
转化路径分析(逆向路径)
购买用户的前3步路径
WITH before_buy AS (
SELECT
e.user_id,
e.event_name,
e.event_time,
-- 购买事件前的倒数排序
ROW_NUMBER() OVER (
PARTITION BY e.user_id
ORDER BY e.event_time DESC
) AS reverse_step
FROM user_events e
JOIN (
SELECT user_id, MIN(event_time) AS buy_time
FROM user_events
WHERE event_name = 'purchase'
AND event_date = '2024-01-15'
GROUP BY user_id
) b ON e.user_id = b.user_id
WHERE e.event_time <= b.buy_time
)
SELECT
-- 购买前第3步 → 第2步 → 第1步 → 购买
MAX(CASE WHEN reverse_step = 4 THEN event_name END) AS step_minus_3,
MAX(CASE WHEN reverse_step = 3 THEN event_name END) AS step_minus_2,
MAX(CASE WHEN reverse_step = 2 THEN event_name END) AS step_minus_1,
'purchase' AS final_step,
COUNT(DISTINCT user_id) AS user_count
FROM before_buy
WHERE reverse_step <= 4
GROUP BY user_id
ORDER BY user_count DESC
LIMIT 10;
常见面试问题
Q1: 路径分析发现大量用户绕路(不走主流程),怎么分析?
答案:
- 量化绕路比例:绕路用户占总用户多少?
- 分析绕路原因:是找不到入口?还是主流程有问题?
- 对比转化率:绕路用户和正常路径用户的转化率差异
- 优化方案:如果绕路转化率低 → 优化引导;如果绕路转化率高 → 考虑把"绕路"变成主流程
Q2: 路径分析的数据量很大,怎么处理?
答案:
- 采样:随机抽取 10% 用户分析
- 聚合:只看前 N 步(如前 5 步),过深的路径归为"其他"
- 过滤:只分析有目标行为的用户(如购买用户的路径)
- Session 粒度:按 session 而非全生命周期分析
Q3: 如何用路径分析优化产品?
答案:
- 找到高频路径:大部分用户走这条路 → 确保体验最优
- 找到异常路径:频繁"后退"、反复操作 → 存在体验问题
- 找到高转化路径:走这条路的转化率特别高 → 引导更多用户走这条路
- 找到流失节点:大量用户在某个节点离开 → 该节点需要优化
相关链接
- 漏斗分析 - 预设路径的转化分析
- 留存分析 - 路径对留存的影响
- 数据可视化:图表选型 - 桑基图等可视化方法