跳到主要内容

为什么 LLM 在分析你的产品数据时会犯自信的错误

· 阅读需 12 分钟
Tian Pan
Software Engineer

产品团队已经开始直接将分析问题路由给 LLM:“是什么导致了流失率激增?”“为什么重新设计后转化率下降了?”“我们应该把留存预算重点花在哪个群体上?”输出结果出现在高管汇报幻灯片中,驱动着路线图决策,并向投资者展示。模型以优雅的文字和具体的数字自信地作答。然而,这些答案中有很大一部分是以一种不易察觉的方式出错的。

这并不是对用 LLM 处理数据工作的全面批评。在某些任务中,它们确实很有帮助。问题在于其失败模式是隐形的——模型不会留有余地,不会说明局限性,也不会区分“我是根据你的数据计算出来的”和“我生成了一个听起来像这个数字应该是多少的东西”。了解故障发生位置的从业者可以捕捉到真正的价值并避开雷区。

分母问题

产品分析中最常见的错误是对分母处理不当。LLM 在计数问题上表现挣扎——具体来说,是难以理解某个比率或百分比适用于哪个群体。这表现为两种变体。

第一种是直接倒置。当要求 LLM 分析第四季度的购买行为时,它可能会报告“50% 的核心用户在第四季度购买了”,而实际数据却显示“第四季度购买者中有 50% 是核心用户”。数字虽然相同,意义却截然相反。模型生成了听起来符合模式的内容,却没有追踪条件化的方向。

第二种变体是过滤数据集盲区。如果你交给 LLM 一个仅包含查看过新结算流程用户的 CSV 文件,它就无法代表那些没有查看过的群体。它会把这个子集当作完整的用户基数进行分析。当它报告“45% 的转化率”时,实际的分母排除了在看到该功能之前就流失的用户、看到旧流程的用户以及在路由中遇到错误的用户。模型不知道它看不见的东西,而且它也不会问。

在实践中,这意味着 LLM 从过滤或预聚合数据集中报告的任何指标都需要进行显式的分母核实。不能信任模型会追踪哪些行被排除了,以及这些排除是否改变了对数据的解读。

自信的虚假相关性

LLM 会识别统计关联并将其表现为解释性的。当你向它们展示行为数据中的事件序列时,它们会将时间顺序映射为因果关系:功能 X 于 1 月 15 日上线。流失率在 1 月 20 日激增。结论:功能 X 导致了流失激增。

这就是“后此谬误”(post-hoc fallacy)。定量衡量这一点的研究显示,当事件按相反顺序叙述时,因果推理任务的准确率会下降约 32 个百分点。模型的自信程度并不会随着顺序的反转而改变——它在两个方向上都会给出一个自信的错误答案。

更深层次的问题是混杂变量是隐形的。分析客户折扣数据的 LLM 可能会自信地断言“高折扣客户流失更多”,而没有建立模型来反映折扣是由于产品契合度本来就很差才不成比例地发放给这些客户的。模型看到了相关性并报告了结论。它看不见折扣分配本身是由预测流失的同一因素驱动的。

聚合反转——辛普森悖论(Simpson's Paradox)——加剧了这一问题。一个整体满意度高于竞争对手的产品,在每个单独区域的满意度可能都更低,其整体趋势完全由市场构成驱动。分析聚合数据的 LLM 会将整体趋势报告为发现,而不会按子组进行拆解,也不会提醒子组反转是有可能的。

模型看不见的选择偏见

当你查询行为数据时,你交给 LLM 的数据集总是较大群体中被过滤掉的一个切片。使用了某项功能的用户。提交了支持工单的客户。完成转化的会话。模型无法代表那些从未出现的用户、默默离开的用户或被上游过滤逻辑排除的用户。

这对于留存分析尤为重要。在已经留存了 90 天的用户数据集上执行“向我展示哪些功能与 90 天留存率相关”,这是幸存者分析(survivorship analysis),而不是留存分析。模型会分析幸存者并对导致留存的原因生成自信的结论,而不会指出整个分析群体都是根据结果变量筛选出来的。

调查和反馈数据也存在同样的问题。提交 NPS 评分、流失调查或功能请求的用户与不提交的用户有着系统性的差异。分析提交反馈的 LLM 会将你的用户群刻画为“提交反馈的子集”。如果核心用户提交反馈而普通用户不提交,你将围绕核心用户的偏好构建产品故事,而你更广泛的用户群则在悄无声息地流失。

如果没有关于被排除内容的显式信息,模型无法自行修正这一点。缓解措施是在提示词中清晰描述数据集的构建方式,并要求模型在得出任何结论之前,先描述分析所适用的群体特征。大多数 LLM 在有明确约束时会遵守这一点;但没有一个会自发地执行它。

幻觉指标

这是一个不同于上述情况的失败模式:LLM 有时会生成数据中根本不存在的具体数字。这是最直接的幻觉类型,但在分析场景中特别危险,因为这些数字看起来非常合理。

“重新设计后转化率从 3.2% 提升到 4.8%”这类陈述很容易通过粗略的阅读。如果实际转化率是 3.5%,而模型根据符合重新设计后“应该”有的提升模式生成了第二个数字,错误将不会在输出本身中显现出来。模型没有机制来区分“我是根据你的数据计算出的”和“我生成了一个符合叙事的数字”。

当 LLM 被用于编写关于预先计算好的仪表板的报告时,风险较低,因为指标是由确定性工具计算的,而 LLM 只是在进行解释。当要求 LLM 直接从原始数据计算指标或描述它们看到的趋势时,风险要高得多。在进入任何决策环节之前,请务必将 LLM 生成的分析中的任何具体数字与源数据进行核实。

当 SQL Gets Generated

被要求编写分析查询的 LLM 生成的 SQL 在语法上是有效的,但在语义上出错的频率比从业者预期的要高。这些失败是具体且反复出现的。

“错误分母”问题出现在 GROUP BY 逻辑中。请求“按获取周期(acquisition cohort)计算流失率”可能会产生一个使用总用户数作为分母,而不是特定周期用户数的查询,从而生成看起来合理但针对错误群体计算的百分比。查询可以运行,返回行,并且没有任何信号表明逻辑是错误的。

聚合错误——在需要 SUM 的地方使用 MAX,或在需要 COUNT DISTINCT 的地方使用 COUNT——是第二类错误。如果没有关于事件表行代表什么(每行一个事件 vs. 每行一个会话 vs. 每行一个用户)的显式语义,模型会生成看起来合理但可能与你的数据模型不匹配的聚合。

最可靠的缓解措施是语义层:明确记录每个字段的含义、每个表的主键以及适用的过滤假设。当团队仅提供 Schema(表名、列名、类型)时,Text-to-SQL 的准确率比纯瞎猜略有提高。当团队提供显式的业务逻辑时——“每一行代表一次购买事件,用户可以有多个行,user_id 是关联用户表的键”——准确率会大幅提升。模型需要的是业务含义,而不仅仅是数据形状。

LLM 真正擅长的事情:假设生成

上述失败模式有一个共同的特征:LLM 被要求产生一个需要它并不具备的统计严谨性的结论。对此的安全反转是将 LLM 用于假设生成,其输出是候选解释,然后由统计工具进行验证或证伪。

“这是一个 30 天流失率异常高的群体。请生成十个可能解释这一现象的假设”是 LLM 能够很好完成的任务。输出是一组候选方案,而不是结论。在任何方案成为结论之前,这些候选方案都要经过留存校验(holdout validation)、A/B 测试或适当的因果分析。LLM 做的是构思(ideation),而不是推断(inference)。

这种框架捕捉到了真正的价值。LLM 通过对大量产品、工程和业务内容的训练,具有广泛的模式识别能力。它们可以提出处于高压状态下的分析师可能没有考虑到的假设。它们可以将行为模式与文献中存在的机制联系起来。它们可以建议在回归模型中包含哪些控制变量。

这一切都不需要模型在统计上是正确的。它要求模型具有创造性,并生成足够多的合理候选方案,以便正确的方案能出现在列表中。当遗漏真实解释的代价很高时,假设的召回率比准确率更重要。统计验证负责后续的准确率把控。

有效的工作流程:

  1. 向 LLM 提供一个描述清晰且明确指定了群体的异常情况
  2. 要求提供多个相互竞争的假设,而不是单一的结论
  3. 根据可测试性和预期的影响大小对假设进行排序
  4. 使用恰当的实验设计对排名靠前的候选方案进行统计验证
  5. 报告通过验证的结果,而不是 LLM 生成的解释

降低风险的落地模式

对于 LLM 围绕预先验证过的指标生成叙述的用例,有几种实践可以降低幻觉率。

显式提供数字。将实际的指标值粘贴到提示词中。“Q3 的转化率是 3.5%,Q4 是 3.8%。请为周报编写这一趋势的解读。”现在模型是在叙述事实,而不是计算事实。幻觉仍然会发生——模型可能会虚构趋势的原因——但当它不负责数字本身时,幻觉会受到更多限制。

要求引用提供的数据。“你的解释应仅引用提供的数据,并指明你提出的任何主张是否没有得到所给数字的支持。”这不能消除幻觉,但会创建一个输出结构,让没有根据的主张变得更加显眼。

明确指定分母。“该数据集包含 12,400 名在 Q3 完成新手引导的用户。Q3 开始新手引导的总人数为 38,200。请在意识到这代表了 32% 的新手引导启动量的基础上,分析该群体的留存情况。”这为模型提供了避免误读群体特征所需的信息。

在任何输出指标进入下游之前进行验证。LLM 生成的分析中,任何将用于决策的具体数字在离开团队之前,都应追溯到数据源。这不是提示词工程的修复方案,而是一个操作约束。

组织性风险

LLM 生成的分析结果最危险的特性在于其输出的展示质量。一个包裹在自信且组织严密的散文中的错误结论,比在电子表格注释中犹豫不决地呈现的错误结论更难受到挑战。这种修饰感产生了权威性。那些将 LLM 视为分析师的团队——向其抛出问题并在决策环境中使用其输出——正押注于模型的失效模式不会降临在他们身上。

这种赌局起初可能很顺利,直到某项路线图决策是基于虚构的转化率提升而制定的,或者某笔留存投资被投向了受幸存者偏差影响而产生的群体。事后发现分析有误,其代价与该分析所影响的决策重要程度成正比。

有效的思维框架是将 LLM 视为初级分析师:他们速度极快、模式知识广博,但在统计严谨性上并不可靠。在将他们的输出放入演示文稿之前,你 需要进行审核。你 需要核实数据。你 需要通过实验来验证因果声明,而不是通过更有信心地再次询问模型。速度优势依然存在。风险得到了管理。

具体启发式方法是:如果问题是“生成关于什么可能解释 X 的假设”,LLM 是有用的。如果问题是“确切地告诉我什么是导致 X 的原因”,那么统计工具拥有该答案,而 LLM 仅在分析完成后对叙事进行审阅。

References:Let's stay in touch and Follow me for more thoughts and updates