[{"data":1,"prerenderedAt":282},["ShallowReactive",2],{"docs-doc-\u002Fdocs\u002Fmechanism\u002Fmetrics-contract":3,"docs-live-paths":231},{"id":4,"title":5,"body":6,"description":217,"extension":218,"meta":219,"navigation":226,"path":227,"seo":228,"stem":229,"__hash__":230},"content\u002Fdocs\u002Fmechanism\u002Fmetrics-contract.md","指标口径：定义与校验",{"type":7,"value":8,"toc":207},"minimark",[9,27,32,39,61,64,67,74,89,100,104,111,118,132,135,140,144,147,161,164,170,176,182,185],[10,11,12],"blockquote",{},[13,14,15,16,21,22,26],"p",{},"本文解决什么问题：",[17,18,20],"a",{"href":19},"\u002Fdocs\u002Fconcepts\u002Fmetrics","经营指标体系","讲清了「同一词汇 = 同一数字」是平台主张；这篇回答紧接着的问题——",[23,24,25],"strong",{},"一个指标到底怎么被定义进字典、凭什么保证它到处一致、改了会怎样","。机制层讲清楚，业务侧才敢放心把「销售额=多少」交给平台去对齐。",[28,29,31],"h2",{"id":30},"一句话机制指标是定义不是各算各的","一句话机制：指标是「定义」不是「各算各的」",[13,33,34,35,38],{},"平台里的报表、看板、AI 数据解读，都不自己「发明」怎么算一个数，而是",[23,36,37],{},"引用指标字典里的一条定义","。指标字典把「口径」收敛到唯一一处——这是全平台同一个词出现同一个数字的根本原因。",[40,41,42,49,55],"ul",{},[43,44,45,48],"li",{},[23,46,47],{},"报表"," = 「指标 × 维度」的一次查询配置，它引用指标，不重复定义指标；",[43,50,51,54],{},[23,52,53],{},"看板\u002F驾驶舱"," = 基于报表或指标的可视化呈现；",[43,56,57,60],{},[23,58,59],{},"AI 数据解读"," = 引用同一份指标定义来组织回答中的数字。",[13,62,63],{},"三处消费端共享同一份定义，所以「报表里说的销售额」和「AI 说的销售额」天然一致——不是靠大家约定好，而是靠它们本来就指向同一个定义。",[28,65,66],{"id":66},"一个指标包含什么",[13,68,69,70,73],{},"指标字典里的每条指标，通常同时包含",[23,71,72],{},"两层表达","：",[75,76,77,83],"ol",{},[43,78,79,82],{},[23,80,81],{},"人读口径","——用业务语言说明这个数是什么、算什么、不含什么。例如「销售额 = 已完成订单的金额合计，不含取消\u002F未支付的订单」；",[43,84,85,88],{},[23,86,87],{},"可执行公式\u002F数据来源","——平台实际怎么算出来、从哪些字段取数。",[13,90,91,92,95,96,99],{},"两层必须",[23,93,94],{},"对齐","：人读口径描述的就是公式实际计算的，不允许「文档说一套、程序算一套」。这种「口径与实现一致才成立」的约束，可以理解为——",[23,97,98],{},"口径是平台与业务方之间的一份合同","。",[28,101,103],{"id":102},"为什么预置指标更重要不用从零发明口径","为什么预置指标更重要：不用从零发明口径",[13,105,106,107,110],{},"业务方最头疼的往往不是「算」，而是「",[23,108,109],{},"我们到底怎么定义销售额","」——这事自己拍板容易和财务打架。",[13,112,113,114,117],{},"平台按业务域",[23,115,116],{},"预置了行业常用指标","（销售、库存、订单等域），选择模板即自带。预置指标的口径已经按通行业务逻辑定义好，例如把「销售额」与「订单总额」拆成两个指标：",[40,119,120,126],{},[43,121,122,125],{},[23,123,124],{},"销售额","：已完成订单的金额（净额口径）；",[43,127,128,131],{},[23,129,130],{},"订单总额","：含取消\u002F未支付在内的流水口径。",[13,133,134],{},"两个词各归各位，报表里用到哪个就用哪个——不再有「同一列到底含不含取消单」的争论。企业要做的是在预置基础上按自身情况微调与补充，而不是从零定义一套。",[10,136,137],{},[13,138,139],{},"需要自定义时也支持：在预置之上新增自定义指标（给出口径 + 公式 + 适用维度），纳入字典统一管理——但它同样要满足「口径与公式一致」的约束。",[28,141,143],{"id":142},"变更怎么受控改口径是动合同","变更怎么受控：改口径是「动合同」",[13,145,146],{},"指标定义一旦被报表、看板、AI 引用，就成了多方依赖的契约。因此变更不是随手改个公式：",[40,148,149,155,158],{},[43,150,151,154],{},[23,152,153],{},"口径调整会影响所有引用它的消费端","——一处定义变化，报表\u002F看板\u002FAI 同步读到新口径（这正是「同源」的好处，也是为什么改口径要谨慎）；",[43,156,157],{},"涉及口径歧义或历史口径更正的调整，需要有明确的判定与记录，而不是各报表自行改算法；",[43,159,160],{},"平台将指标定义作为资产沉淀，口径随系统归属企业、可随项目迁移——换系统或人员变动，不需要重新发明「销售额是什么意思」。",[28,162,163],{"id":163},"常见疑问",[13,165,166,169],{},[23,167,168],{},"我不想用预置的「销售额」口径，想按自己公司来，能改吗？","\n可以。预置口径是起点而非终点——在业务实施时按您公司的实际定义调整或新增指标即可。调整后，引用该指标的所有页面与 AI 解读会基于新口径。",[13,171,172,175],{},[23,173,174],{},"报表能不能不算指标、自己写个算法？","\n从平台机制上不鼓励这么做——绕开字典另算，等于把「口径」散落到单张报表，正是口径分裂的源头。需要新口径时，正确做法是进字典新增\u002F调整指标，再让报表引用它。",[13,177,178,181],{},[23,179,180],{},"AI 会自己编一个口径吗？","\n不会。AI 数据解读引用的是字典里已定义的口径——它不发明「销售额怎么算」，只按您企业定义的口径、基于您企业的数据作答。",[28,183,184],{"id":184},"相关阅读",[40,186,187,193,200],{},[43,188,189,190],{},"口径体系的价值与全貌 → ",[17,191,192],{"href":19},"经营指标体系 · 口径字典",[43,194,195,196],{},"数据从哪来、口径由谁喂给 AI → ",[17,197,199],{"href":198},"\u002Fdocs\u002Fconcepts\u002Fcore","动态数据模型 · 衍枢",[43,201,202,203],{},"演示系统里的经营概览即这套链路的最小落地 → ",[17,204,206],{"href":205},"\u002Fdocs\u002Fquickstart\u002Fdemo-30s","在线演示",{"title":208,"searchDepth":209,"depth":209,"links":210},"",2,[211,212,213,214,215,216],{"id":30,"depth":209,"text":31},{"id":66,"depth":209,"text":66},{"id":102,"depth":209,"text":103},{"id":142,"depth":209,"text":143},{"id":163,"depth":209,"text":163},{"id":184,"depth":209,"text":184},"「口径=合同」——一个指标怎么被定义、怎么保证报表与 AI 引用的是同一份、变更如何受控。本文讲经营指标字典背后的定义与校验机制。","md",{"audience":220,"type":221,"section":222,"pr_order":223,"role":224,"duration":225},"public","mechanism","框架机制与边界",3,"实施搭建者 \u002F 业务分析","约 5 分钟",true,"\u002Fdocs\u002Fmechanism\u002Fmetrics-contract",{"title":5,"description":217},"docs\u002Fmechanism\u002Fmetrics-contract","0dY_WXWZKLLGd9OVc9stHKQqLEjQGuUwx7oAzvs4Jwo",[232,234,236,237,239,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,271,273,275,277,278,280],{"path":233},"\u002Fdocs\u002Fconcepts\u002Fai",{"path":235},"\u002Fdocs\u002Fconcepts\u002Fai-team",{"path":198},{"path":238},"\u002Fdocs\u002Fconcepts\u002Fflux",{"path":19},{"path":241},"\u002Fdocs\u002Fconcepts\u002Fview",{"path":243},"\u002Fdocs\u002Fdemo-center",{"path":245},"\u002Fdocs\u002Fdeploy\u002Foverview",{"path":247},"\u002Fdocs\u002Ffaq",{"path":249},"\u002Fdocs\u002Fglossary",{"path":251},"\u002Fdocs\u002Fguide\u002Fai-kb",{"path":253},"\u002Fdocs\u002Fguide\u002Fcrud",{"path":255},"\u002Fdocs\u002Fguide\u002Fdb-connect",{"path":257},"\u002Fdocs\u002Fguide\u002Fmodel-gen",{"path":259},"\u002Fdocs\u002Fintro\u002Fframeworks",{"path":261},"\u002Fdocs\u002Fintro\u002Foverview",{"path":263},"\u002Fdocs\u002Fintro\u002Fvalue",{"path":265},"\u002Fdocs\u002Fintro\u002Fwhy",{"path":267},"\u002Fdocs\u002Fmechanism\u002Fai-employee-task",{"path":269},"\u002Fdocs\u002Fmechanism\u002Fdata-flux",{"path":227},{"path":272},"\u002Fdocs\u002Fmechanism\u002Fpermission",{"path":274},"\u002Fdocs\u002Fmechanism\u002Fpublish",{"path":276},"\u002Fdocs\u002Fquickstart\u002Fclone-template",{"path":205},{"path":279},"\u002Fdocs\u002Fquickstart\u002Ffive-minutes",{"path":281},"\u002Fdocs\u002Fsystem\u002Foverview",1788586879703]