如何进行漏斗分析
跟踪用户如何完成多步流程以及他们在哪里退出。
大多数访问您网站的人从未注册、试用您的产品或完成结账。他们去了哪里?是什么让他们离开?他们到达每个步骤的有多少?
在本指南中,您将学习如何通过漏斗分析找到这些答案,包括您需要哪些数据、如何进行分析以及如何使用示例数据集亲自尝试。
什么是漏斗分析?
漏斗分析显示了用户如何通过一系列步骤进行移动,以及他们在哪里放弃。将其想象成一个实际的漏斗:顶部宽,底部窄。很多人从顶部开始,但完成的人较少。它不仅仅是一个图表,更是一种一步步映射用户旅程的方法。

一个简单的例子
假设您想分析您的注册流程。您定义了四个关键步骤
步骤 1: 访问了主页
步骤 2: 注册
步骤 3: 开始试用
步骤 4: 购买了套餐
现在想象一下,有 1,000 人访问了您的主页,但只有 50 人购买了套餐。您的漏斗可能看起来像这样
| 步骤 | 用户 | 与上一步的转化率 | 与总数的转化率 |
|---|---|---|---|
| 访问主页 | 1,000 | – | – |
| 注册 | 600 | 60% | 60% |
| 开始试用 | 200 | 33% | 20% |
| 购买套餐 | 50 | 25% | 5% |
此细分突出了用户在哪里流失。在这种情况下,注册情况良好,但从试用到付费的转化出现了问题。
轮到您了: 在用户转化之前,他们会经历哪些 3 到 5 个关键步骤?草绘它们,即使是大概的。这些将成为您的漏斗步骤。
您需要的数据
上表包含汇总数据。要构建自己的漏斗,您需要具有三个属性的原始数据:谁做了某事,什么他们做了,以及何时他们做的。
这意味着每一行通常会包含以下字段:user_id (谁)、event_name (什么) 和 event_time (何时)。
干净的数据看起来是这样的
| user_id | event_name | event_time |
|---|---|---|
| A | visited_homepage | 2025-07-30 09:00:36 |
| A | signed_up | 2025-07-30 09:05:11 |
| B | visited_homepage | 2025-07-30 10:02:07 |
| B | signed_up | 2025-07-30 10:04:40 |
| B | started_trial | 2025-07-30 10:06:03 |
这种事件日志是漏斗分析的支柱。您还可以包含其他字段,如 device、country 或 campaign_source,以便按受众细分来切分漏斗。
在许多情况下,您需要将数据重塑或建模成此格式,然后才能计算漏斗。
如何计算漏斗数据
一旦数据干净,漏斗计算就很简单:计算到达每个步骤的用户数,然后计算步骤之间的转化率。
举个例子
| user_id | event_name |
|---|---|
| A | visited_homepage |
| A | signed_up |
| A | started_trial |
| B | visited_homepage |
| B | signed_up |
| C | visited_homepage |
步骤 1 (访问主页): 3 位用户 — A、B、C
步骤 2 (注册): 2 位用户 — A 和 B
步骤 3 (开始试用): 1 位用户 — A
现在计算转化率
- 分步转化率
- 主页 → 注册 = 2 ÷ 3 = 66.7%
- 注册 → 试用 = 1 ÷ 2 = 50%
- 从一开始的转化率
- 主页 → 试用 = 1 ÷ 3 = 33.3%
这种简单的数学是所有漏斗图的基础,无论您的数据有多复杂。
这些数字在漏斗中看起来是这样的

在 Metabase 中构建漏斗
要在 Metabase 中构建漏斗图,您可以使用查询生成器或 SQL。
首先,确定代表您漏斗中每个步骤的事件,例如 visited_homepage、signed_up 或 started_trial。
然后
- 汇总您的事件,计数
user_id - 按漏斗步骤分组,例如
event_name,以计算每个阶段的用户数 - 将其可视化为漏斗图。
有关更高级的设置(例如合并来自不同表中的步骤或使用 SQL),请参阅我们的漏斗图指南。
亲自尝试:示例 CSV
准备将漏斗分析付诸实践了吗?
我们准备了一个示例数据集,您可以下载并在自己的设备上进行探索。
此 CSV 包含用户事件数据,如 user_id、event_name 和 event_time,以便您可以使用学到的步骤在 Metabase 中练习构建漏斗。
将 CSV 上传到 Metabase 并构建漏斗图,以查看用户流失情况以及转化率如何变化。
您最终应该会得到一个看起来像这样的漏斗

此练习依赖于预定义的示例数据集,但您也可以使用AI 数据生成器生成自己的练习数据。
奖金:常见数据问题(及其解决方法)
以下是通常会出错的地方以及如何解决它们
- 时间戳丢失:您需要它们来确定步骤顺序。如果丢失,请尝试使用创建日期或根据用户 ID 进行估算。
- 宽格式:每行一个用户,包含多个列(如
signup_date、trial_date、purchase_date)更难分析。您需要将其重塑成长格式,每行一个事件。 - 事件位于单独的表中:您的注册数据在一个表中,试用数据在另一个表中,购买在第三个表中。在开始分析之前,请将它们连接成一个单一的事件表。
- 事件名称不一致:某些事件的名称是
signed_up,其他是signup_success、signup_done或signup_win。选择一个命名约定并坚持使用。