用 AI 写 Variance Analysis:把实际 vs 计划表变成 CFO 能直接用的解释

把已关账的实际 vs 计划表交给 AI,拿回 CFO 真正会看的月末 variance commentary——附可直接复制的 Prompt 和明确的重要性门槛规则。

一句话总结

月末已关账,你手里有一份实际 vs 计划表,CFO 早 9 点要 commentary。AI 没法告诉你某一项为什么跟计划差,但只要你把差异本身加上每条重要项你已知的原因交给它,它五分钟内就能写出一页干净的叙述。功夫全在前面:设好重要性门槛、只粘重要项、每项给一条原因线索、明令禁止模型编造原因。下面这个 Prompt 就是照这套来的。

任务场景

月末关账。你有一份已核对、已锁定的实际 vs 计划差异表。CFO 早 9 点要 variance commentary。你有 30 分钟和一份表。这本质上是个写作问题,不是调查问题——而写作恰好是 AI 擅长的那部分。

哪些情况适合让 AI 来做

  • 差异表已关账、已核对,不是还在修订中。数字一旦在你起草后变动,叙述就得重做。
  • 你能给 AI 的只是差异本身 + 每项你已知的 1-2 条原因。模型负责解释,不负责发现。
  • 你要的是叙述,不是根因分析。还不知道为什么差的项,标「调查中」——模型没看过总账,倒推不出来。

如果你还在找某一项背后的驱动因素,那是另一件事——见 AI 业务驱动因素梳理——应该先做完那个。

写 Prompt 之前先定重要性门槛

质量最大的杠杆是你排除了什么。FP&A 团队通常用双重门槛来卡 commentary——一个绝对金额 + 一个百分比——这样一条波动 40% 的小项和一条波动 2% 的大项都能被正确过滤。常见的公开建议大致是「只解释超过 5 万美元 或 10% 的差异」,但用你公司变动政策里已经写明的那套,并且每个月一致执行(门槛漂移审计师一眼能看出来)。

定好规则,然后只粘超过门槛的项。一份典型的 P&L 会产生 8-15 条值得写 commentary 的重要项;其余都是噪音。

需要先给 AI 的信息

输入为什么重要
差异表:项目、实际、计划、$ 差异、% 差异、F/U 标识叙述建立在这些原始事实之上
重要性门槛(如 > 20 万 或 > 10%挡住行项目噪音,逼模型排序
每个重要项一条原因线索你已经知道的「为什么」——模型猜不出来
受众 + 字数(CFO,200 字)控制语气,防止啰嗦

注意 F/U(favorable / unfavorable,有利 / 不利)标识:favorable 指实际收入超计划、或成本低于计划;unfavorable 反之。输出里把两类视觉上分开——一条 favorable 差异也可能藏着问题(一笔被推迟的成本,不等于省下的成本)。

可直接复制的 Prompt

你写月末 variance commentary 给 CFO。

重要性:只解释差异 > 20 万 或 > 10% 的项。

表:
| 项目        | 实际    | 计划    | $ 差异  | % 差异 | F/U | 已知原因线索 |
| 收入        | 1240 万 | 1200 万 | +40 万  | +3.3%  | F   | 企业续约提前 2 周关单 |
| 毛利率      | 56.2%   | 58%     | -180bps | -      | U   | 原料 / 运费上涨 |
| 销售费用    | 280 万  | 250 万  | +30 万  | +12%   | U   | 两个开放岗位 fill |
| 营销费用    | 90 万   | 120 万  | -30 万  | -25%   | F   | Q3 campaign 延期 |
| 研发        | 180 万  | 180 万  | 0       | 0      | -   | -            |

规则:
- 我没给原因线索的项,标「原因未知 - 调查中」,不要编。
- 每条差异默认按一次性处理,除非原因明显会重复;并明确说出来。
- favorable 和 unfavorable 的项分开列 bullet。

请写:
1. 一句标题:P&L 净影响 + 那条最重要的解释。
2. 每条重要项一个 bullet:差异、口语化原因、结构性 vs 一次性、是否会重复。
3. 一条「需要关注的」:原因最不确定的那一项。

200 字。非财务读者读不懂的纯百分比就不要引用。

好的输出长什么样

标题:P&L 净 +22 万 favorable,来自 Q3 营销 push-out——经营杠杆是节奏,不是改善。

  • 收入 +40 万 favorable:企业续约提前 2 周关单。一次性——Q4 不要再假设。
  • 毛利率 -180bps unfavorable:原料 / 运费上涨。结构性——不重谈供应商前会持续。
  • 销售费用 +30 万 unfavorable:两个岗位月中 fill。未来结构性——Q4 全季度跑满。
  • 营销费用 -30 万 favorable:Q3 campaign 顺延到 Q4。一次性——支出 Q4 全部落地。

需要关注:毛利率。原料成本若不退,Q4 毛利率更接近 55% 而非计划的 58%。

注意标题干的正是分析师真正该干的活——它告诉 CFO 这 +22 万是节奏,不是这个季度结构性变好了。这个判断得你来下;模型只负责把它说出来。

用哪个模型、怎么把表喂进去

进场方式有两种,取舍是精度 vs 顺滑:

方式适合要小心
把 markdown 表粘进 Prompt(任意聊天模型)你已经裁好的 8-15 行干净差异表模型可能把某个 $ 数字写得略偏——标题数字务必复核
上传已关账的工作簿,让它自己筛出重要项你没预先裁过;让工具来算重要性算错数的面更大,每个数都要抽查

至于叙述本身,几个主力模型差距不大。截至 2026 年 6 月,Claude Sonnet 4.6(含在 20 美元 / 月的 Claude Pro 里,现在还附带 Claude Code 和 Claude Cowork)通常最稳地遵守「不要编造原因」这条规则,财务文字也写得紧凑。GPT-5.5(ChatGPT Plus,20 美元 / 月)是上传即分析的首选:它的数据分析沙箱能直接吃进表格、替你筛选。ChatGPT 表格上传单个 CSV / Excel 大约支持到 50MB;ChatGPT Plus 每 3 小时约可上传 80 个文件(免费版限每天 3 个,截至 2026 年 6 月)。Gemini 3.1 Pro(Google AI Pro,19.99 美元 / 月)若你的数据本来就在 Google Sheets 里,是个不错的第三选项。

如果只是粘表写叙述,用你已经在付费的那个就行——200 字 commentary 的质量差距很小。

怎么改输出

  • AI 给一切贴「结构性」。 退回:「月度差异多数是一次性。默认一次性,除非原因明显会重复。」
  • 评论太软(「可能需要关注」)。加一句:「语气直接,CFO 见过一个月的噪音——是什么就说什么。」
  • AI 给空白项编原因。 这条硬规则已经写在 Prompt 里;万一漏了就重复:「没给原因线索的项,写 原因未知 - 调查中 然后跳过。」
  • 数字被重述错了。 让它先把你的 $ 差异原样回读一遍再开始写,然后跟你的表对一遍。

容易踩的坑

  • 粘原始总账试算余额。 模型会老老实实把噪音也解释一通。先裁到重要项。
  • 忘了重要性门槛。 评论变成行项目清单,不是分析。
  • 把 favorable 和 unfavorable 放同一条 bullet。 分开列——一条 favorable 差异可能盖着一笔被推迟的成本。
  • 不复核数字就发出去。 模型偶尔会把某个 $ 差异写得差一个进位。标题数字一定人工对一次。

关于数据隐私

差异表是非公开财务数据,要走公司批准的租户。默认情况下,OpenAI 不会拿 ChatGPT Enterprise、Business、Edu 或 API 的输入输出去训练——但对某条回复点赞 / 点踩,会把那一条对话单独 opt 进训练,所以敏感工作区里要关掉反馈。消费版的免费 / Plus 不适合放法人层面的财务;策略严的话,粘进去之前把法人名和客户名都去掉。当前条款见 OpenAI 商业数据页

FAQ

  • Budget vs Forecast vs Actuals,同一套模板能用吗? 能。把 Prompt 里的「计划」换成「预测」即可。结构性 vs 一次性的框架完全一致,变的只是基准。
  • 能直接传 Excel 文件而不粘表吗? 能,在 ChatGPT 的数据分析沙箱(Plus 及以上)或带文件上传的 Claude 里。更方便,但算术出错的面更大——每个被重述的数字都要抽查。粘一份预先裁好的表更可控。
  • variance commentary 和 driver analysis 有什么区别? Driver 解释指标为什么动;variance 解释为什么跟 plan 差。数据相同,视角不同——见 AI 业务驱动因素梳理
  • AI 能查出我表里的符号错误或坏公式吗? 不能。它只解释你给的数字,不审计它们。先核对、锁好表再说。
  • 该让它写多长? CFO 一页纸 150-250 字。再长就读起来像清单,不像叙述。

相关阅读

标签: #AI 写作 #理财 #商业分析 #KPI #高管更新