先看结果:AI 说联盟渠道“利润最高”,复算后却是负 12,500 美元

独立增长顾问宋宁收到客户的 Q2 渠道工作簿,主表有 12,486 行。她把四个工作表导入分析工具,问:“下季度应该把预算加到哪个渠道?”AI 很快回答:联盟渠道销售额 428,600 美元、增长最快、利润约 149,000 美元,应优先加预算。

这个答案语句完整,却没有确认一行代表订单还是订单明细、退款是否一对多、广告支出是否被重复关联、币种怎样换算,也没有发现 286 个成本空白和汇总公式漏掉后 486 行。宋宁先暂停建议,完成前置检查。案例数字均为虚构教学数据:

检查阶段 联盟渠道结果 为什么改变
原始销售列求和 428,600 混合 总额、旧版本与取消行
扣折扣与可关联退款后收入 396,200 退款先按订单行聚合,避免扇出
减已确认产品成本与支付费 166,200 仍未计获客支出
再减渠道支出 -12,500 178,700 支出只在渠道季度层合并一次
未决成本区间 -18,700 至 -12,500 仍有 17 个联盟订单行成本待确认
联盟渠道复算桥:428,600 美元原始销售额依次变为 396,200 美元确认收入、166,200 美元广告前贡献和负 12,500 美元已知贡献,未决成本区间为负 18,700 至负 12,500 美元
从左向右看联盟渠道的口径校正。每个箭头代表一次有证据的排除、聚合或减项;17 行未决成本只会把贡献压得更低,因此当前“不追加预算”的方向稳定,但这不是法定利润或未来渠道回报。

最终不是“精确利润为 -12,500”,而是已知贡献额为 -12,500,纳入未决成本后区间更低;无论未决成本取零还是合理上界,符号都为负,所以“不追加联盟预算”在当前证据下稳定。AI 没有算术失灵,失败发生在计算之前:它接受了错误的表意、关联和缺失值处理。

本文是虚构教学案例,不是对真实客户或行业渠道表现的调查,也不提供会计、税务或投资意见。贡献额只是本案例为预算测试定义的管理口径,不等于法定利润、现金流或完整客户价值;真实财务用途应由相应负责人确认准则、期间与责任。

先把业务问题写成可复算的分析合同,而不是问“你发现了什么”

“分析这个表”没有完成条件。宋宁把问题改为:比较 Q2 四个渠道的 已确认收入、已知贡献 和 未解决成本范围;只有当渠道贡献额在合理成本上下界中仍保持同一符号,才给出增减预算方向。客户获取、品牌长期价值和未来预测不在本次结论内。

合同字段 已填写内容
决策 下季度是否调整四个渠道的测试预算
总体 2026-04-01 至 2026-06-30 已确认订单行
单元 报告币种 USD;时间按交易所在地日期
指标 已确认收入 - 产品成本 - 支付费用 - 渠道支出
排除项 取消行、无法确定日期的行;原因单列
不确定性 未关联退款、缺失成本、未知渠道分别披露
稳定决策 成本上下界下贡献符号不翻转
负责人 客户财务负责人确认口径;宋宁执行与复算

合同先决定什么数据是关键。若问题改为现金流,订单日期可能不如到账日;若改为客户终身价值,第二季度订单表根本不够。数据质量不是“文件干净程度”,而是它是否适合这次用途。

冻结源文件与计算环境

宋宁不在客户原文件上直接改。她保存只读副本、文件哈希、接收时间、导出系统、导出参数、工作簿计算设置和工具版本;所有转换写到新目录。

资产 保存内容 目的
来源/Q2.xlsx 原文件、SHA-256、接收回执 证明分析输入未被覆盖
工作簿清单 工作表、行列数、可见/隐藏、使用范围 快速发现结构变化
公式清单 单元格、公式文本、缓存值、依赖 公式审计与重算
清理目录 规范化表与数据结构版本 不污染原始证据
转换日志 步骤、输入数、输出数、规则、执行者 可撤销、可复现
检查/ 每条质量规则结果与样本 区分已修复、接受、阻断

文件含客户数据时,还要先确认可否放入所选 AI 工具、供应商怎样保留和使用数据、谁有访问权。分析不需要姓名、邮箱和完整地址时,导出前用稳定代号替换;凭据、支付卡和无关个人资料不进入提示。

冻结不是只给文件改名“最终版 2”。快照回执还要记录是否包含公式、是否完成重算、外部链接能否访问、日期区域、时区、显示小数位与原始精度。若客户第二天补交退款表,就生成新的输入集,不能用新文件悄悄覆盖旧哈希。最终报告指向具体输入集编号,才能解释为什么同一个问题在两个版本中得到不同数字。

快照检查 通过 条件 不通过 后果
字节标识 哈希 与只读原件一致 无法证明输入
计算 计算设置与重算时间已知 缓存值可能陈旧
连接 外部源可访问或已冻结 公式不可复现
区域/时区 来源负责人确认 日期边界不可用
精确率 存储值与显示值均保留 过早四舍五入

盘点四张表的真实粒度

工作簿不是一张表。宋宁先记录每个工作表的真实粒度、键、时间覆盖与异常:

工作表 原始行数 一行代表 候选键 发现
订单 12,486 一个订单商品行的一个导出版本 商品行编号 + 更新时间 含旧版本、取消行、公式列
退款 438 一次退款交易 退款交易编号 392 个订单行,部分多次退款
渠道支出 364 一个渠道一天 渠道 + 支出日期 四渠道×91 天,金额均为美元
汇率 273 一个币种一天 货币 + 汇率日期 欧元、英镑、美元×91 天

她同时检查隐藏行列、隐藏 工作表、合并单元格、筛选状态、命名区域、透视缓存、外部连接和打印区。隐藏不代表错误,但它会让“肉眼看见的范围”与公式实际范围不同。

W3C 的表格数据模型强调,表格需要配套的元数据,列值还可以声明数据类型;CSV 本身也存在编码、表头、引号与换行等变体。导出 CSV 不会自动标准化含义,数据结构与文件方言仍需记录。

盘点时不能只看左上角到右下角。每张工作表都要回答六个问题:表头从哪一行开始;总计或小计是否混入数据区;筛选后是否只导出了可见行;公式引用是否越过当前使用范围;空白行是分隔还是记录缺失;相同名称的命名区域是否指向不同版本。任一问题未知,都在清单中标为“尚未确认”,而不是根据版面猜测。

她还抽取每列的非空数、唯一值数量、最小值、最大值、错误值、公式数、常数数和前后各 5 个原始样本。这一步不是让 AI“理解全表”,而是用有限轮廓发现值得向负责人追问的结构异常。

先确定粒度与主键

订单表有 8,942 个订单却有 12,486 行,因为一个订单可含多件商品,而且同一订单行可因状态更新出现多个版本。若按订单编号去重,会删掉合法商品行;若完全不去重,又会重复计算旧版本。

对象 预期基数 检查
订单 一对多商品行 同订单多行允许
商品行版本 每个更新时间一行 完全重复不允许
当前订单行 每个商品行编号一行 取已确认的最新版本
退款交易 交易编号唯一 多次部分退款允许
渠道 - 日支出 渠道 + 日期 唯一 重复会多扣支出
汇率 货币 + 日期 唯一 缺率不猜默认值
粒度主键模型:8,942 个订单展开为商品行和导出版本,退款、渠道日支出与日汇率各自保留原生主键,精确重复与旧版本清理后得到 12,371 个当前订单行
先按对象层级读,再决定哪种重复需要处理。订单号重复可来自合法多商品行,当前订单行才要求每个商品行标识唯一;图中的 12,371 行依赖已确认版本规则,键冲突或时间戳不明时不能照此自动取最后一行。

先清除 42 条逐字段完全相同的重复导出,再对 73 个有旧版本的商品行按更新时间取最新,并保留已取代记录。行数账本为 12,486-42-73=12,371 个当前订单行。这里的 73 指多出来的旧版本行,不是 73 个完整订单。

主键为空、同一时间出现两条冲突版本,或更新时间没有时区,都不能靠“取最后一行”解决,必须回源确认。

字段字典要写业务含义、单位、允许值和缺失语义,不能只翻译列名

同一个“净销售额”可能含税、含运费、已扣退款或只扣折扣。宋宁请客户财务负责人逐字段确认,并记录负责人和生效日期:

字段 类型/单位 业务定义 空白含义
商品标价 小数 / 交易币 商品标价,不含税运 不允许
商品折扣 小数 / 交易币 分摊到该商品行的折扣 无折扣应为 0
退款金额 不在订单表 来自退款交易聚合 无匹配才为 0
美元产品成本 小数 / 美元 交易日有效的库存单位成本 未知,绝不等于 0
美元支付费 小数 / 美元 支付服务商确认费用 待定或尚未确认
渠道 枚举 归因规则第 4 版的首要渠道 尚未确认可保留
原始订单日期 字符串 来源系统原始日期文本 空白阻断时间分析

字段字典还要写粒度、可为空、有效值、源系统、转换、敏感性和示例。AI 可以根据样本提出“总额可能是含税总额”的问题,但不能替负责人定义。

质量规则必须绑定用途和失败影响,不追求所有列都达到同一“干净分”

GOV.UK 政府数据质量框架 把 完整性、唯一性、一致性、及时性、有效性 和 准确性 作为可调整的核心维度,并强调质量要结合用户用途。2026 年更新的数据质量问题框架进一步建议先说明数据用途,再设规则、目标和失败优先级。

宋宁不生成一个“质量 92 分”,而是按结论影响设门:

规则 目的 目标 不通过 动作
当前商品行编号唯一 防重复收入 100% 阻断
可计收入日期可解析 限定 Q2 100% 或隔离并披露 隔离+金额上界
非 USD 行有交易日 FX 统一单位 100% 阻断对应行
refund_line 可关联 不漏退款 金额 100% 对账 未关联金额单列并做下界
渠道 - 日支出 唯一 不重复扣支出 100% 阻断渠道结论
产品成本 覆盖 判断贡献符号 足以保持符号 区间,不强填
汇总与行级复算一致 防公式断裂 误差≤0.01 USD 阻断发布
用途绑定的质量门:唯一键、日期、汇率、退款、渠道支出、产品成本和独立复算分别对应阻断、隔离、压力测试或保留区间
逐行读取规则、目标和失败动作,而不是看一个总分。一笔高影响退款可以阻断结论,无关邮箱空白却未必影响本题;这些门只适用于已定义的季度渠道贡献问题,换成现金流或客户价值时必须重写。

规则通过率与重要性分开。98% 的邮箱完整度与本题无关,哪怕很低也不阻断;仅 1 条未关联的大额退款却可能翻转渠道结论,必须优先处理。

缺失值先分“本来不适用、尚未发生、来源未知和提取失败”,再决定动作

286 个产品成本空白不能统一填 0 或平均值。宋宁抽样追源:252 条可按库存单位、地区与生效日从成本表精确回填;34 条库存单位已经停用且缺少历史成本,只能保留为尚未确认。

缺失类型 例子 处理
结构不适用 无折扣订单的 折扣 明确定义后填 0
尚未发生 退款申请尚未结算 保留 待定,不提前当 0
源端未知 历史 库存单位 成本不存在 区间或排除结论,不能伪造
提取失败 导出漏了 payment_fee 重导或回源查询
被抑制/受限 为隐私不提供地区细项 调整分析粒度,不反推
连接缺失 refund_line 找不到 order_line 查键与版本,不当无退款

34 条未决成本按渠道分为直接 4、搜索 11、电子邮件 2、联盟 17。她为每条保存合理下界 0 和基于同类库存单位的保守上界;这不是把上界当成真实成本,而是测试结论会否翻转。若区间跨过 0,预算方向就标为未解决。

回填 252 条也不是用今天的成本覆盖历史。匹配键必须同时满足库存单位、销售地区和“生效日≤订单日<失效日”;命中 2 个成本版本时阻断,零命中才进入未解决。每次回填都保存成本来源行和生效日期回执,才能在成本表修订后重算。

渠道 未决行 已知贡献 未决成本上界 符号会翻转吗
Direct 4 178,300 1,200
Search 11 83,000 4,500
Email 2 93,400 300
Affiliate 17 -12,500 6,200 否,只会更低

缺失率还要按渠道、月份、产品分组。整体 0.27% 可能掩盖联盟渠道集中缺失;不能只报全表平均。

日期、数字和币种必须显式解析

订单表混有 06/07/2026、2026-06-07 和表格序列值。31 行只看文本无法判断是 6 月 7 日还是 7 月 6 日,被隔离并向来源负责人确认地区格式,而不是让 AI 根据其他行“猜大多数格式”。

风险 检查 错误后果
日期地区格式 原始文本+导出地区+解析规则 第二季度边界错分
时区 下单、退款、结算各自时区 月末跨期
数字存文本 类型与非法字符 排序/求和漏值
千位/小数符 1,234.50 与 1.234,50 金额放大或缩小
百分比 0.2 与 20 比率相差 100 倍
币种 每行币种必填 不同币种直接相加
FX 交易日、方向、来源版本 倒数方向错误

规范化只生成新列:标准订单日期、美元标价、美元折扣和解析状态;原始列不覆盖。汇率定义明确写成“1 单位交易币 = 多少美元”,避免同一个汇率有人乘、有人除。

31 条日期隔离行的折后收入上限为 6,840 美元。她做两端压力测试:全部属于第二季度与全部不属于第二季度;即使把 6,840 全放进联盟渠道 且暂按零新增成本,它的已知贡献也只到 -5,660,仍为负。这个极端假设用于测试方向,不是替代日期修复。

另有 39 行 渠道未知。通过已冻结的活动编号 映射找回 37 行,剩余 2 行共 420 美元维持未归因状态。若把 420 全归联盟渠道,结论仍不翻转;但这两行不能为了让四渠道加总好看而按比例分摊。

重复与版本要分类处理

类型 发现方式 正确动作
完全重复 全字段与导出时间相同 保留一行并记录重复来源
同键同时间冲突 键相同但金额不同 阻断并回源
旧版本 商品行编号相同、更新时间较早 保留历史,当前视图取确认最新
合法多行 订单编号相同、商品行编号不同 全部保留
疑似重复订单 客户/金额/时间相近但键不同 人工调查,不自动删
支付重试 订单相同、支付编号 不同 交支付状态判断

AI 很适合生成候选重复簇并说明匹配信号,但不能只凭姓名、金额和文本相似就删行。删错一笔与保留一笔重复对利润方向影响不同,候选表要显示两种影响。

去重规则版本化;下季度若来源系统改成 只追加事件流,旧的“取最新行”可能破坏事件事实。

异常值不是垃圾

金额最大的 12 行不全部删除。8 行是确认过的企业批量订单,2 行将欧元小数逗号误读为千位,1 行为测试订单,1 行是重复扣款。相同统计极端值对应四种不同动作。

异常信号 核验证据 动作
金额高于历史 P99 订单、付款与客户类型 真实企业单则保留并分层
负收入 退款/冲销状态 合法冲销保留,不截为 0
数量=10,000 商品类型与单位 箱/件单位错则修映射
日期未来 时区、测试环境、预售 隔离或按规则保留
贡献额大于收入 成本符号、退款双减 阻断公式与字段检查
同设备短时多单 业务促销、重试、欺诈流程 不由分析模型定性
金额最大的 12 行按证据分为 8 个真实企业订单、2 个数字区域误读、1 个测试订单和 1 个重复扣款,并分别保留、修正规则、隔离或进入支付流程
从同一异常候选向右看四种不同事实和动作。箱线图、标准分数或四分位距只负责找候选,订单、付款、客户类型和环境证据才决定处置;这 12 行的核验结果不能外推为所有极端值的固定比例。

箱线图、标准分数或四分位距 只能找候选,不能自动决定真伪。异常处置保存证据、负责人、修改前、修改后和金额影响;没有证据就标为未解决。

公式审计要检查错误值、依赖、范围断裂、硬编码和计算设置

订单 与 摘要 共 612 个公式单元格。宋宁按区域比较公式规律并发现 17 个互斥异常:6 个公式被常数覆盖、5 个产生 #不适用、3 个求和范围漏了新增行、2 个依赖关闭的外部工作簿、1 个循环引用。

公式风险 示例 验证
范围截断 SUM(H2:H12000) 漏 12001:12486 对比 使用范围 与动态行数
硬编码覆盖 同列中 6 格不是公式 与相邻公式规律及变更记录核对
错误值 #不适用 被图表忽略 枚举所有错误类型与影响金额
过时缓存 手动计算设置下未重算 记录计算设置、全量重算、保存回执
外部链接 成本来自旧本地文件 冻结来源或移除依赖
循环引用 利润 间接依赖自己 追踪依赖并阻断
公式审计发现 6 个常数覆盖、5 个错误值、3 个求和范围截断、2 个外部工作簿依赖和 1 个循环引用,并用摘要单元格漏掉后 486 行说明结构化范围修复
左侧先看 17 个互斥异常的构成,右侧再看一个范围断裂怎样修。把末行改大仍会混入旧版本和取消行,正确做法是引用规则生成的当前订单范围;工具能发现公式结构异常,却不能证明业务口径正确。

Microsoft 当前 Excel 支持文档说明,可用 追踪前驱/后继 追踪公式关系,错误检查 可发现错误值、区域内不一致公式和遗漏相邻单元格;某些 电子表格查询 功能只在特定 Windows/Office 版本可用。工具提示不是证明:它不能理解 总额 是否应扣税,也不保证找出所有业务口径错误。

她导出公式文本 而不是只读显示值,并用独立计算重建关键汇总。若只能拿到 PDF 或粘贴值,公式来源不可审计,结论应明确降级。

一个具体断裂发生在 摘要表 H6:显示公式为 订单表 H2 到 H12000 求和,而清单显示当前数据到 H12487;这不是简单把末行改大就完成,因为中间还含旧版本与取消行。正确修复是让摘要表引用经过规则生成的“当前订单”结构化范围,再用独立分组结果比对。另一个单元格用错误转零公式隐藏“不可用”,使缺成本看似零;展示层可以解释错误,分析层必须保留缺失原因,不能把错误值变成业务上的 0。

公式审计输出 公式区域、预期规律、实际公式、前驱单元格、错误类型、金额影响和解决方式。只截屏红色小三角无法用于下次回归。

多表关联前先写基数:一对多退款必须先聚合,渠道支出不能复制到每个订单行

最危险的错误不是 VLOOKUP 报错,而是关联成功却让行数悄悄膨胀。退款 有 438 笔交易,落在 392 个订单行;若直接与 订单 相连,多次部分退款会复制订单收入。

关联 预期基数 关联前动作 关联后断言
当前订单→退款总额 1:0/1 退款按商品行编号聚合 订单行数不变
订单→FX 多:1 货币 + 日期 唯一 非 USD 全匹配
订单→SKU 成本 多:1 SKU+ 区域 + 生效日期 唯一 匹配至多一条
渠道摘要→支出 1:1 按渠道周期 支出 先按季度汇总 支出只减一次
关联基数流程:438 笔退款交易先按商品行聚合为 392 行,再连接当前订单并保持订单行数不变;汇率与成本为多对一,渠道季度支出只合并一次
从 438 笔退款到 392 个订单行退款,再验证连接后行数不变。图下方同时标出汇率、成本和渠道支出的预期基数;剩余 310 美元未关联退款必须单列,不能因为连接成功就当作零或继续解释膨胀结果。

9 笔退款无法关联当前 order_line,合计 1,240 美元。它们不能被当作 0;宋宁检查旧键映射后找回 7 笔,剩余 2 笔 310 美元进入未关联退款下界。任何渠道结论都同时展示“若这 310 美元全部属于该渠道”的压力测试。

关联回执保存左表行数、右表行数、输出行数、已匹配、左侧未匹配、右侧未匹配和重复键。输出行数超出预期就立即停止,不让 AI 继续解释膨胀结果。

每次转换都写行数与金额账本,修复不能悄悄改变总体

当前订单视图的行数变化可逐步复算:

步骤 输入行 减少/隔离 输出行 金额处理
原始订单 12,486 12,486 原始不改
精确去重 12,486 42 12,444 重复金额只保留一次
最新确认版本 12,444 73 旧版本 12,371 历史仍在追踪记录中
已取消排除 12,371 118 12,253 取消总额单列
模糊日期隔离 12,253 31 12,222 金额形成范围,不消失
转换账本:12,486 个原始订单行依次去除 42 条精确重复、73 条旧版本、118 条取消行并隔离 31 条模糊日期,得到 12,222 行;缺成本和未知渠道作为重叠标签保留
沿着行数链读取每次减少或隔离的去向。最终 12,222 行只是日期可用的当前未取消视图,286 行缺成本和 39 行渠道未知可能重叠,不能继续相减,也不能据此声称其余字段全部完整。

问题标签可以重叠,不能把 286 个缺成本、39 个未知渠道继续从 12,222 中相减;它们仍参与收入基线,只限制贡献或渠道归因。质量报告同时给 受影响行数和受影响金额,防止一条大额错误被“99.9% 行通过”掩盖。

转换日志的最小字段是步骤编号、输入哈希、规则版本、转换前后行数、转换前后金额、例外、输出哈希和审批人。AI 生成的转换也必须进入同一账本。

两笔部分退款的完整复算

订单行 O-1002-L1 以 EUR 计价:总额 200、折扣 0;退款 有 R-91=30 EUR、R-94=20 EUR;交易日汇率为 1 EUR=1.10 USD;产品成本 105 USD、支付费 5 USD。

中间量 计算 结果
欧元退款 30+20,先按商品行编号聚合 50 EUR
欧元确认收入 200-0-50 150 EUR
美元确认收入 150×1.10 165 USD
广告前贡献 165-105-5 55 USD
第二季度联盟营销广告前数据 汇总所有当前有效行 166,200 USD
第二季度联盟营销贡献 166,200-178,700 渠道支出 -12,500 USD
订单行复算:200 欧元减去两笔合计 50 欧元退款得到 150 欧元确认收入,按 1.10 汇率变为 165 美元,再减产品成本和支付费得到 55 美元广告前贡献
按从左到右的固定顺序复算一条订单行,再下接渠道汇总。退款先聚合、汇率按交易日、成本费用逐项减,渠道季度支出最后只减一次;这条手算只验证计算路径,不代表单行决定整个渠道。

错误路径一:先把两笔 退款 行与订单连接,订单收入被复制两次,再聚合会膨胀。错误路径二:把 178,700 渠道季度支出连接到每个联盟订单行,会重复扣数千次。正确路径是各自在原生粒度聚合,最后在 渠道 + 季度 粒度合并。

AI 输出必须展示这条从原始键、退款聚合、汇率到渠道汇总的追踪链;只给最终数字不放行。

用勾稽和不变量验收清洗结果:每个“消失的金额”都要有去向

清洗后四渠道汇总为:

渠道 已确认收入 已知产品成本 支付费 渠道支出 已知贡献 含未决成本区间
直接 410,200 201,600 12,300 18,000 178,300 177,100—178,300
搜索 386,400 199,800 11,600 92,000 83,000 78,500—83,000
电子邮件 214,600 96,300 6,400 18,500 93,400 93,100—93,400
联盟 396,200 218,100 11,900 178,700 -12,500 -18,700—-12,500
合计 1,407,400 715,800 42,200 307,200 342,200 330,000—342,200
四渠道勾稽表:确认收入 1,407,400 美元减产品成本、支付费和渠道支出得到 342,200 美元已知贡献,缺成本区间为 330,000 至 342,200 美元,另列三类压力桶
先横向复算每个渠道,再用底部总式核对四渠道合计。贡献区间只聚合 34 行缺成本;310 美元退款、420 美元未归因收入和 6,840 美元日期隔离金额方向不同,不能揉成一个置信区间或外推未来回报。

总计复算:1,407,400-715,800-42,200-307,200=342,200。渠道已知贡献相加也等于 342,200;上下界按 34 条未决成本逐条汇总,不用一个虚构平均成本。

其他不变量包括:退款总额=已关联+未关联;每个 当前行 ID 唯一;USD 行 汇率=1;取消行不进入 已确认收入;渠道支出合计等于原表 Q2 合计;任一转换前后差额等于明确的 重复、取消、退款、FX 或 隔离 桶。

表中计入未决成本后的总贡献下界应为 330,000 美元:177,100+78,500+93,100-18,700=330,000;它只反映 34 条缺成本。另有 310 美元未关联退款、420 美元未归因收入与 6,840 美元日期隔离金额,分别作为独立压力桶展示,不能揉进一个貌似精确的置信区间。不同问题的方向不同:退款只会降低,未归因收入可能增加某渠道,日期隔离取决于是否属于 Q2。

当两条计算路径出现差额,先按层定位:行数不同查筛选/版本;已确认收入 不同查日期、币种、退款;已知贡献不同查成本、费用、支出;只有显示尾差才允许在最终层四舍五入。禁止直接写一个 调整 行把总数“调平”。

给 AI 的不是整本表,而是问题、数据结构、允许转换和必须返回的证据

分析包包括 问题合同、清单、字段字典、清洗后的表、质量报告、转换日志 和 允许的计算。提示要求模型:不得改变字段定义;不得把尚未确认填 0;不得自动删异常;任何关联先报告基数;每个结论返回 计算、源字段、行数、例外情况 和 不确定性。

AI 可做 必须转人工
建议字段类型和质量检查候选 决定字段真实业务含义
生成去重/解析/聚合代码草稿 批准删除、覆盖或回填
列出公式异常与关联扇出 解释外部链接是否仍有效
生成描述统计与对照图 决定异常是欺诈、错误还是真实大单
写结果叙述草稿 承诺预算、客户或财务动作

模型输出先写 结果状态:可回答、有限条件下可回答或已阻塞。若关键规则未通过,只能返回阻断原因、影响范围和所需证据,不得为了完成任务给一个“仅供参考”的精确排名。

一条可接受的 结果回执 至少包含:指标定义哈希、输入集编号、总体数量、各原因排除数量、分组键、关联回执、计算表达式、小计、不确定性桶、失败规则和复核人。叙述中的“最高”“增长”“显著”“亏损”必须指向其中一个可复算比较,不能只因为模型在文本里看见某列较大。

她还把问题拆为三种输出层:事实 只报告可复算金额;解释 解释可能原因并明确替代解释;操作层写决策负责人、所需额外证据和可撤回测试。AI 可以草拟三层,但禁止把“联盟贡献为负”直接扩写成“联盟合作伙伴质量差”;当前表只支持渠道季度贡献,不包含伙伴质量的因果证据。

输出层 合格例 不合格跳跃
事实 联盟 已知贡献 -12,500 联盟 没有价值
解释 高渠道支出是负贡献的直接算术因素 客户一定来自低质流量
操作 暂不加预算,先核对归因与伙伴分层 立即永久关闭渠道
证据请求 补 34 条成本与 2 条渠道归因 让 AI 猜最可能值

提示词不能替代这些结构。只写“请仔细检查并诚实说明不确定性”不会自动产生主键、基数和金额勾稽;相反,明确数据结构、允许动作与阻断规则后,即使更换模型,检查对象仍然稳定。

第二种计算路径和冻结陷阱集,专门检查“看起来合理”的错误

宋宁用两条独立路径复算关键数字:工作簿透视/公式与脚本分组计算。两条路径共享冻结 清洗后的输入,但不共享同一汇总公式;只有行数、金额、退款与支出在 0.01 美元容差内一致才进入叙述。

她还建立 30 个已知陷阱和 10 个干净对照:6 个日期/区域、5 个公式、5 个关联、4 个缺失、4 个币种、3 个重复、3 个异常。首轮 AI 正确发现 23,发现但建议动作错误 3,漏掉 4;改进数据结构与规则后为 28、1、1。10 个干净对照的误报从 2 降到 1。

测试变形 期望不变量
调换行顺序 渠道汇总不变
加一条完全重复导出 当前 结果不变、重复计数+1
将 USD 标记改 EUR 但数值不变 FX/单位规则阻断,不静默接受
把退款拆成两笔 聚合后 退款总额 不变
新增大额真实订单 异常标记可变,不能自动删除
删除成本有效日期 贡献 变 已阻塞/区间
独立复算流程:工作簿路径与脚本路径在 0.01 美元容差内汇合;冻结测试改进后正确发现从 23 增至 28,错误动作、漏检和干净对照误报均降至 1
上半部核对两条不共享汇总公式的路径,下半部比较同一冻结测试集。改进后的发现率更高、错误动作和漏检更少,但正常缓存的外部依赖仍可能漏掉;测试提高可见性,不证明模型接近完美。

漏掉的 1 个是关闭外部工作簿后的缓存值仍看似正常;因此公式依赖仍需人工与第二路径检查。测试提高的是可见性,不是证明模型“99% 正确”。

结论要带适用范围和停止条件:数据不支持时,最专业的输出是暂不排名

当前四渠道中,直接、搜索、电子邮件 的贡献区间均为正,联盟 区间均为负;这个方向在已定义成本上界内稳定。但不能由此断言前三者未来回报率不变,也不能忽略客户获取质量、产能约束或长期留存。

发布状态 条件 输出
发布 关键规则通过,区间不翻转,双路径一致 给方向、区间和限制
有限条件下发布 小额未关联但压力测试不翻转 显示上下界与未决项
挂起 成本/退款区间会翻转排名 不给预算方向,先补数据
停止 关联扇出、币种缺失、关键公式不可重算 撤回当前结果
升级 涉及财务报表、合同或重大外部承诺 交相应专业负责人

任何 当前键 冲突、退款金额无法勾稽、渠道支出 重复、汇总差额超过 0.01 美元、非 USD 无汇率或公式源不可访问,都阻断精确贡献结论。不是把 保留条款 写在报告末尾后继续排名。

正贡献也不自动等于增加预算。电子邮件 的 93,400 高于 搜索 的 83,000,但两者投入规模、可扩展库存和边际回报没有在当前表中建模;直接 更不一定是可购买渠道。当前结果只能排除“联盟已被证明最赚钱”这一原建议,并为下一次小额预算实验提供基线。把分析用途守窄,比用更多图表把同一数据包装成战略更可靠。

若财务负责人后续改变贡献定义,例如加入人工履约成本,必须生成新指标版本 并重跑四渠道,不得只在联盟渠道上补一项成本。定义变更和数据修复是两类事件:前者改变所有历史比较的语义,后者修正特定输入错误。

可以直接复制的表格分析前置包:用 90 分钟先查一项真实决定

可复制模板
01-analysis-contract.md
02-source-manifest-and-hashes.csv
03-sheet-map-and-grain.csv
04-field-dictionary.csv
05-data-quality-rules.csv
06-quality-results-and-exceptions.csv
07-transforms-and-row-ledger.csv
08-formula-and-dependency-audit.csv
09-join-cardinality-receipts.csv
10-reconciliation-and-independent-recalc.csv
11-ai-test-cases.csv
12-decision-with-uncertainty.md

第一次练习只选一项会改变决定的表:前 15 分钟写问题、范围和指标;20 分钟盘点工作表、粒度与键;20 分钟定义五个关键字段;20 分钟检查重复、缺失、公式和关联基数;最后 15 分钟手算三行并对一个总计。任何一项说不清,就先返回负责人补证据。

资料核验于 2026-07-21,进一步阅读:

AI 能快速生成代码、发现候选异常和解释结果,却不会自动知道一行是什么、空白意味着什么、关联为什么合法、极端值是不是业务事实。把前置检查保存为可复用包后,下一次不必从头“清洗”;你是在执行同一套可以拒绝坏输入、解释每个差额并复算每个结论的分析工作。