商业预测员
commercial-forecaster
目的
帮助商业领导者在预测关键时刻回答三个问题:
1. 提交/最佳情况/仅管线的数字是多少?(包含披露假设的三层预订预测)
2. 哪些队列在流失?合并后的 NRR 是否掩盖了流失情况?(跨周期的各队列 NRR/GRR 预测)
3. 哪些漏斗阶段是可靠的,哪些只是统计噪声?(各阶段变异系数信心区间)
该技能建议提供 三个预测数字 + 一个明确的假设区块。CRO 呈报数字,董事会查看假设,消除猜测空间。
使用场景
- 为董事会构建季度预订预测
- 准备 QBR 预测,以应对 CFO 关于“提交、最佳情况、仅管线”数字的询问
- 使用队列留存数据预测未来 4-8 个季度的 ARR
- 怀疑合并后的 NRR 数字掩盖了近期队列的流失
- 管线覆盖率正在下降,需要确认哪些阶段仍然可信
- 当被要求提供“单一数字”时,需要一个能揭示假设的结构化答案
不适用场景:
- 回溯性的财务结账 + 报告 $\rightarrow$
finance/financial-analysis
- 战略财务规划(多年期、场景分析、融资)$\rightarrow$
c-level-advisor/cfo-advisor
- “是否应该招聘销售副总裁?”/ 领地设计 / 薪酬计划 $\rightarrow$
c-level-advisor/cro-advisor
- 定价设定 $\rightarrow$ 同级
pricing-strategist(该工具预测的是*既定价格*下的收入)
- 单笔交易折扣审批 $\rightarrow$ 同级
deal-desk
工作流
第一步 — 导入管线 + 队列 + 历史转化数据
填写 assets/forecast_intake_template.md(约 20 分钟)。涵盖:包含阶段/金额/关闭日期/时长/最后活动记录的机会列表;过去 4 个季度和 12 个季度的历史阶段转化率;各队列 ARR + 每季度留存 + 扩张数据;带有 12 个季度转化历史的漏斗阶段名称。
第二步 — 运行三层预订预测
scripts/bookings_forecaster.py --input intake.json --profile saas --output markdown输出三个数字 —— 提交 (commit)、最佳情况 (best-case)、仅管线 (pipe-only) —— 每个数字均附带所应用的转化率、使用的数据窗口(过去 4 季度 vs 过去 12 季度,权重 70/30)
)、以及结单时间概率调整。通过 Commit(承诺)与 Pipe-only(仅管线)之间的差异来体现管线风险指标。
假设模块(Assumption block)是必选项。 如果将其删除,预测就变成了“表演”。
步骤 3 — 预测队列级 ARR
scripts/cohort_arr_projector.py --input intake.json --output markdown计算预测周期内每个队列的 NRR(净留存率)+ GRR(总留存率)。标记任何 NRR 低于历史队列平均值的队列——这些是“渗漏队列”,在渗漏影响到顶线数据之前,综合数据会在 2-3 个季度内将其掩盖。
输出内容包括:综合 NRR/GRR 趋势图 + 队列热力图 + 渗漏队列提醒。
步骤 4 — 评估各阶段漏斗置信度
scripts/funnel_confidence_scorer.py --input intake.json --output markdown针对每个阶段:计算平均转化率 %、标准差、变异系数(CoV = 标准差 / 平均值)、置信区间(高 < 10%,中 10-25%,低 25-50%,极低 > 50%)。并针对每个阶段推荐处理方案:延长数据窗口(extend-data-window)、视为软底线(treat-as-soft-floor)或优化承诺质量(commit-quality)。
步骤 5 — 组装预测汇报页
将三级预订数据 + 队列热力图 + 漏斗置信度放入 QBR(季度业务回顾)或董事会汇报页中。假设模块必须与数据出现在同一页。 如果页面只有一个数字而没有假设模块,那么这个页面就是在“表演”。
脚本
scripts/bookings_forecaster.py— 三级预订预测(Commit / Best-case / Pipe-only),包含公开的转化率 + 数据窗口 + 权重模块。
scripts/cohort_arr_projector.py— 预测周期内各队列的 NRR/GRR 投影,包含渗漏队列提醒。
scripts/funnel_confidence_scorer.py— 基于 CoV 的各阶段置信区间及处理建议。
所有脚本:仅使用标准库。三个脚本均支持 --help 和 --sample。
参考资料
references/saas_forecasting_canon.md— Skok, Tunguz, OpenView, BVP, Pacific Crest/KeyBanc, ProfitWell, Patrick Campbell
references/cohort_analysis_canon.md— Andrew Chen (a16z), Brian Balfour, Skok, Ramanujam, OpenView, Lenny Rachitsky, Reforge
references/forecast_anti_patterns.md— McKinsey, Tunguz, OpenView, MIT Sloan, Bain, Forrester, Pacific Crest
假设
- 历史转化率是先验概率,而非绝对真理。 最近 4 个季度的权重为 70%,最近 12 个季度的权重为 30%。这种混合方式在捕捉环境变化(如近期放缓)的同时,避免了对单个糟糕季度的过度拟合。窗口和权重将在每个输出中公开。
- 没有公开假设模块的预测就是“表演”。 这是该方法的硬性规则。CLI 强制要求包含假设模块。
- 队列分解能在综合数据显现之前 2-3 个季度揭示渗漏。 仅报告 NRR 而不提供队列细分会掩盖渗漏。
- 变异系数 (CoV) 是衡量阶段置信度的正确标准。 平均转化率 40% 且标准差 4% (CoV 10%) 的阶段为“高”置信度;平均 40% 但标准差 20% (CoV 50%) 则为“极低”。相同的平均值掩盖了截然不同的可靠性。
- 行业概况调整先验概率,而非定义真理。 行业概况会调整默认的阶段转化率,但你的历史数据具有最高优先级。
- 该方法输出三个数字和一个假设模块。 由 CRO 选择 Commit 数字,承担权衡结果,并向董事会解释差异。
反模式
- 没有置信区间的单一数字预测。 董事会可能会要求一个“确切数字”,但专业做法是提供三个带有明确假设的数字。参见
forecast_anti
_patterns.md。
- 盲目使用过去 12 个季度的转化率。 这会掩盖近期的下滑。采用过去 4 个季度(权重 70%)与过去 12 个季度(权重 30%)的混合计算可修正此问题。
- 报告 NRR 时未进行队列分解。 综合数据可能持平,但近期某个队列可能在流失 15 个百分点;这种流失会在 2-3 个季度后体现在顶线收入中。务必进行分解。
- 将“最佳情况 (Best-case)”视为“承诺 (Commit)”。 这样会被 CFO 痛批。最佳情况包含成交概率 < 50% 的加权阶段机会;而承诺仅包含承诺级别的阶段。
- 隐藏假设模块。 技能本身会拒绝隐藏;如果你手动将其删除,你就是在操纵结果。
- 未标注流失队列。 如果
cohort_arr_projector.py标记了某个队列而你在汇报 PPT 中将其屏蔽,那么下个季度该流失将成为你的麻烦。
- 忽略后期机会的停留时长。 一个处于“口头承诺”状态且已持续 180 天的订单并非承诺。预订预测工具会自动降低停滞机会的权重,请勿手动将其调高。
- 缺乏管线覆盖率检查。 行业经验法则:预测值 > 管线 ÷ 3 即为反模式。工具会显示该比率,请予以尊重。
区别于
finance/financial-analysis—— 回溯性的财务结账、GAAP/IFRS 报告、预算差异分析。commercial-forecaster是前瞻性的管线数学计算。
c-level-advisor/cfo-advisor—— 战略性的多年财务规划、融资场景、资金跑道。commercial-forecaster是提供给 CFO 的一个输入项,而非战略本身。
c-level-advisor/cro-advisor—— 战略性的 CRO 判断:例如“是否聘请销售副总裁”、区域设计、薪酬计划、何时增加销售工程师。commercial-forecaster是 CRO 使用的数学工具;cro-advisor是 CRO 应用的判断力。
- 同级
pricing-strategist—— 设定价格(模型 + 范围)。commercial-forecaster根据这些价格*预测收入*。定价在前,预测在后。
- 同级
deal-desk—— 单笔订单评分 + 折扣审批流。commercial-forecaster汇总了deal-desk每日操作的管线数据。
强制质询库 (Matt Pocock 式严苛审查纪律)
由 /cs:grill-commercial 或编排器逐一引导。每道题提供推荐答案 + 权威引用。绝不打包提问。
1. “你使用的是哪个转化率?是过去 4 个季度还是过去 12 个季度的?”
推荐答案:70/30 混合比(过去 4 季度权重 70%,过去 12 季度权重 30%)。仅用过去 12 季度会掩盖近期下滑;仅用过去 4 季度则容易受单个糟糕季度的过度影响。
权威引用:Tomasz Tunguz (Theory Ventures) —— 预测研究表明,单一窗口的转化率估算在捕捉趋势转变时约有 3 个季度的滞后。
2. “你的管线覆盖率是多少?你的承诺值是否超过了管线 ÷ 3?”
推荐答案:3 倍覆盖率是 SaaS 行业的底线;低于 3 倍意味着你的承诺在结构上缺乏支撑。
权威引用:Pacific Crest / KeyBanc SaaS 调查 —— 顶尖 25% 的 SaaS 公司在承诺预订额面前维持 3.0-4.5 倍的管线覆盖率。
3. “你能给我看分队列的 NRR,而不仅仅是综合数据吗?”
推荐答案:绝不要在没有分队列明细的情况下报告综合 NRR。流失队列往往隐藏在平均值中。
权威引用:Patrick Campbell (ProfitWell) + David Skok —— 基于队列的留存分解能在综合 NRR 发生变动前 2-3 个季度就发现流失。
4. “过去 12 个季度中,每个阶段转化率的变异系数 (CoV) 是多少?”
推荐答案:CoV < 10% $\rightarrow$ 承诺级;10-25% $\rightarrow$ 中等;25-50% $\rightarrow$ 仅作为软底线;> 50% $\rightarrow$ 不要将此阶段用于预测。
anon:MIT Sloan 预测研究 / Hyndman & Athanasopoulos(《预测:原理与实践》)—— 输入序列的变异系数 (CoV) 比平均值能更可靠地预测预测准确度。
5. “每个后期机会在后期阶段停留了多久?”
建议:阶段时长 (stage-age) > 中位数阶段时长的 2 倍 $\rightarrow$ 视为停滞,将其从 commit(承诺额)中剔除,仅保留在 pipe-only(管线额)中。
权威依据:David Skok (*For Entrepreneurs*) —— 通过阶段时长识别停滞机会是顶尖 SaaS 管线预测中最重要的卫生实践(hygiene practice)。
6. “你的最佳情况预测是否在管线额的 30% 范围内?”
建议:如果最佳情况 < 管线额的 50%,说明你的阶段转化假设过于悲观,在刻意压低预期 (sandbagging);如果最佳情况 > 管线额的 80%,则是在盲目乐观 (hockey-sticking)。
权威依据:麦肯锡关于预测偏差的研究 + OpenView SaaS 基准 —— 大多数团队处于两种失效模式之一:压低预期 (commit $\ll$ 实际营收) 或 盲目乐观 (commit $\gg$ 实际营收)。
7. “董事会幻灯片上的数字附带了哪些假设模块?”
建议:董事会幻灯片上的每个预测数字都必须标明:(a) 转化率,(b) 数据窗口,(c) 权重选择,(d) 管线覆盖率。没有假设模块的幻灯片纯属“表演”。
权威依据:贝恩公司 (Bain & Company) 商业预测实践 + Forrester 管线覆盖研究 —— 未披露假设的预测与实际结果的方差比披露假设的预测高出 2.3 倍。
按深度优先顺序执行。在开启 4-7 项之前,先锁定 1-3 项。在所有 7 项均回答完毕后,依次调用 bookings_forecaster.py $\rightarrow$ cohort_arr_projector.py $\rightarrow$ funnel_confidence_scorer.py。