增长指标仪表盘:创始人手册
针对早期创业公司的 CAC、LTV 和客户流失率跟踪。
本指南将准确地向你展示要跟踪哪些增长指标、 如何计算它们以及如何构建一个简单但可信的仪表盘。它偏爱使用简明的英语定义、最小的假设以及你可以直接粘贴到电子表格或数据仓库中的公式。
此仪表盘的用途
一个构建完善的增长仪表盘不仅仅是图表的集合;它还是一个决策引擎。本手册将帮助你:
- 一目了然地了解你的增长状况: 立即了解你的获客效率、客户留存质量以及你收回投资的速度。
- 确定在哪里投入资源: 确定实际能带来价值的渠道、客户群体和产品,以便你可以加倍投入有效的方面,并削减无效的方面。
- 创建唯一的真实来源: 构建一个你的财务、增长和产品团队都可以支持的仪表盘,消除关于哪个数字“正确”的争论。
核心指标(不会适得其反的定义)
使用精确且一致的定义是可信仪表盘的基础。
客户获取成本 (CAC)
CAC 衡量获取单个新客户的成本。跟踪混合版本和付费版本至关重要。
- 混合 CAC : 全部成本。
CAC = (期间内所有销售与市场营销获客成本) ÷ (期间内的新客户数量) - 付费 CAC: 隔离你的付费营销渠道的效率。
付费 CAC = (媒体支出 + 代理商 + 与付费渠道相关的创意) ÷ (归因于付费的新客户数量)
包含内容: 用于_获客_的所有成本,包括销售和市场营销工资、佣金、福利、软件工具、代理费、广告支出、创意开发和相关的承包商成本。 排除内容: 专门用于_留存_的客户成功或支持成本、研发费用和创始人薪资(除非他们将大部分时间用于获客活动)。 归因: 选择一个简单的模型,如首次触达或末次触达。最重要的是选择一个、记录它并坚持使用它,以保持一致性。
终身价值 (LTV)
LTV 估算你将在客户与公司建立关系的整个过程中从该客户获得的毛利润总额。
-
快速、订阅安全的近似值(总 LTV): 此公式非常适合快速健康检查。
LTV = ARPA × 毛利率 % ÷ 每月客户流失率 %ARPA:期间内每个活跃账户的平均每月经常性收入 (MRR)。- 此处使用客户流失率(客户流失),而不是收入流失。这可以防止扩张收入掩盖潜在的留存问题。
-
更精确(折现、基于队列): 此方法更复杂,但更准确,因为它考虑了货币的时间价值。它对给定队列在其生命周期内的每月毛利润求和,并按比率
d(通常为每 年 10-15%)进行折现。LTV = Σ_t (ARPA_t × 毛利率 % × 生存率_t) / (1 + d)^(t/12)
客户流失与留存(跟踪客户和收入)
你需要跟踪你失去的客户数量(客户流失)以及你损失的收入数量(收入流失)。
- 客户流失(客户): 取消订阅的客户百分比。
每月客户流失率 % = (本月流失的客户数量) ÷ (月初的客户数量) - 总收入流失: 因取消和降级而损失的 MRR 百分比。这是衡量收入泄漏的纯粹指标。
总收入流失 % = (流失 MRR + 收缩 MRR) ÷ 月初 MRR - 净收入留存率 (NRR): SaaS 指标的圣杯。它显示了你从现有客户群获得的收入增长,其中考虑了流失、收缩和扩张。 NRR 超过 100% 意味着即使不增加新客户,你的业务也会增长。
NRR = (开始 MRR − 流失 MRR − 收缩 MRR + 扩张 MRR) ÷ 开始 MRR - 非自愿流失与自愿流失: 区分主动选择取消订阅的客户(“我不需要它”)与因付款失败而流失的客户至关重要。 高非自愿流失通常表明你的催收流程中存在可纠正的问题。
CAC 回收期 & LTV:CAC 比率
这两个指标将你的获客成本与你的单位 经济效益联系起来。
- CAC 回收期(月): 收回获取客户成本所需的时间。
回收期 = CAC ÷ (ARPA × 毛利率 % − 每个账户的平均可变成功成本) - LTV:CAC 比率: 客户终身价值与其获客成本之间的关系。 一个常见的经验法则是争取 ≥ 3:1 的比率。 一个健康的业务应该为在获客上花费的每 1 美元至少产生 3 美元的终身价值。 对于 SMB 客户,回收期理想情况下应 < 12–18 个月,对于中端市场/企业客户,回收期应 < 24 个月。
仪表盘应显示的内容(布局)
将你的仪表盘组织成三个层,从高层 KPI 到细粒度诊断。
- 顶行(关键绩效指标): 你一目了然的健康检查。
新客户|新 MRR|NRR(过去 3 个月和 12 个月)CAC(混合 + 付费)|CAC 回收期(月)|LTV:CAC
- 中间行(趋势): 你的核心指标随时间的变化情况。
- 显示
CAC&回收期随时间变化的折线图。 - 显示
客户流失率 %和总收入流失率 %的折线图。 - 可视化你的 MRR 变动的堆叠条形图:
扩张 vs. 收缩 vs. 流失。
- 显示
- 底行(诊断): 趋势背后的“原因”。
- 队列热图: 一个用于客户留存,另一个用于收入留存,显示按注册月份划分的绩效。 这是查看你的产品和留存率是否真正提高的最佳方式。
- 渠道绩效表: 按获客渠道细分,显示
支出、新客户、CAC、90 天留存率和LTV:CAC。 - 流失原因: 显示前 5 个流失原因的饼图或条形图,并显示趋势。
你需要的数据(最小模型)
为了支持此仪表盘,你需要从几个关键来源收集和构建数据。
- customers:
customer_id, signup_date, plan, segment, country, channel, sales_owner - subscriptions:
customer_id, term_start, term_end, status, plan, seats, list_price, discount - subscription_events (强烈推荐):
event_date, customer_id, event_type (new|upgrade|downgrade|churn|reactivate), mrr_delta - invoices/payments:
invoice_id, customer_id, service_period_start, service_period_end, amount, cogs_if_any - ad_spend:
date, channel, campaign, cost - s&m_costs:
month, cost_type, amount, attributable_to (acquisition|retention) - churn_survey:
customer_id, churn_date, reason_code, free_text
专家提示: 将所有内容保存在每月存储桶中以用于 仪表盘视图,但将底层事件存储在每日粒度中以进行更灵活的分析。
电子表格公式(复制/粘贴)
对于一个简单的电子表格模型,为每个月创建一个工作表并使用以下公式:
ARPA = Start_MRR / Start_CustomersLogo_Churn_% = Churned_Customers / Start_CustomersGross_Revenue_Churn_% = (Churn_MRR + Contraction_MRR) / Start_MRRNRR = (Start_MRR - Churn_MRR - Contraction_MRR + Expansion_MRR) / Start_MRRCAC_Blended = (S&M_Acq_Costs) / New_CustomersPayback_Months = CAC_Blended / (ARPA * Gross_Margin_% - Variable_Success_Cost_per_Customer)LTV_Gross = ARPA * Gross_Margin_% / Logo_Churn_%LTV_to_CAC = LTV_Gross / CAC_Blended
重要提示: 始终根据月初基数计算客户流失率,不包括分母中的新客户。 这可以防止新注册人为期内人为地降低你的客户流失率。
你可以改编的 SQL(Postgres)
对于更强大的设置,请使用以下 SQL 查询作为起点。
1) 每月 MRR 流量 此查询计算月初 MRR 和每个月的关键变动(新增、扩张、收缩、流失)。
WITH m AS (
SELECT
date_trunc('month', event_date) AS month,
SUM(CASE WHEN event_type = 'new' THEN mrr_delta ELSE 0 END) AS new_mrr,
SUM(CASE WHEN event_type = 'upgrade' THEN mrr_delta ELSE 0 END) AS expansion_mrr,
SUM(CASE WHEN event_type = 'downgrade' THEN -mrr_delta ELSE 0 END) AS contraction_mrr,
SUM(CASE WHEN event_type = 'churn' THEN -mrr_delta ELSE 0 END) AS churn_mrr
FROM subscription_events
GROUP BY 1
),
base AS (
SELECT
month,
SUM(new_mrr + expansion_mrr - contraction_mrr - churn_mrr)
OVER (ORDER BY month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS end_mrr
FROM m
)
SELECT
m.month,
LAG(end_mrr, 1, 0) OVER (ORDER BY m.month) AS start_mrr,
m.new_mrr, m.expansion_mrr, m.contraction_mrr, m.churn_mrr
FROM m
JOIN base b ON b.month = m.month
ORDER BY m.month;
2) 客户流失率 此查询基于月初的活跃客户计算每月客户流失率。
WITH actives AS (
SELECT date_trunc('month', s.term_start) AS month, s.customer_id
FROM subscriptions s
WHERE s.status = 'active'
GROUP BY 1,2
),
churns AS (
SELECT date_trunc('month', se.event_date) AS month, se.customer_id
FROM subscription_events se
WHERE se.event_type = 'churn'
)
SELECT
a.month,
COUNT(DISTINCT a.customer_id) AS start_customers,
COUNT(DISTINCT c.customer_id) AS churned_customers,
COUNT(DISTINCT c.customer_id)::decimal /
NULLIF(COUNT(DISTINCT a.customer_id),0) AS logo_churn_pct
FROM actives a
LEFT JOIN churns c
ON c.customer_id = a.customer_id AND c.month = a.month
GROUP BY 1
ORDER BY 1;
3) 渠道 CAC(混合和付费) 此查询计算每个获客渠道的混合 CAC 和付费 CAC。
WITH new_logos AS (
SELECT date_trunc('month', signup_date) AS month, channel, COUNT(*) AS new_customers
FROM customers
GROUP BY 1,2
),
paid_spend AS (
SELECT date_trunc('month', date) AS month, channel, SUM(cost) AS spend
FROM ad_spend
GROUP BY 1,2
),
s_and_m AS (
SELECT month, SUM(amount) AS acq_costs
FROM s_m_costs
WHERE attributable_to = 'acquisition'
GROUP BY 1
)
SELECT
n.month,
n.channel,
n.new_customers,
COALESCE(p.spend,0) AS paid_spend,
CASE WHEN n.new_customers > 0
THEN COALESCE(p.spend,0)::decimal / n.new_customers
ELSE NULL END AS paid_cac,
s.acq_costs,
CASE WHEN (SELECT SUM(new_customers) FROM new_logos WHERE month = n.month) > 0
THEN s.acq_costs::decimal / (SELECT SUM(new_customers) FROM new_logos WHERE month = n.month)
ELSE NULL END AS blended_cac
FROM new_logos n
LEFT JOIN paid_spend p ON p.month = n.month AND p.channel = n.channel
LEFT JOIN s_and_m s ON s.month = n.month
ORDER BY n.month, n.channel;
4) 队列收入留存热图 此查询生成收入留存热图的数据,显示每个月注册队列随时间推移保留的初始 MRR 的百分比。
WITH firsts AS (
SELECT customer_id, date_trunc('month', MIN(signup_date)) AS cohort_month
FROM customers
GROUP BY 1
),
mrr_by_month AS (
SELECT date_trunc('month', event_date) AS month, customer_id,
SUM(mrr_delta) OVER (PARTITION BY customer_id ORDER BY event_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS mrr
FROM subscription_events
),
cohorts AS (
SELECT f.cohort_month, m.month,
EXTRACT(YEAR FROM age(m.month, f.cohort_month)) * 12 +
EXTRACT(MONTH FROM age(m.month, f.cohort_month)) AS months_since,
SUM(GREATEST(m.mrr,0)) AS cohort_mrr
FROM firsts f
JOIN mrr_by_month m USING (customer_id)
GROUP BY 1,2,3
)
SELECT cohort_month, months_since,
cohort_mrr / NULLIF(MAX(CASE WHEN months_since = 0 THEN cohort_mrr END)
OVER (PARTITION BY cohort_month),0) AS revenue_retention
FROM cohorts
ORDER BY cohort_month, months_since;
仪器仪表清单(不要跳过此步骤)
输入良好的数据,输出良好的指标。 确保你的产品和系统已进行仪器仪表配置,以捕获这些关键事件:
- UTM: 跟踪每个注册路径上的 UTM 参数,并在创建时将其保存到帐户记录中。
- 取消事件: 当客户流失时,捕获结构化的
reason_code并提供一个可选的自由文本字段。 - 催收事件: 跟踪付款重试及其成功/失败,以正确识别和分析非自愿流失。
- 席位/计划更改: 将席位更改和计划升级/降级记录为不同的事件,每个事件都有一个相关的
mrr_delta。 - 重新激活: 显式跟踪客户重新激活。 返回的客户不是“新”客户。
- 财务: 存储每个发票行上的
price和discount。 如果你有重要的可变成本(例如,基础设施、AI 模型推理、第三方 API 费用),请 存储相关的 COGS。
实际有助于决策的细分
永远不要仅仅依赖于混合的、公司范围的指标。 细分你的数据以揭示有关你业务的隐藏真相。 按以下各项分析你的核心指标(CAC、LTV、客户流失):
- 计划 / ACV 范围: 例如,<$1k、$1–10k、$10–100k 的年度合同价值。
- 渠道: 付费搜索、内容、合作伙伴、外呼销售等。
- ICP 匹配度: 你的理想客户资料与非 ICP 客户。
- 上市模式: 自助服务与销售主导。
- 区域: 如果定价、竞争或用户行为差异很大。
你几乎总是会发现某些细分市场利润很高,而另一些细分市场则会拖累你的整体指标。
审查节奏
将此仪表盘集成到你团队的运营节奏中。
- 每周: 审查高速度指标,例如
CAC趋势、新 MRR、扩张 vs. 流失 MRR图表以及最重要的流失原因。 - 每月: 深入研究
NRR(过去 3 个月和 12 个月)、CAC 回收期和LTV:CAC。 使用这些来审查渠道和细分市场绩效。 - 每季度: 分析
队列留存率曲线以评估长期产品健康状 况。 使用此会议来健全检查你的归因模型,并讨论定价和包装更改的影响。
基准(经验法则)
虽然每个业务都不同,但以下是一些健康 SaaS 公司的常见基准。
- LTV:CAC: ≥ 3:1 的比率被认为是健康的。 > 5:1 的比率可能表明你对增长的投资不足。
- CAC 回收期: 争取 SMB/PLG 模式下 < 12–18 个月,企业销售中 < 24 个月。
- 每月客户流失率: 对于 SMB,2–4% 是常见的; 对于中端市场,1–2%; 对于企业,<1%。
- NRR: 对于 SMB,90–110%; 对于中端市场,100–120% 或更高; 对于企业,110–130% 或更高。
记住: 写下你自己的目标。 首先与自己比较,其次与市场比较。
常见陷阱(以及如何避免它们)
- 在同一公式中混合收入和客户流失。 → 始终使用正确的分子和分母(客户流失使用客户,收入流失使用收入)。
- 当你有扩张时,使用收入流失来计算 LTV。 → 这将大大抬高你的 LTV。 使用客户流失来计算简单的 LTV 公式,或构建适当的基于队列的 LTV 模型。
- 将预订或现金计为 MRR 。 → 在服务交付期间确认收入,而不是在现金进入银行时确认收入。
- 忽略 CAC 中的股权激励和工具。 → 这低估了你真实的客户获取成本。
- 跨月份平均客户流失率。 → 这在数学上是不正确的。 优先选择队列曲线或始终基于期初基数计算客户流失率。
- 归因冲突。 → 每月切换归因模型会使你的数据无法随时间推移进行比较。 选择一个,记录你进行更改的时间,并对你的指标进行版本控制。
“良好 → 更好 → 最佳”实施
你不需要在第一天就拥有完美的数据堆栈。 从简单开始并逐步发展。
- 良好(1–2 小时):
- 一个 Google 表格,其中包含每月手动输入的新客户、MRR 流量和销售与市场营销成本。
- 使用本指南中的公式。 手动跟踪 UTM 和客户流失原因。
- 更好(1–2 天):
- 连接到 BI 工具(如 Metabase 或 Looker Studio)的 Postgres 或 BigQuery 数据库。
- 自动创建
subscription_events表并通过 API 提取广告支出数据。 构建队列热图可视化。
- 最佳(1–2 周):
- 使用 dbt 等工具来创建版本控制的数据模型并编写数据完整性测试。
- 使用 Mode 或 Looker 等 BI 工具,通过受管的数据“探索”来实现自助服务分析。 实施历史数据回填和折现 LTV 计算。
最小指标词典(粘贴到你的 Wiki 中)
使用此表来确保你公司的每个人都说同一种语言。
| 指标 | 定义 | 说明 |
|---|---|---|
| CAC(混合) | 销售与市场营销获客成本 ÷ 新客户 | 包括工资、工具、代理商、广告、佣金 |
| CAC(付费) | 付费媒体成本 ÷ 付费来源的新客户 | 使用一致的归因窗口 |
| LTV(总额) | ARPA × GM% ÷ 每月客户流失率 | 适用于健全性检查;记录你的 GM% 假设 |
| CAC 回收期 | CAC ÷ (ARPA × GM% − 可变成功成本) | 以月为单位衡量;按计划/ACV 细分 |
| 客户流失率 % | 流失客户 ÷ 月初客户 | 从分母中排除新客户 |
| 总收入流失率 % | (流失 MRR + 收缩 MRR) ÷ 开始 MRR | 排除扩张收入 |
| NRR | (开始 MRR − 流失 − 收缩 + 扩张) ÷ 开始 MRR | 跟踪过去 3 个月 (T3M) 和 T12M |
在此上线后要决定的事项
你的仪表盘已上线。 现在怎么办? 使用它来回答关键的业务问题:
- 根据其_付费 CAC_ 以及更重要的_90 天留存率_来扩展或削减渠道。
- 如果你看到扩张 MRR 持平且收缩 MRR 正在上升,则调整定价和包装。
- 如果自愿流失率很高,则投资于入职和客户成功。 如果_非自愿_流失率很高,请首先修复你的付款和催收系统。
- 如果你发现非 ICP 细分市场始终将你的 LTV:CAC 比率拖到低于你的目标值,则收紧你的 ICP 定义。