致知录
第 XI 卷 · 第 16 篇 · Bonus Models · 1970.01.01

古德哈特定律:当指标变成目标

额外模型 · 1970.01.01 · 11 分钟阅读 · 2,629 字
目录 · 17
"当一个指标变成目标时,它就不再是一个好指标。"——任何被用来衡量绩效的指标,最终都会被"玩坏"。

预计时间:25 分钟读完 + 25 分钟做练习 = 50 分钟。

本课核心论点
古德哈特定律(Goodhart's Law)是经济学家 Charles Goodhart 1975 年提出的观察:当一个指标被用作考核工具时,人们会开始优化这个指标本身——而不是指标本应衡量的真实目标。结果:指标上涨了,但真实情况没有变好,甚至可能变差了。这解释了为什么"只看 KPI"的管理方式总是适得其反。

一、古德哈特定律的运作机制

1.1 指标的「测量-扭曲」循环

  1. 设定指标:「我们要用代码行数来衡量开发效率」
  2. 指标变成目标:开发人员开始关注「怎么产出更多代码行数」
  3. 行为扭曲:不用更简洁的代码,写更冗余的代码;一个函数能解决的写成 5 个
  4. 指标上涨但真实目标下降:代码行数涨了,但代码质量、可维护性、开发速度都下降了
  5. 指标失效:原来用来衡量「效率」的指标,现在跟效率没关系了

二、科技/项目中的经典例子

指标本意扭曲行为结果
代码行数衡量开发效率写冗余代码、复制粘贴质量下降
Bug 修复数衡量 QA 效率只报小 Bug、不抓大问题严重 Bug 被忽略
任务完成数衡量团队产出把大任务拆小、选简单的做真正的重点任务被推迟
用户满意度评分衡量服务质量诱导用户给高分分数虚高,真实满意度不变
SLA 达标率保证服务可靠把 SLA 定得宽松、规避风险操作系统稳定但不敢做有价值的变化
合代码速度衡量迭代速度减少代码审查、降低质量要求线上 Bug 增多
DAU 增长衡量用户活跃度刷量、推送轰炸、做签到活动DAU 涨了业务没涨

三、如何对抗古德哈特定律

3.1 用「指标 + 定性评估」的组合

不要只用一个指标做判断。比如评估团队效率:代码行数 + 代码审查质量 + 线上 Bug 率 + 用户满意度(综合判断)。单一指标很容易被扭曲,多指标组合扭曲难度大大增加。

3.2 指标是信号,不是目标

指标告诉你「可能有问题了」——但不能替代你去看真实情况。当 DAU 下降时,你的反应不应该是「想办法提升 DAU」,而是「去了解用户为什么不用了」。指标是指南针,不是目的地。

3.3 定期验证指标-目标相关性

每季度检查:我们在用的指标,和它本应衡量的「真实目标」,还有相关性吗?如果相关性已经消失了(因为行为扭曲),那就废弃这个指标,换一个。

3.4 不要用指标来激励「超越」

如果销售目标是 100 万,团队做了 120 万——那下个季度目标就涨到 150 万。这会激励团队「刚好达标不超额」。更好的做法:设定目标时用「及格线」(必须达到)+「超额奖励」(超出部分有额外激励)。

芒格怎么说
芒格最推崇的就是"激励的力量"(Incentives)。他说:"给我看激励,我就给你看结果。"古德哈特定律本质上就是激励扭曲——你把激励放在哪个指标上,人们就会去玩那个指标。芒格的解法:不要只设一个指标——设一个"难以同时玩坏"的指标组合。如果三个指标互相制约(质量+速度+满意度),同时优化三个比只优化一个难得多。

四、实战案例

4.1 案例 1:SLA 指标的反效果

一个 OTP 系统的 SLA 目标:99.9% 可用性。运维团队的责任。团队怎么做?

  • 不做任何有可能影响稳定性的变更(版本升级、安全补丁、架构优化)
  • SLA 达标了 99.95%——但系统越来越脆弱(因为长期不打补丁)
  • 最终因为一个已知漏洞被利用,宕机 8 小时

问题:SLA 指标只衡量了「正常运行时间」,没有衡量「系统健康度」和「风险积累」。

改进:SLA + 「安全补丁更新时效」 + 「变更频率」三个指标一起看。

4.2 案例 2:用户故事点的「通胀」

产品团队用「故事点」来估算工作量。每 Sprint 的「故事点完成数」被用来衡量团队效率。结果:

  • 团队开始把每个用户故事估得更大——「既然完成 30 点算优秀,我干脆每个故事都估成 5 点而不是 3 点」
  • 或者:把大故事拆成很多小故事(每个故事点数小但数量多)
  • 故事点「通胀」了——30 点的 Sprint 不再等于 30 点的真实工作量

改进:故事点只用于团队内部的估算——不要用来做跨团队的比较或绩效考核。

4.3 案例 3:「零 Bug」目标的悖论

某项目把「零线上 Bug」作为质量指标。结果:

  • 团队不敢发布任何可能有风险的更新
  • 测试人员在发现 Bug 后选择不提(瞒报),因为提了会影响团队指标
  • 线上 Bug 确实少——但产品更新极慢,而且积累了很多没被记录的问题

改进:不追求「零 Bug」(那是不可能的)——而是追求「快速发现和修复 Bug 的能力」(平均发现时间、平均修复时间)。

五、测验(11 题)

1

古德哈特定律的核心是?

2

为什么代码行数不是好的效率指标?

3

古德哈特定律告诉我们指标的定位应该是?

4

下面哪种做法能最有效对抗古德哈特定律?

5

「DAU 涨了 20%——但我们发现是因为团队做了很多签到活动,真正的核心功能使用没变「——这是?

6

团队把用户故事从 3 点估成 5 点——本质上是?

7

为什么「零 Bug 目标「会适得其反?

8

芒格关于「激励「的论述和古德哈特定律的关系是?

9

「SLA 达标但系统长期不打补丁「——这说明了?

10

对抗古德哈特定律,管理者最重要的是?

场景题

R1

R1. 场景:领导提出「我们要把所有 API 的响应时间降到 100ms 以内「作为团队 KPI。你担心古德哈特定律——应该怎么办?

R2

R2. 场景:公司把「需求交付数量「作为 PM 团队的 KPI。你预感到了什么?

六、答题提示

展开提示

  • Q1-3 核心:指标 → 目标 → 扭曲 → 失效。
  • Q4-5 多指标 + 定性评估 = 对抗扭曲的最佳防御。
  • Q6-7 故事点通胀和零 Bug 都是古德哈特的经典表现。
  • Q8-10 激励结构 = 行为方向——这是芒格和古德哈特的共识。
  • R1-R2 单一指标必有扭曲——组合使用才有效。

七、本课行动清单

  1. 列出你和你的团队最近使用的 5 个 KPI/指标——每个指标问:「如果把指标当目标,团队会怎么优化它?这会导致什么扭曲?」
  2. 对你最重要的那个指标,加一个「制衡指标」——防止目标被单方面扭曲。
  3. 在团队中发起一次「指标健康度对话」:哪些指标还有效?哪些已经「坏」了?
  4. 作为管理者或 PM,不要只看报告——定期去一线了解真实情况,验证指标是否仍然反映现实。

八、参考来源

  • ② 经典:Charles Goodhart,「Problems of Monetary Management」(1975)——古德哈特定律的原始论文
  • ③ 严肃著作:Marilyn Strathern,「Improving Ratings: Audit in the British University System」(1997)——将古德哈特定律推广到更广泛的领域
  • ③ 严肃著作:Daniel Kahneman,《Thinking, Fast and Slow》——关于指标和认知偏差的关联
  • ④ 实用读物:Jerry Z. Muller,《The Tyranny of Metrics》——指标如何侵蚀商业、医疗、教育领域

下一步:Lesson 0017 · 帕金森定律