转化率的口径三要素
转化率等于达成目标行为的实体数除以起始实体数,三要素必须明确:起始事件(谁进入了漏斗)、目标事件(达成什么行为)、观察窗口(例如 7 日内完成支付)。窗口变更等同口径变更——窗口外的后续支付不算转化,把窗口从 7 天改成 30 天数字必然上涨。分子分母的实体单位也必须一致,分子用支付笔数、分母用人数,是最常见的比率越界错误。
基本信息
| 起始事件 | 进入漏斗的实体,如点击、加购、提交订单 |
|---|---|
| 目标事件 | 达成行为,如支付成功、完成注册 |
| 观察窗口 | 限时换算,如 7 日内支付,必须写明 |
| 单位一致 | 分子分母同为单位(人、订单或笔数) |
| 零分母处理 | nullif 兜底,返回空而不是报错 |
典型使用场景
- 漏斗分析:点击、加购、下单、支付逐层转化率
- 投放效果:广告点击到激活的转化,窗口通常按天计
- 注册漏斗:注册页曝光到完成注册
- 活动效果:活动页访问到领券到使用
- 客服转化:咨询到下单,窗口需明确
- AB 实验:实验组与对照组必须使用完全相同的三要素才有可比性
转化率实现
转化率实现
WITH base AS ( -- 起始集合:某日点击的用户
SELECT DISTINCT user_id
FROM dwd_event
WHERE dt = '2026-10-05' AND action = 'click'
)
SELECT count(DISTINCT b.user_id) AS base_cnt,
count(DISTINCT p.user_id) AS paid_cnt,
count(DISTINCT p.user_id)
/ nullif(count(DISTINCT b.user_id), 0) AS cvr
FROM base b
LEFT JOIN (
SELECT DISTINCT user_id FROM fact_pay
WHERE dt BETWEEN '2026-10-05' AND '2026-10-11' -- 7 日窗口
AND status = 'success'
) p ON p.user_id = b.user_id;
-- 关键点:起始集合只取当天,观察范围取窗口内,两者不能混三要素组合示例
| 指标 | 起始 | 目标 | 窗口 |
|---|---|---|---|
| 下单转化率 | 商品详情访问 | 提交订单 | 当日 |
| 支付转化率 | 提交订单 | 支付成功 | 当日或 7 日 |
| 激活转化率 | 广告点击 | 首次启动并注册 | 7 日 |
| 复购转化率 | 首单完成 | 再次下单 | 30 日 |
窗口外的后续支付不算转化,这是转化率与营收指标的关键区别:转化率衡量的是「这次触达有没有效」,营收衡量的是「最终收到多少钱」。两个数长期不匹配是正常的,但如果没人写明窗口,就会反复出现「为什么支付金额涨了转化率却降了」的争论。