使用 AI 代理分析分摊
PlaidCloud 的 MCP 服务器向 AI 代理开放您的分摊模型,因此分摊运行完成后,可以在已连接 MCP 的聊天中用自然语言询问分摊结果,例如 Claude Code、Claude Desktop、Cursor、ChatGPT 或任何兼容 MCP 的客户端。代理会直接读取分摊模型,因此已经了解每条成本行是如何构建的,以及由什么驱动。
可以询问的问题
Section titled “可以询问的问题”分摊为何变化
Section titled “分摊为何变化”最常见的问题:比较两个期间,并解释变动原因:
按收入分摊的成本行从 1 月到 2 月为什么发生了变化?
代理会返回:
- 变化的幅度:变化前、变化后以及差值。
- 变化的驱动原因:是输入的成本池增大或缩小,还是驱动因素的构成发生了偏移。
- 主要贡献项:变动最大的科目、成本中心或产品。
深入某一个切片
Section titled “深入某一个切片”将同一个问题收窄到单个成员,即可得到精确的拆解:
只解释运营成本中心。
代理会区分两种影响:有多少来自整体池的变动,又有多少来自该切片在池中占比的变化。例如:运营成本中心下降是因为池缩小了,尽管运营成本中心在池中占了更大的占比。
如果答案是占比发生了变动,代理会指出该占比所依据的驱动因素,并给出占比两端的数值:“该切片在池中占比的变化(按人数驱动因素拆分;该切片在成本池中的占比从 26.5% 变为 18.2%)”。这正是可以据以行动的部分:占比是结果,驱动因素是有人负责、可以核查的输入。这两个数字就是该切片在池中的同一个占比,直接给出,无需您再去查找。它们会注明是谁的占比,因为它们不是驱动因素列的占比,两者可能完全不同:一个切片在两年中占驱动因素的比例可以完全持平,而它在池中的占比却下降了八个百分点,如果把这对数字当作驱动因素的占比来读,就会让您去重新调整一个根本没有变化的输入。凡是占比不适合用百分比表示的情形,只会点出驱动因素的名称而不给出数字。一旦池中带有相互抵销的贷项或冲回(亏损的行是常见情形),一个切片可能持有超过池的全部,或者低于零,此时“11.1% 变为 900.0%”读起来更像是出错,而不是提供信息。驱动因素在这里仍然是杠杆,所以仍会点出它的名称。而完全没有驱动因素的步骤则无从点名,因此这句话保持原样。
占比会指明其所属池的列。每个值列都从各自的池中分摊,因此在有多个值列的表上,一个切片对每个列都有一个占比;而这一行过去只写“池占比”,在某个模型上,同一个切片、同一对年份打印出三个占比(26.5% 到 18.2%、25.9% 到 18.1%、21.9% 到 16.9%),却没有任何信息可以区分它们。现在每个占比分别写作“该切片在成本池中的占比”“在收入池中的占比”“在利润池中的占比”。单列的答案同样会指明列名,因为“池占比”在那里同样无法回答:是这一列的池,还是模型的池?如果步骤没有可读的列名,这一行就保持原来的写法,而不会什么都不指明。
另外两种解释则有意不作处理:当答案是整个池发生了变动,或是流入的值发生了变化时,驱动因素并不是其机制,点名反而会把您引向错误的输入。
数值从哪里来,又流向哪里
Section titled “数值从哪里来,又流向哪里”可以向任一方向追溯分摊的血缘:
这条成本行来自哪里?
总账成本池向下游输送到哪里?
代理会列出上游的来源和驱动因素,或者该表输送到的每一个下游步骤,包括各个分摊以及它们之间的转换。
什么在驱动分摊
Section titled “什么在驱动分摊”收入是否被用作驱动因素?用在哪里?
代理会列出把该表用作驱动因素(即拆分的依据)的每个步骤,并与把它用作输入(即被摊开的数值)的步骤加以区分。
一项变化会带来什么影响
Section titled “一项变化会带来什么影响”可以提出前瞻性的问题:
如果下个季度收入增加 100 万,哪些成本行会受到影响?
代理会指出受影响的输出,以及每个输出的预估规模;当存在扇出时,会按各个结果当前在池中的占比进行拆分,因此各目标的数字加起来正好等于总变化,而不是每一项都显示整个变化。也可以把问题限定在某一个目标上,例如“收入增加 100 万美元会对客户 A 产生什么影响?”,此时预估值只应用于该切片。
存在哪些分摊
Section titled “存在哪些分摊”这个项目中有哪些成本分摊?
代理会列出分摊模型及其最终输出表,有助于您熟悉一个陌生的模型。
每个解释都会标明代理对它的置信度,同样重要的是,当一个听起来很有把握的数字可能产生误导时,它会予以标示。这些警告会写入通俗易懂的摘要本身,而不是埋在细节里,因此在您依据该数字采取行动之前就能看到。
当评级针对某个拆分时,该行会指明评级的是哪个拆分。 当答案只涉及单个值列并展示成员拆分时,置信度一行会指明该拆分所按的字段,例如“对按 lob 拆分的置信度:高”,它与上方变动项列表的标题使用的是同一个字段。当您沿着答案自己建议的下一步继续追问时,这一点尤为重要:同一个数字,先按业务线再按分支机构拆分,可以如实地先评为中、再评为高,因为不同的拆分方式会改变哪些成员相互抵销。如果不指明字段,这两次评级读起来就像同一个数字被评了两次,而第二次像是“我们又看了一遍,没问题”。指明字段之后,它们就是对两种不同拆分的两次评级。
当答案涵盖多个列时,不会指明字段,因为它只展示其中一列的拆分。 评级涵盖所有列;成员列表只涵盖一列,并在自己的标题中说明是哪一列。如果在两处都指明字段,就会出现这样的情形:对三列的按项目拆分给出一个评级,而几行之后却告诉您三列中有两列只描述整个池。现在这样的答案写作“对这些数字的置信度”,由变动项列表来告诉您它的成员属于哪一列、哪个字段。完全不展示拆分的答案也是同样的写法。
当答案涵盖多个值列时,该块会说明这些列之间的关系,以及每一列在期间内从哪里变到哪里。 过去每一行只给出变化量和百分比,不给金额,因此 margin 下降 19.9%,与 cost 下降 10.4%、revenue 下降 11.5% 并排出现,读起来就像利润的侵蚀速度几乎是成本的两倍。事实并非如此:这三列恰好相互平衡,而 margin 的期初为 $53,848,657.50,cost 的期初为 $401,305,825.54,因此同样的金额占前者的百分比要大得多。这两个事实都没有出现在页面上,而唯一显示了期初和期末金额的那一列,恰恰是最不需要它们的一列,所以要弄清这种杠杆关系,就得根据四舍五入到一位小数的百分比去反推期初金额,其精度至多只有百分之几。现在每一行都以其变动的两个金额结尾,如 - margin: -$10,701,036.06 (-19.9%), from $53,848,657.50 to $43,147,621.44,行上方还有一行说明:这些列在期间两端以及它们的变化上都精确到分地相互平衡,并以其中一列来表达这一平衡,同时指出哪一列的起点最小:“这 3 列在期间两端均精确到分地相互平衡,它们的变化也是如此:margin 等于 revenue 减去 cost。期初水平最小的是 margin,因此同样的金额占它的百分比要比占其他列大得多。”这两个说法都可以对照紧接着下方的各行进行核对,而这正是做出这样表述的全部意义。
它不会对您的模型是如何构建的作出任何说明。 其中某一列是否由其他列计算得出,答案无从得知,而且平衡关系的每一种重排方式都同样成立,margin = revenue - cost 与 cost = revenue - margin 描述的是同样的三个数字,因此把其中一个指为被计算出的列,等于宣称了算术并不支持的内容。用来表达平衡的那一列是一个明确的选择,即起点最小的那一列,而不是一项发现。答案也不会附带明确的否定:页面上没有任何内容可以支持否定,而在可核对的平衡旁边放一个没有依据的否定,只会使这个平衡失去可信度。
当同样的数字中还存在第二个精确的关系时,该块也会指出。 平衡关系说明了各列如何相加,而读到这一点的读者往往就不再去找其他关系了,所以在一个报告收入及其所抵扣费用的银行模型上,资本费用恰好是融资费用的十分之四(两个期间皆是)这一点没有被说明,两行本是同一个量被重复计算,却被读成了互相独立的成本。现在,当两列在两端保持同一个比率时,该块会指出这一比率,并说明两者因此以相同的速率变动:“capital_charge 和 funding_charge 在两端保持恒定比率 0.4,因此二者以相同的速率变动。”当更多的列构成的一组保持同一个比率时,会指出这一组,例如“全部 3 列以相同的速率变动,因此它们彼此之间的比率不变”;而当比率在符号发生变化时依然成立,这些列只是按比例变动,而不是按同一速率变动,因为相对于正数的上升与相对于负数的下降,其幅度相等而方向相反。与平衡关系本身一样,每一条都可以对照下方每一行的两个金额进行核对。
在以下情形中,会陈述平衡关系,但省略大小比较:某一列从负数起步,此时按绝对值最小与按数值最小是两个不同的列,“最小”无法再从下方打印的金额中得出;最小的起始金额并不比次小的小多少;以及旁边的数字已经表明该列以另一列的速率变动,这恰恰是它会造成一个被这些数字随后否定的差异的地方。在以下情形中则完全不作陈述:符合这些数字的平衡排列不止一种;这些列合计为零;它们不能精确到分地平衡;或者两列从同一个金额起步,没有唯一的最小值可用来表达平衡。最后一种情形涵盖了所有只有两列的答案:两列所能满足的平衡只有 a = b 和 a = -b,两者都使两个起始金额的绝对值相等。只涉及单个值列的答案保持不变。
开头的摘要会说明其中的数字是变化量,以及是哪两个期间之间的变化。 这一行摘要是答案中会单独流转的部分,它会进入聊天回复、仪表板图块或自动化步骤;而当答案涵盖多个值列或多个重新组合的分支时,它把每一项的变化列成一个单独的数字,如 interest_income=$6,177,792.16,整行没有任何地方指明期间。单独阅读时,这会被当作期间的期末余额。在某张表中,如果有一列是其他列的净额,这些数字在这种读法下仍然相互平衡,因此核对过它们的读者得到的是一个自洽但错误的答案,没有任何东西提示他们再看一眼:仅凭这一行,三位独立的读者都报告某条业务线损失了 $3.0m,而实际上该业务线已经下降了 $12.9m,之后又进一步下降了 $3.0m。现在这一行在数字之前先写出它们所对应的变化窗口,并为上升的数字加上正号:“2024 年到 2025 年的变化:interest_income +$6,177,792.16、funding_charge +$6,584,192.90、capital_charge +$2,633,677.18、net_contribution -$3,040,077.92”。针对单个值列的答案已经写明“delta”,保持不变。
它也不再对评级各不相同的列给出一个混合的置信度。 过去该摘要只有一个词“高”,而其下方的答案把 net_contribution 评为中,原因是平均值按各列的变动幅度加权,而汇总列通常是变动最小的一列。单独转发时,这一行是在用多数列的评级去断言大家真正会据以行动的那一列。现在它先点出这一列,附上其评级和原因,然后再给出其余列的评级:“net_contribution 列为中(大体正常:10% 的变动来自池总量变化与该切片池内占比变化之间的相互作用);其他 3 列为高”,其格式以及这个薄弱的列,都与下方答案中的置信度行相同。当各列评级一致时,摘要仍和以往一样只陈述一个级别。
当一张表带有多个值列时,该标签是对它们的平均,按各列的变动幅度加权,而代理不太有把握的任何一列都会被首先点出:“对这些数字的置信度:net_contribution 列为中(总额相互抵销);其他 3 列为高”。请读第一个级别,而不是最后一个。汇总列是其他列之间的差额,因此它通常是变动最小的一列,在这个平均中权重最小,而它恰恰是答案首先讲的那一列,也是您最有可能据以行动的那一列。被点出的是较弱的那一列,它不一定是汇总列:如果是代理替您选择了要搜索的列,那一列往往正是它更没把握的那一列。
当较弱的列正是答案所讲的那一列时,较强的评级只说明其他列,而不是说明整个答案。 过去这一行以“在 4 列上总体为高”结尾,而在一张同时报告收入及其所抵扣费用的表上,这些其他列正是汇总列的组成部分,因此它们承担了平均所依据的大部分变动,这个平均其实是对您没有问到的列的安慰。读到末尾的读者会把“高”当作针对手上那一个数字的结论。当较弱的列并不是答案所讲的那一列时(比如代理选来搜索的某一列),该行仍以总体评级结尾,因为该评级此时针对的就是您所问的那一列。
当各列一致时,该行会说明涉及多少列,只有各列共享同一原因时才给出原因。 过去,评级后面不跟任何内容,读起来像是一个结论加一个解释,实际上却是一个平均值外加某一列的解释。现在它会说明自己的范围,例如“3 列总体为中”,并且只有在每一列给出相同原因时,才在括号中给出原因。如果各列不同,就不给出原因,因为把某一列的原因附加到三列的平均值上,是对您没有看到的那一列作出的断言:在一个真实的汽车行业模型上,这使得 margin 下降 38.0% 的旁边出现了“混合残差”,而残差其实属于 cost,那一列只变动了 0.2%。每一列各自的原因仍然在下面的已知局限中,分别列在其所属的列之下。单列的答案没有什么可平均的,因此保持原样。
当评级覆盖所有列时,仍会点出任何带有已声明局限的列。 当各列评级相同时,没有较弱的列可以点名,但其中一列仍可能带有已知局限下列出的某项局限,而一个涵盖所有列的单一词语读起来就像是没有任何列带有局限。在一个真实的银行模型上,这一行把四列评为中,而在它之后十二行,net_contribution 上就有一项局限,这恰好是答案首先讲的那一列。现在该行的结尾会点出任何这样的列:“4 列总体为中;net_contribution 列另有一项已声明的局限”,以便您把评级和局限放在一起阅读。局限本身不会在这里重复:它讲的是变化如何在各个成因之间划分,而不是数字本身是否薄弱,并仍完整地保留在已知局限之下。当每一列都带有同一局限时,该行保持不变,拆分块会在数字上方一次性说明;当某一列已被点名为置信度较低时,该点名本身就已足够。
当答案已经说明成因之间的划分并不是一项发现时,评级会说明它评的是什么。 分摊在摊开一个池的同时不改变池的大小,所以在整个池的答案中,“流入的值”与“驱动因素”之间的划分是由这一算术所决定的,而不是测得的,答案在已知局限中以及在追踪的相应阶段都说明了这一点。其上方的评级过去写作“高(正常归因)”,而读到这里就停下的读者会认为成因已成定论,而同一页稍后又在撤回这一点。现在它写作“3 列总体为高(正常归因:按算术评级,而不是按变动原因评级)”,因此这一行自己就拒绝了那种读法。评级本身没有变化:数字仍然相互吻合,仍评为高。当这一划分是真正测得的,以及只有部分列是整个池时,该行与以往相同。
当各列共享一个原因,但测得的是该原因的不同数量时,原因旁边的数字是它们所测得的范围,例如“大体正常:在 3 列各自的变动中,最低 8%、最高 12% 是……之间的相互作用”,而不是用某一列的数字代表所有列。当它们测得相同的数量时,仍和以前一样给出单一数字。
当多列一起评级时,该行会说明答案是否以它解释得最差的那一列为主线。 追踪的每一步都会指出该列变动背后最大的单一因素,以及该因素解释了多少变动。这些数字在答案末尾各出现一次,每个步骤一个,而没有任何东西对它们加以比较:因此在某个汽车行业模型上,答案以 margin 开头,页面上唯一的成员拆分是 margin 的,只有底部的追踪才表明最大的单一因素解释了成本变动的 81%、收入变动的 79%,而对利润变动只解释了 60%。答案所依赖的数字,恰恰是其说法最不能自圆其说的那一个,而涵盖三列的那个评级正是读者会套用在它身上的。现在置信度一行会在结尾说明这一点:答案以哪一列为主线,它是否也是单一因素解释得最少的一列,每一列是否是同一个因素,该因素对各列分别解释了多少,以及其余的变动由其他因素及其相互作用承担,而不是缺失。这与置信度级别本身是不同的度量,它讲的是每一项变动如何在各因素之间划分,而不是金额。当差距很小、任何一列的划分被隐去,或者有两列并列最低时,不作任何说明,因为此时没有哪一列是答案解释得最差的,而点名其中一个就意味着要在两个相同的数字之间做出选择。
重新组合多个分摊分支的表,读法相同。 总体级别是各分支的平均,按每个分支的变动幅度加权,因此一个归因不太可靠的小分支会被大而正常的分支压过,您带走的数字是那个平均值。代理不太有把握的任何分支都会被点名,排在该数字之前:“对这些数字的置信度:Allocate Support Costs 分支为中;2 个分支总体为高”,并且它在各分支拆分中的那一行带有自己的级别,因此结尾一行所点名的分支总能在列表中找到。当一个分支涵盖多个值列时,会同时点出列名。每个分支的行还会给出其变化所处的两个数字,如 Allocate Support Costs: -$72,000.00 (from $120,000.00 to $48,000.00),这样就可以拿一个分支的变动与它自身的规模相比较,而不是把它当作一个孤立的金额来读,因为孤立的金额无法说明它是一个小分支的大部分,还是一个大分支上的舍入误差。数字带有注意事项的行会标记为 · carries a caveat,这与旁边的置信度级别是两回事:级别说明的是一个分支与整个答案相比如何,因此当所有分支都有同一个问题时,没有任何一个显得突出,而这恰恰是该拆分最值得加以限定的时候。当该块中的每个数字都受同一注意事项涵盖时,该块会在数字上方一次性说明,并指出这一注意事项影响的是各分支之间的比较:一个涵盖所有分支的疑问,如果被当作对每个分支的单独疑问来读,会促使您对金额打折扣却信任排名,而排名恰恰是这类注意事项最不可能放过的部分。按值列进行的拆分也采用同样的标记。
针对某一列或某一分支标注的级别,始终表示比整个答案更弱。与总体数字一致或比它更有把握的级别不加标记:标记是小心的理由,而不是宽心的保证。
结尾一行比这些标记更进一步:当某些列或分支比其余的更强,而最弱的一组都给出同一个原因时,即使该组只是等于总体级别而不是低于它,也会被点名,因为在总体级别上,级别本身不是新闻,原因才是全部要说的内容。当每一列或每一分支都处在总体级别时,不点名任何一个:这一行本来就是关于所有这些列或分支的。
同样的规则适用于追踪内部。 答案末尾的逐步说明过去会在每个步骤的注意事项上标上该步骤自己的置信度,因此一个以“低(部分归因)”开头的答案,可能在八行之后、数字所在的那个块中两次写出“注意事项(高置信度)”。同一个词,两种范围,页面上没有任何东西加以区分,而扫视数字的读者带走的是错误的那一个。现在只有当步骤的级别弱于整个答案时,才会写出置信度字样;否则这一行写作“注意事项:……”,注意事项本身不变。
当有两个因素使置信度保持在低位时,该行会同时点出两者。 过去,一个评级因期间数据分布不均以及上游链路中代理无法归因的部分而被压在中,却只打印了前者,因此只读到标签的读者永远不会知道更严重的那一半。现在它写作“对这个按科目拆分的置信度:中(期间覆盖不均;部分归因)”,这与该答案自己的开头摘要所说的一致。
追踪中的“Concentrated:”一行会指明其数字所针对的列。 追踪的每一步涵盖一个值列,当某一步的变化集中在单个成员上时,它会这样说明:“branch=REGIONAL = 70% of the delta”。该步骤在行首指明了它的列,但在涵盖多个列的答案中,这会被上方打印的拆分压过:在一个银行模型上,有两个步骤引用 REGIONAL 占 70%,而页面上仅有的几行是 net_contribution,其中 REGIONAL 在四项中排在最后,只占约五分之一的变动。两者对自己的列来说都是对的。现在这些行写作“占 funding_charge 变化的 70%:这是它自身的变化,而不是它在池中占比的变动”,并且判断是针对整个答案作出的,而不是逐行进行:两个步骤引用同一个百分比却讲的是不同的列,这是同样的混淆,即使不涉及任何拆分,所以要么每一条集中度的行都指明列,要么都不指明。只涵盖单列的答案,以及所有步骤都针对已拆分的那一列的答案,读法与以前相同。
追踪的每一步都会说明其数字涵盖哪些行。 把问题限定在某个切片时,会在该切片上运行其自己的步骤,而其上方的每个步骤则在整个池上运行,因为范围是针对您所问的那张表设定的,不会延伸到更早的表,而此前没有任何东西说明这一点。因此,同一个答案中的两个步骤分别显示 -$9,321,592.41 和 -$16,235,106.82,却无从得知第二个涵盖了第一个排除的行,这会诱使人做出看起来最自然的那一个除法,而它得出的是一个什么的占比都不是的数字。现在,步骤在其范围不一致时会带上自己的总体范围:在限定范围的那一步上标注 (entity=DE),在其上方的那一步上标注 (all entity values);如果整条链都使用相同的行,则不添加任何内容。双方都会标注,而不是只标注那个不寻常的:单独一行上的注释读起来像是关于该行的额外事实,而同一个注释出现在两行上,读起来则是它本来所是的对比。
“Concentrated:”数字会说明它属于哪一步。 当同一个答案中的两个步骤各自集中在同一个成员上,并且四舍五入后百分比相同时,它们打印出来是一模一样的,例如“account=600000 = 64% of the delta”出现两次,而对应的变化相差 $6.9m。每一行对自己的步骤来说都是对的;放在一起,它们读起来像是同一个发现被重复了一遍,而落在同一个百分比上,恰恰消除了让人去核对的提示。现在这些行写作“占第 1 阶段变化的 64%”,点名的是步骤而不是表,因为限定在某个切片上的步骤并不共享其表的总量,所以点名表就等于点名了一个这个百分比并非基于其计算的基数。当一个答案中有多于一条这样的行需要加以区分时就会出现,追踪和开头摘要中均是如此。
池守恒说明陈述算术所强制的那一半,并测量其余部分。 分摊不会改变其所划分的池的大小,所以某一步的组总量基本上不会把任何变动记到驱动因素名下:这一半是固定的,说明现在写的是变动中约有 ~0% 归于驱动因素总量。剩下的部分过去被说成是由流入的值承担,对应一个“~100%”,而这并非被强制的:当两个因素相互作用时,落在流入的值上的明显不到全部,而一个答案在自己的某个步骤报告 82% 的同时,其上方却带着这一说法。现在说明把剩余部分描述为在流入的值与二者的相互作用之间划分,只有当该步骤测得了“~100%”时才陈述它。说明的用途没有变:它告诉您,这一划分是分摊如何守恒池的一个属性,而不是关于任何成员的发现,并在您想了解成员之间的变化时,将您指向该步骤自己的表。
而陈述“~100%”的步骤,现在会在自己的那一行说明这是算术。 当一个步骤涵盖整个池,并且流入的值承担了全部变动时,它的追踪行过去读作“dominant:流入的值解释了 100% 的变动”,这是一句写得像发现的话,却出现在持怀疑态度的读者会略读的块中,因为它看起来像是推演过程。撤回它的说明在一个小节之外,而且只有一种步骤在数字下方带有它的简短形式;其他每个步骤的行只说这一划分“描述的是整个池”,读起来像是关于范围的说明。在一个四列的银行答案中,这意味着同一个 100% 出现了四次,却只有一次被称为机械性的,因此被标记的那个步骤读起来像是唯一可疑的。现在每个这样的步骤下方的那一行写作“仅限整个池:这一划分是算术,而不是驱动因素的发现;请筛选到某个成员以查看关键变化”。它不写任何百分比,因为同一行也会出现在答案隐去该划分的情形,以及开头摘要中位于另一列数字旁边的情形。而测得了真正主导因素的步骤,即问题被收窄到某个成员、池总量及该成员在其中的占比确实都发生变动的情形,保持不变。
不可能以其他方式得出的划分,不再作为发现领衔整个答案。 分摊在摊开一个池的同时不改变池的大小,所以在涵盖整个分组的答案中,变动背后各因素之间的划分,总是 100% 归于流入的值、0% 归于驱动因素总量,对每个分摊、在每个期间都是如此。这说明不了您的数据的任何问题,但它却在“Dominant:”一词下领衔开头摘要,而这正是读者去找发现的位置;答案随后两次撤回了它,一次在注意事项中,一次在已知局限中,都远在它有机会落到读者眼里的位置之下。读到这样一页的读者把它当作测量结果,得出驱动因素没有变动的结论,并且会取消对构成的任何调查,而这一页的下一行点名的恰恰是那个在池中的占比确实发生了变化的成员,从 64.8% 变为 70.3%。现在这一行写作“第 1 阶段的因素划分,不可能变化:分摊保持其所分配的总量不变,因此无论是什么引起了变动,都读作 100% 归于流入的值、0% 归于驱动因素总量。”两个数字仍然会打印出来,所以您仍然可以将这个答案与隐去划分的答案区分开来;而划分测得不到全部、两个因素确实相互作用的步骤,保留自己的数字,仍然读作发现。
占比变动数字会显示它所处于其间的两个占比。 当某个成员被指为一项变动的大部分,理由是“它在池中占比的变化”时,该数字是它占整个金额变动的比例,而不是它占池的比例,这是两件不同的事,而此前只打印了第一件。答案三次说明了这个数字不是什么(“这是它在池中占比的变动,而不是它自身的变化”),却从未说明它是什么,因此没有任何东西把“它的占比变了”与“变化的 71%”联系起来。当这两个度量接近时,这实际上有误导性:在一个保险模型上,所引用的数字是变动的 11.7 倍,而该成员自身的变化是变动的 12.3 倍,相差百分之五,并在页面上紧挨在一起,这会让您觉得区分二者的警告是吹毛求疵。现在这些行会带上这一对数字:“按其在池中占比的变化,从 26.5% 变为 18.2%”。完全不打印百分比的版本,用于成员的变动大于整个变动的情形,也得到了这对数字,而这是最有帮助之处,因为此前这句话完全没有任何数字。当池在比较的一端为正、另一端为负时,这两个数字不是任何东西的占比,因此被略去而不打印。
“低于构成发现的门槛”现在会说明门槛是多少。 当您提出问题而没有指定拆分维度时,代理会搜索可用的维度,并告诉您它找到的最接近的一个,即使没有哪一个强到足以报告:“branch 解释了相当于该列变化约 45% 的占比变动,低于构成发现的门槛”。您只知道某个数字没有通过一项检验,却从不知道检验是什么,所以无法判断它是差一点还是差得很远,而这恰恰是该句话引出的整个判断,且出现在唯一一种因为发现不确定才存在的答案上。现在它写作“低于构成发现所需的 60%”。这个门槛不是固定的:它随所检查维度的数量而上升,从 60% 到 80%,因此搜索了更多维度的答案会引用更高的门槛。当候选数字大于整个变动时,会写作倍数而不是百分比,并且不引用门槛,因为在“11.7×”旁边放一个百分比门槛,会自相矛盾。
追踪将并行的分支编号为分支,而把“阶段”留给层级深度。 答案末尾的逐步说明过去对所有内容采用同一种编号方式,而这种编号会因模型形态的不同而有两种含义。在追踪一条链的答案中,“阶段 2”为“阶段 1”提供输入,这是向上游的一次真实跳转。而在涵盖重新组合多个分摊分支的表的答案中,“阶段 1”到“阶段 4”是并排的四个分支,它们在汇合处重新组合,彼此从不相接,因此见过第一种答案的读者会把第二种当作一条四跳的链,画出一条并不存在的血缘。有一个答案对同样的两张表使用了两个词,相隔六行,在局限中称为“分支 1、2”,在追踪中称为“阶段 1、阶段 2”。现在并行的分支写作“第 2 个分支,共 4 个”,与答案其余部分已经对它使用的编号一致,而“阶段”只出现在一个步骤确实为另一个步骤提供输入的地方。当一个分支涵盖多个值列时,它保持一个编号,其各行由每行所点出的列加以区分。只重新组合一个分支的表写作“分支 1”,后面不带总数,因为数量为一不算数量。追踪一条链的答案保持不变。
每个分支在两处使用相同的名称,答案还会说明各分支彼此之间的关系。 各分支的数字以构建该分支的步骤命名,如 S1_cost_line_rev,而下方的逐步说明则以该步骤写入的表命名同一个分支,如 cost_line_rev,页面上没有任何东西说明这两者是同一个分支。当某个步骤的名称恰好包含其表名时,二者只是看起来相互对应;当它不包含时,Alloc_u867_minor 和 u867_branch_minor 没有共同的前缀,把它们对应起来全靠猜测。现在每个分支的数字都同时带上两者:“Alloc_u867_minor(写入 u867_branch_minor)”,步骤与其表同名的情形除外,那种情形无需再次提及。开头一行还会陈述其结构:“这 2 个分支是进入合并的相互独立的路径,彼此从不为对方提供输入”。“重新组合”曾是页面上唯一断言这一点的词,而要求仅凭标题画出模型的读者却画出了一条链。当各分支的数字确实合计为合并后的总量时,这一行也会说明这一点;当不能合计时,缺口会和以前一样,连同两个数字一起在已知局限中说明。
每个答案都会在您转发的那一行指明所比较的两个期间。 数字精确到分,却没有附着在任何东西上:没有一个答案在任何地方指明日期、季度或年份,因此一个数字无法与申报文件、试算平衡表或上一年的记录对应,而两个涉及连续时间段的答案,在页面上与两个涉及同一时间段的答案没有区别:一个税务答案以 $25,999,193.60 结束,下一个答案从这里开始,而两页上都没有任何东西说明原因。开头段落现在带有“比较的期间:2024 年 → 2025 年”,其顺序与旁边的“从 $X 到 $Y”这一对保持一致,使每个数字都附着在一个期间上,而不必由您去推算哪个对应哪个。当问题使用的是日期范围而不是单个标签时,会写出该范围;当代理无法可靠地陈述期间时(这种情形很少见,即答案中各步骤并未全部使用同一窗口),它什么都不说,而不是指明错误的期间。
货币是另一个问题,这里并未涉及:PlaidCloud 报告的是您的模型所持有的金额,并不知道其币种或任何折算基准,因此数字以不带币种的货币单位显示。在这一点重要的场合,例如横跨多个司法辖区的模型,或为申报文件提供数据的模型,请您自行在答案旁记录记账本位币。
当答案以单个数字领衔时,开头一行会陈述变化所处于其间的水平,而不仅仅是变化的百分比:it fell 7.2% (from $26,121,744.14 to $24,229,133.70)。由于每个答案都陈述了起点和终点,因此针对同一个切片、涉及连续期间的两个问题可以衔接起来:一个答案的期末数字就是下一个答案的期初数字。与它们一起引用的变化量,是打印出来的这两个数字之间的差,因此用一个减去另一个,就能得到答案所陈述的数字。在 2026 年 9 月之前,它是根据自己的精确总量四舍五入得出的,在变动很大时,可能与旁边的两个水平相差一分钱:三个数字各自的误差都在半分钱以内,却没有任何东西说明哪一个是不一致的那个。
当数字在两端都低于零时,开头一行描述的是余额的大小,而不是方向。“下降”对带符号的数字是正确的,但对大多数人心中所想的量则恰好相反,因此不断加深的亏损读起来像是在改善:net_contribution fell 23.5% (from -$12,917,012.01 to -$15,957,089.93) 实际上恶化了三百万美元,却用了一个扫视亏损行的读者会理解为相反含义的词来宣布。现在这一行写作 net_contribution went further below zero — the negative balance grew 23.5%,后面是同样的两个数字,而镜像的情形则写作“向零回升:负余额缩小了”。百分比不变:对于在两端均为负的数字,它变动的百分比恰好就是余额增大或缩小的百分比。答案仍然不会说这是好是坏,因为哪个方向是好的取决于该列,只有您知道。跨越零的数字保持使用普通的方向词,因为在那里它只有一种读法。
开头一行报告大幅上升和下降相互抵销的答案,同样会陈述这一对数字:“净额几乎没有变动(3.7%,从 $85,472,090.25 到 $88,668,890.26),但这掩盖了上下相互抵销的大幅变动”。这两个数字是池的,而不是净额的,所以它们使这一行的要点更加明确,而不是削弱它:$85.5M 的池内有 $3.2M 的变动,显然微不足道,而单独一个“几乎”则是对一个答案从未向您展示过的基数所作的判断。它仍然告诉您净额低估了所发生的事情,仍然引导您继续查看单个成员。报告没有重大变化的答案出于同样的原因带有同一对数字。
涵盖重新组合多个分摊分支的表的答案,以该表自己的总量开头。 它过去只以一个数量和一个方向开头:“在 4 个重新组合的分支中,4 个全部下降”,理由是重新组合的表没有可陈述的单一总量。其实它有:它是一张真实的表,代理直接从表中读取其总量。因此这一行现在写作“合并总量下降了 58.0%(从 $34,621,164.20 到 $14,535,705.89);在 4 个重新组合的分支中,4 个全部下降”,同比比较对这些答案的解析方式与其他每种形态相同。总量是从表中读取的,而不是将各分支相加得出,因为通过多条路径到达重新组合处的分支,在拆分中只列出一次,却在表中被计算了多次。当各分支的数字合计不等于表本身的变化时,答案会说明这一点并给出两个数字:“所示分支的数字($12,231,623.56)无法说明合并后的变化 $25,082,057.48”,而不是让您自己去加总一个对不上的列表。当总量确实无法读取时,开头一行与以前相同,答案会说明是什么条件使它无法读取:各分支分摊的是不同的值列,或者重新组合的表不含被汇总的那一列。
该开头一行还带有答案的评级,以及已归因的分支所剩下的部分。 这是答案中会单独流转的部分,它过去只给出合并后的变动和一个数量:“2 个上升,2 个无法归因”,而评级和缺口的规模则位于其下方九行。单独阅读时,那是一个正常的增长故事,而“2 个无法归因”读起来像是两个小到无法测量的分支;而在发现这一问题的那个答案中,它们是较大的一半。现在这一行写作“……在 4 个重新组合的分支中,2 个上升,2 个无法测量。已归因的 2 个分支使 $25,082,057.48 的变化中仍有 $12,850,433.92 无法说明。这个缺口是一个减法结果:无法测量的分支会产生它,表中被重复计算的行也会。对这一表面变化如何在各分支之间划分,置信度低。变化是否发生了,未予评级。”缺口自成一句,因为可能紧随这一行的警告,即变动可能是尚未完成加载的期间所造成的假象,是另一个问题,而把它作为尾随的从句展示给读者时,读者会认为它把缺口解释掉了。它给出的是剩余的金额而不是已涵盖的金额,因为只看到已涵盖数字的读者会带走“大约一半得到了解释”,而没有去做减法。评级在末尾自成一句,指明它涵盖什么,并明确说明变化是否发生并未评级;它过去以“归因的置信度低”的形式放在数字旁边的括号里,读者会把它当作对数字本身的判定。它只在低于高时才出现,与页面上的其他各处一样,因此各分支全部报告且评为高的答案,读起来与以前完全相同。剩余的金额是一个减法结果,这一行会如此说明。 单独阅读时,无法测量的分支数量与剩余的金额相隔仅一个从句,读者把后者当作前者,认为无法测量的分支就是缺失的金额。它们可能是;但通过多条路径到达重新组合处的分支,其行会被计算两次,同样会使这一金额扩大,而究竟是二者中的哪一个造成的,答案无从得知。因此这一行同时点出两者而不排出先后,其下方的局限说明也是如此,而不是把无法测量的分支当作原因。
当整个变动与两个期间之间的行数缺口相当时,答案会在开头一行说明。 两个期间所含的行数可能相差很大,最常见的原因是较晚的期间尚未完成加载,而答案一直都会对此发出警告。它过去没有做的,是把两个比例并排放置,而这是唯一能够确定问题的比较:在一个真实模型上询问为何德国的成本下降,返回的是“下降了 58.0%”,两个期间分别有 1,755 行和 754 行,而金额下降的比例几乎完全相同。因此整个 58% 都与加载了一半的期间相符,而警告写的是“此变化的一部分可能反映了不完整的数据”,这是对可能就是全部的东西所作的含糊表述。现在已知局限中的说明写作“较晚的期间所含的行数是较早期间的 43%,而此处报告的变化使其价值为较早期间的 42%:比例接近相同,因此这一变动正是行数缺口本身就会产生的结果”,并且开头一行带有同样的警告,而此前陈述 2000 万下降的重新组合分支答案根本没有任何警告。
它说这两个比例是接近相同而不是相同,因为这一措辞背后的检验允许它们相差几个百分点:当并排打印为 50% 和 45% 时,“相同的比例”就是与自己的数字相矛盾的句子。
该警告现在位于这一行的开头,而不是跟在数字后面。Short answer: 只读到第一个分句就停止,因此先陈述变动再加以限定的一行在转发时是干净的:在第一个逗号处截断后,传出去的只是一个精确到分的降幅。现在它以“这可能根本不是一个变化”开头,同时用角色和标签指出比较的哪一端偏短,例如“较晚的期间(2025)加载不足”,并在结尾请您检查被点名的那个期间,而不是“较晚的那个”,后者同样可能指表或指加载。当多个重新组合的分支全部朝同一个方向变动时,它会补充说明,这正是加载不足对每个分支同时造成的结果,因此它们的一致不应被当作确认,它恰恰是缺口本身产生的结果。而当变化的一部分无法归因时,说明剩余多少的那句话会带上警告自己的条件:“只有 2024 年完整加载时,那 1 个已归因的分支才会剩下……”。单独引用时,这句话读起来像是一个确定的金额,削弱了其上方的警告。
它明确说明这并不能确定是哪一种:加载不完整的期间与同等规模的真实下降,在这一度量上看起来完全相同,所以答案请您去检查加载,而不是告诉您变动并不真实。当金额没有随行数一起变动时,答案也会说明这一点,这是让人放心的另一半,此前同样无法获得。而当答案的任何部分涵盖的是行数分布均匀的期间对时,开头一行保持不变:一个重新组合的表在一个健康的分支上上升了 11.1%,旁边是一个小分支,其下降完全源于日历因素,那么它会直截了当地陈述其上升,并把薄弱的分支放在它所属的已知局限中点名。
因总量跨越零而拒绝作答的答案,现在会显示跨越零的那两个数字。 它没有可分摊的单一变化,这正是它拒绝作答的全部原因,但它确实有两端的金额,而它过去一个都没有打印。这样一页上唯一的一对期间数字是整张表的,两个都是正数,因此核对总量变为负数这一说法的读者发现页面与它相矛盾;并且答案在结尾要求您把两个期间作为各自独立的数字来读,而这两个数字恰恰是它所扣留的。现在这一行写作“无法归因(符号翻转):该切片从 $45,031,369.24 变为 -$20,776,630.76”,并指明这一对数字是您所问的切片还是整个列,因此不会被误当作页面其他位置打印的整张表的那一对。开头的摘要仍然不引用任何数字:以数字领衔的答案,正在做它所拒绝做的事情。
答案拒绝作答时,其建议的下一步针对的是它无法回答的那件事。 被拒绝的答案会说明追踪在何处停下,然后说明该怎么办,而这两者过去会脱节:“无法按所问的方式回答:结果表上没有预期的已分摊列。请将 cost_pool 作为目标单独追踪。”两半都是真的,而第二半与第一半毫无关系,因为这条建议是从代理沿链路各处注意到的所有事项中挑选的,而不是从真正停下的那个步骤挑选的,因此照做会把一次查询花在错误的地方。现在建议来自停下的那个步骤:缺少已分摊列时,会让您去检查那张表的列;尚未构建输入池时,会让您去运行构建它的工作流。当确实没有具体的可提供时,答案仍然会给出最接近的有用建议,而不是什么都不给您,并明确说明它针对的是另一个步骤。
被拒绝的答案会用通俗的话解释自己。 询问一张表而没有指明其期间列,且代理无法自行确定该列时,过去返回的是一个被引用得像是有含义的内部代码:“auto-detect returned ‘no_candidates’”。现在它会说明发生了什么以及该怎么做:“未提供期间列,且该表的列看起来都不像期间列。请显式传入 temporal_filter.column。”当不止一个列看起来同样可能时,它会列出这些列,因此答案本身就包含修复方法。说明为什么跳过同比比较的备注,读法也相同。哪些问题能够成功没有变化,变化的只是不成功的问题告诉您的内容。
置信度背后的归因质量:
- 正常:变化已完全归因于其驱动因素。这包括已筛选的分摊,即限定在特定科目的分摊:筛选器会自动应用,因此贡献项恰好就是范围内的行。
- 部分:代理可以展示变化了什么以及发生在哪里,总量和主要贡献项都是正确的,但无法自行完全归因为什么。它会告诉您原因,以及接下来该问什么。
您可能看到附在答案上的警告:
-
同比比较是在当前期间尚未结束的情况下测得的,或者没有上一年的数据可供比较,在这种情况下,它会说明没有基准,而不是把变化称为正常。
当有上一年时,答案会给出这一比较的两个方面:变化是正常、偏高还是极端,以及它在规模上如何比较:“规模正常:按绝对值计算为去年变动的 62%;2024 → 2025 变动了 +$6,183,330.15”,意思是这次的上升小于上一次。这个词本身回答的是这是否为异常,而规模回答的是它是否仍在加速,而这通常才是所问的问题。这个判定在词语本身上就带有它所针对的对象。 它评定的是一件事:这个期间的变化与上一个期间相比有多大,以货币计,而它过去只读作一个孤立的“正常”,被判定的对象在好几个分句之后,因此扫视这一行的读者停在这个词上,把它当作对整个答案的判定。之所以写“按绝对值计算”,是因为同一行还带有一个百分比变化,而这一比较是金额之间的比较,而不是比率之间的比较。由于它只在规模之间比较,当两个期间朝相反方向变动时,答案也会说明:“规模正常,方向相反”,并且是在百分比之前而不是五个分句之后说明,因为已经读到“正常”的读者不会读到那里。
其后的一句话给出了较早期间自身的增长率。 用货币来衡量两次变动的相对大小,并不能说明速度:一个在增长 31.2% 之后增长 14.7% 的数字,其增速已降到原来的一半以下,而上面的比较仍然称这次变动“规模正常”,因为以货币计的确如此。读到这样的答案的读者得出的结论是“一切照常”。现在答案在判定之后跟上“2024 → 2025 的变动相当于该期间期初水平的 31.2%”,读到这一句的读者则将这个期间描述为在减速。这句话有意只给出较早期间的增长率:这个期间的增长率已经在这一行的开头,把两者并排放置,会诱使人用一个去除另一个,而这会得出与判定旁边的百分比不同的答案,因为那个百分比比较的是金额,而基数在其下已经增长。判定本身不变,当无法指明较早期间时,这句话会被省略。
只有当两个期间确实相隔一年时,比较才被标为同比。 两个连续月份或两个连续季度的比较,与年度比较一样,是与一年前的同一窗口相比较的,但把它称为“同比”就等于说变化本身跨越一年,而实际并非如此。这些答案写作“与一年前相比”,并指明该窗口。度量方式没有任何变化,变化的只是标签所作的声明。
在加载了一半的期间上测得的同比判定会说明这一点。 当答案同时警告两个期间的行数分布不均,且金额随行数缺口同步变动时,该判定并不是对变动是否真实的第二种意见:它是一个比率,其分子就是受到怀疑的变动,因此尚未完成加载的期间会把判定拉向“正常”,其原因恰恰是答案正在警告的原因。现在它会说明这一点:“此判定是根据本答案中报告的变化计算的,因此不是对该变化是否真实的独立检验”,这样,“同比正常”的读数就不会被当作消除了其上方的加载警告。判定本身是一次真实的测量,仍然会给出。
上一年自身的变动会连同其涵盖的年份一起陈述,并且值得先于倍数阅读。 比较的意义取决于所对照的那一年,而在某一年中,大幅的上升和下降几乎相互抵销,使净额接近于零,那么其后的一年即使很平常,也可能得出一个非常大的倍数。在一个真实的保险模型上,上一年的净额为 +$1,792,719.72,而各成员的变动在两个方向上各约 2200 万美元,这使得一个平平无奇的下一年读起来是“极端:1325%”。点明倍数所对照的是什么,才能让您分辨这是大变动还是基数过小:两个金额都在这一行上,因此它们之间的百分比可以核对。现在这个金额也带有自己的期间,例如“2024 → 2025 变动了 +$1,792,719.72”,这样百分比所除以的数字就可以追溯到某一年,而不是“去年”这个词。当两者相差太远,不值得引用比率时,仍会给出该变动及其方向,而这恰恰是最重要的情形。
当无法进行同比比较时,答案会说明这一点,而不是保持沉默。 由一个同时分摊多个度量(如成本、收入和利润一起)的步骤所写入的表,既得不到与一年前同一变动的比较,也得不到与近期各期间的比较,而这两种比较正是把变动放到背景中的手段。每一种比较都是为涵盖单个度量的答案构建的,把三个度量中的一个当作答案来报告,比不运行它们更糟。到目前为止这一点都是无声的,因此对“利润为何在侵蚀”的回答带有一个降幅、一个拆分和一份逐步说明,却没有任何迹象表明,那个能告诉您这样大小的降幅是否正常的检查从未运行过。现在它写作“此答案不说明这样大小的变化在此处是否不寻常”,点出两种缺失的比较,并说明有一个步骤产生了所有这些度量,因此没有可以改问的单度量答案,而这正是读者否则会尝试的重新运行。它最后说明上面的任何数字都没有被撤回:金额是精确的,缺少的只是背景,而已知局限下的说明在其他情况下会被理解为对旁边数字的怀疑。同一句话还涵盖两种更窄的情形:无法向前回退一年的期间,此时它会指出可以回退的期间格式;以及自身合并总量无法读取的重新组合表,此时比较随总量一起消失。
-
一个整个分组的总量,其下隐藏着成员层面的重新洗牌。
-
一个因素一起变动的切片,因此标题百分比本身并不可靠。
-
一项变化,其已归因的各部分加起来不等于所报告的总量。
-
一项假设分析,其各目标的影响不能简单相加。
当结果为部分时,指引通常会引导您使用上面的切片深入分析,它能为单个成员给出真正的分解。
当代理替您选择拆分维度时
Section titled “当代理替您选择拆分维度时”当您没有指明字段时,代理会逐一尝试它能尝试的每一个字段并报告最强的那个,现在它还会告诉您最强的强多少,并点出排第二的字段:“在该度量上,account 的得分约为下一个候选 line 的 2.0 倍”。这个差距,就是一个占主导的驱动因素与三个看似合理的说法(其中最大的被选中了)之间的区别,在您依据它所选的字段采取行动之前,值得先读一读。它有意设计为一种比较,而不是第二个百分比,因为把两个度量方式不同的百分比并排放置,正是这些答案极力避免的混淆。当只有一个字段可以评分时,答案会如实说明,而不是提及一个并不存在的第二名。
有时没有任何字段胜出。当两个或更多字段的得分太接近而无法区分时,代理不会应用其中任何一个,并会说明这一点,现在它还会点出它们。每个字段都会给出其最强的成员,以及该成员自身的数字变动了多少,并与整个列的变化相对照,这样您就可以权衡这些并列的说法,而不是盲目选择:“候选为 program=I4 和 account=WARRANTY……program=I4 变动了 -$40,680,000.00,account=WARRANTY 变动了 -$32,270,411.54,而整个列变动了 -$16,590,844.99”。这些金额是其成员自身的变化,而字段评分所依据的是池中占比的变动,这是两种不同的度量,答案会说明哪个是哪个。这些候选也是相互重叠的,而不是在它们之间划分池,因此它们的数字不是同一个总量的组成部分:在上面的示例中,它们合计超过该列自身变化的四倍,把它们相加不能说明任何问题。除了为每个并列的字段各提供一条建议之外,答案还会提出同时按其中两个字段拆分变化,即交叉表,这是搜索从未评分的视图,因此它是作为可以运行的操作提出的,而不是作为一项发现。
当成员表只显示变动最大者而不是每个成员时,它现在会说明页面上实际包含了多少变化。“按 account、sales_document 的主要变动项(显示最大者)”这样的标题和“按 account 的全部变动项”这样的标题看起来很像,分量却截然不同:后者恰好加起来等于变化,而前者可能只是其中很小、很杂的一角。在一个模型上,二十行(没有一行达到 $110,000)位于 $9,321,592.41 的降幅之下,它们合计仅 $169,230.35,十三行下降、七行上升,因此这张表读起来像是对降幅的一幅杂乱图景,却只解释了不到百分之二,而“(显示最大者)”就是全部的警告。现在这张表在其各行之上带有一行说明:所显示的行中有多少行朝每个方向变动,它们的大小合计多少,它们净额合计多少,变化本身是多少,以及差额在未显示的成员之中。它位于各行之上,因此被复制出去时会随之一起带走。
两个合计都会给出,因为任何一个单独出现时都会被当作另一个。单独的净额,即上升和下降相互抵销之后各行合计的结果,读起来像是“这些是噪声,忽略即可”,而当它们的大小合计为该金额的五倍时,这是错误的;单独的总额则读起来像净额,这会夸大这张表所承载的内容。把这两种运算分开命名,才能使它们不被混淆。不给出百分比,这是有意为之,而不是遗漏:所显示的行可以与变化反向,也可以超过变化,因此变化的占比可能变为负数、超过百分之百或者四舍五入后消失,对同一个底层事实在每种情形下都需要不同的措辞。变化旁边打印的两个金额,一眼就能回答这个问题,并且在每个结果中含义一致。显示每个成员的表则不受影响:按定义它已经加起来等于变化,其标题也这样说明。
当表显示每个成员时,各行按定义加起来等于变化,但每一行是为显示而四舍五入到分的,而变化本身只四舍五入一次,因此在变动很大时,您手工相加的这一列可能与答案开头的数字相差一分钱。这一分钱不是错误,而页面上没有任何东西说明它是什么,于是核对这张表的行为反而受到了惩罚。当两者不一致时,这张表现在会在各行之上带有一行,给出两个数字,即各行的合计以及变化本身,并说明差额就是该舍入造成的。没有任何东西被调整以强行吻合:没有一行被挪动一分钱来使这一列合计相符,因此每一行仍然与其来源完全一致,您逐行核对的数字仍然是正确的。
成员表是作为排名来读的,这正是成员列表的用途,所以当两行显示相同的金额时,先打印的那一行读起来像是更大的问题。其实不是:没有任何东西区分它们,二者谁先谁后没有任何含义。在一个汽车行业模型上,两个成本中心各自变动了 -$1,738,461.53,而页面没有给读者任何方法来区分这与真正的第一名和第二名。现在,当各行显示相同的金额时,这张表会在各行之上点出它们,并说明它们以相同的金额显示,因此它们之间的顺序不是排名。它刻意说的是显示:比较的是所打印的数字,精确到分,而这一行可能紧接在一条说明这些数字已四舍五入的行之下。它不说顺序是如何选定的,因为这并不是答案总能核实的事情。完全没有变动的成员不按这种方式描述,因为两个零之间无需否认排名;而当表显示每个成员时,它们不再被列出。“按 account 的全部变动项”这样的标题,曾使两个在两个期间完全相同的科目以 $0.00 的行出现在页面上,而这是读者最有可能整块复制出去的区块。当表只显示变动最大者时,这些行会保留,因为在那里,一个 $0.00 的行告诉您排名已经到达发生了变动的内容的底部。没有任何数字发生变化:没有行被重新排序或调整,各行仍然加起来等于变化。
当表只显示变动最大者,而截取的位置恰好落在并列项上时,答案还会说明,有一个与最后一个显示的成员同样大的成员被排除在外。在这种情形下,并列所改变的不只是顺序,而是您究竟能看到哪个成员,而要求更多的行就是看到它的办法。
在带有多个值列的表上,答案打印的成员表是针对代理所搜索的那一列的,而这并不是答案开头所讲的那一列。标题说明了这一点,而它也仅此而已:在一个汽车行业模型上,答案以利润下降 $10,701,036.06 开头,而页面上唯一的表标题为“按 program 的全部变动项:cost”,榜首是一个变动 -$40,680,000.00 的项目。标题里的几个字就把一个成本数字与一个利润问题隔开了,因此最上面一行读起来像是降幅的成因,并带有一个四倍于它的数字。现在这张表自己就会说明,位于各行之上,因此被复制出去时会随之一起带走:“以下是 cost 的数字。答案以 margin 为主线,其中变动最大的成员不一定是这里排在最上面的那一个。”这段措辞先说明这些数字是什么,再说明顺序可能不同,因为知道排名可能不同,并不会阻止您把最上面一行当作成因。当您自己指明拆分维度时,每个列都有自己的表,二者始终一致,因此不会出现这样的说明。
当答案还点出了变化背后的主导因素,并给出一个百分比时,例如“该切片在池中占比的变化……解释了 73% 的变动”,成员表现在会说明这个数字不是其各行的占比。二者是对同一变化在不同轴上的切分:一个把它在背后的各因素之间划分,另一个把它在各成员之间划分,二者互不属于对方。两个数字都是对的,这正是让读者去寻找二者联系的原因:在一个税务模型上,一位读者沿着 73% 去追溯四个科目的 55.6%、23.9%、12.7% 和 7.8%,没有发现任何组合能得出它,因为本就没有。现在这张表写作“这些行是按 account 拆分的变化。针对这一变化陈述的因素百分比回答的是另一个问题,即哪个因素发生了变动,因此这里没有任何一行属于该百分比。”,位于各行之上,因此被复制出去时会随之一起带走。它只出现在因素百分比低于 100%,且所显示的行涵盖了全部变化的情形:在 100% 时没有可去寻找的剩余部分,而当表只显示变动最大者时,它已经说明其各行加起来不等于变化。没有任何数字发生变化。
在带有多个值列的表上,代理建议的拆分针对的是答案开头所讲的列,而这并不总是它所搜索的列。在一个模型上,故事是在 cost 中发现的,而建议的拆分返回的却是关于 margin 的,这是另一个列,由另一个项目领衔,榜首的数字要小一个数量级。两者都是对的。现在这条建议会点出两个列,并警告说领衔的成员也可能不同,而不仅仅是百分比,这样以一个出乎意料的名称开头的列表,就不会被当作自相矛盾。当答案涵盖单个列时,二者是同一个,不会出现这样的警告。
当最强成员的占比变动大于整个净变化时(在大幅上升与下降相互抵销的池上很常见),答案会以倍数而不是荒谬的百分比来给出该规模:“按占比变动计算,超过整个净变化(11.7×)”。当连这一点也无法合理陈述时,它会解释这两种度量是什么,而不承诺二者会明显不同。
这条警告以及它旁边的建议现在都不再承诺该拆分中某个成员的百分比会与所引用的数字不同。在任何答案中,成员表都不打印每个成员的百分比,各行都是金额,因此该警告所设定的比较根本无法进行:您照做之后得到的是金额数字,找不到任何东西可以用来核对这条警告,于是理所当然地对页面的其余部分也打了折扣。现在两者只说明这两种度量是什么,仅此而已:所引用的数字是该成员在池中占比的变动,而拆分报告的是每个成员自身的变化。
每个答案还会以建议的下一步结尾,按最可能有帮助的顺序排列。当答案警告大幅上升和下降正在相互抵销时,第一条建议会把问题收窄到变动背后的那个成员,即其自身的上升或下降相对于标题变化最大的那一个,运行之后会得到该成员自身的变化,警告通常也随之消除。当您没有指明字段时,代理会自己选一个,而在涵盖单个列的答案上,它选的字段就是上方成员表已经按其分组的字段,因此按它拆分变化的建议返回的是同一张表。更糟的是,旁边的说明还警告说这些数字将与您正在读的不一致,而它们其实完全一致,这会让您对其他建议也打折扣。现在不再提出这条建议。当搜索为第二个字段评过分时,答案改为提出那一个,即以不同的方式切分同一变化,这是您还没有的视图;它与利润率在其出现的任何地方所点出的是同一个第二名,因此两者绝不会点出不同的字段。当没有其他字段得分时,这条建议被舍弃。仅当舍弃它会使答案完全没有下一步时才保留,因为告诉您尝试另一个字段却又不提供任何字段的答案,比一条含糊的建议更糟。而当运行原来的建议确实会报告另一个列时,它会保留。当搜索以并列告终时,建议会逐一涵盖每个并列的字段,然后再加上一条同时按其中两个字段切分变化的建议,并排在最后,以便单字段建议保持其顺序。
涵盖多个值列的答案会提出收窄到某一个成员。 它的变动项列表按成员拆分一个列,其他列则针对整个切片报告。因此这样的页面唯一无法告诉您的,就是单个成员在所有列上做了什么,比如哪个分支承担了融资费用降幅的大部分,以及它的利息收入同时有什么变化。现在答案会建议使用一个指明该列表中某一成员的 target_filter,并说明上面的行涵盖的是一个列。它不会指明该列表所按的字段,尽管各行上方的标题会指明:由作者键入的字段名称若进入正文,可能恰好拼出另一条注意事项必须使用的关键词,然后就会在丢失了这条注意事项的页面上验证该注意事项是干净的。当它已经出于更强的理由提出收窄时(描述整个池的数字,或相互抵销的上升与下降),它保留原有的建议。在此之前,陈述了一项发现而没有其他建议可提的答案,会在最后一行结束,没有任何可以运行的内容。
当有多个步骤写入追踪所停在的那张表时,选择其中一个的建议会说明选择意味着什么。 答案会列出该表每个已启用的步骤,以及可粘贴的 id,运行其中一个会让追踪经过该步骤继续进行。它不会把变化收窄到该步骤:当各步骤的行重叠时,返回的数字涵盖所有步骤,返回的答案也会这样说明。各行可能重叠,这正是答案不替您选择步骤的原因。这条建议过去把自己描述为将变化归因于所点名的那个步骤,同一页自己的局限则与此相矛盾。现在描述追踪这一步的那一行会陈述有不止一个已启用的步骤产生这张表,而不是说其中某一个可能产生。
该警告会陈述其所应用的检验,以便您核对:它出现在某个成员的变动、该成员在池中占比的变动,或某个因素的贡献,至少比整个净变化大四分之一的情形。是三种度量而不是一种,因为一个成员在池中的占比可能变动该成员自身变动的好几倍,所以只点名成员的规则虽然可以核对,但对这些答案却是错的。它过去把自己解释为“最大变动项本身就超过净差额”,这与代理实际使用的检验不同,而且更为宽松,因此按字面理解并在下一个答案上核对它的读者,发现这条规则似乎失效了。超过净变化但没有超出四分之一的变动,只是轻微的超出,而不是这条警告所针对的相互抵销的剧烈波动,这些答案会在没有该警告的情况下按其自身情况评级。
随后警告会给出测量结果,以便您看到答案实际超出那四分之一多远:“此处 account=LAE 变动了 +$22,067,919.71,其大小超过整个净变化 +$1,792,719.72。”阈值是下限,触发它的报告通常远远高于它,除非说明数字,否则净变化十二倍的保险模型与一倍半的读起来一样。两个数字都带有符号,比较针对的是大小,因此在上升的总量中下降的成员,读起来就是它实际所是的抵销性变动。当触发警告的不是单个成员自身的变动,而是占比变动或某个因素的贡献时,这句话会点出该度量而不引用数字,因为这些度量的数字已经在答案的其他地方陈述,或者会与另一个数字放在一起而读起来像是自相矛盾。
点出集中成员的那一行说明变动被其他地方的反向变动抵销,不再描述抵销的程度。它过去写作“其他部分抵销”,一个词涵盖从百分之几到九成以上的所有情形。在一个保险模型上,一个科目变动了 $22,067,919.71,而整个净变化只有 $1,792,719.72,反向变动抵销了该科目上升的九成以上,而“部分”告诉读者的几乎与实际情况相反。
涵盖多个重新组合分支的答案,会提出其中一个分支供继续追踪。 代理不会把问题追溯到各分支汇合的位置之前,因此这里就是它把线索交还给您的地方:它会指出一个分支和一张用来单独接着追踪的表。所提出的分支,是它能够点名并且已经归因的分支中变动最大的一个,在它无法归因其中任何一个的情形下,则保留其明确的拒绝;并且它不会把自己描述为最大的,因为上方的各分支列表已经显示了每个分支的变动,您可以自己看到排名。
- 指明表和期间。“
cost_line_rev从 2025-01 到 2025-02 为什么发生了变化?”得到的答案比“成本为什么变化?”更有针对性。 - 选择一个真实的前后期间,并且是您可以做合理性检查的变动。
- 如果代理分析了错误的表,请明确指出项目和表,这样它就不必猜测。
- 连接 AI 编码代理:通过 MCP 将代理连接到工作区
- 分摊结果:结果表包含哪些内容
- 分摊故障排除:对账失败时怎么办