古德哈特定律:当指标变成目标
预计时间:25 分钟读完 + 25 分钟做练习 = 50 分钟。
一、古德哈特定律的运作机制
1.1 指标的「测量-扭曲」循环
- 设定指标:「我们要用代码行数来衡量开发效率」
- 指标变成目标:开发人员开始关注「怎么产出更多代码行数」
- 行为扭曲:不用更简洁的代码,写更冗余的代码;一个函数能解决的写成 5 个
- 指标上涨但真实目标下降:代码行数涨了,但代码质量、可维护性、开发速度都下降了
- 指标失效:原来用来衡量「效率」的指标,现在跟效率没关系了
二、科技/项目中的经典例子
| 指标 | 本意 | 扭曲行为 | 结果 |
|---|---|---|---|
| 代码行数 | 衡量开发效率 | 写冗余代码、复制粘贴 | 质量下降 |
| Bug 修复数 | 衡量 QA 效率 | 只报小 Bug、不抓大问题 | 严重 Bug 被忽略 |
| 任务完成数 | 衡量团队产出 | 把大任务拆小、选简单的做 | 真正的重点任务被推迟 |
| 用户满意度评分 | 衡量服务质量 | 诱导用户给高分 | 分数虚高,真实满意度不变 |
| SLA 达标率 | 保证服务可靠 | 把 SLA 定得宽松、规避风险操作 | 系统稳定但不敢做有价值的变化 |
| 合代码速度 | 衡量迭代速度 | 减少代码审查、降低质量要求 | 线上 Bug 增多 |
| DAU 增长 | 衡量用户活跃度 | 刷量、推送轰炸、做签到活动 | DAU 涨了业务没涨 |
三、如何对抗古德哈特定律
3.1 用「指标 + 定性评估」的组合
不要只用一个指标做判断。比如评估团队效率:代码行数 + 代码审查质量 + 线上 Bug 率 + 用户满意度(综合判断)。单一指标很容易被扭曲,多指标组合扭曲难度大大增加。
3.2 指标是信号,不是目标
指标告诉你「可能有问题了」——但不能替代你去看真实情况。当 DAU 下降时,你的反应不应该是「想办法提升 DAU」,而是「去了解用户为什么不用了」。指标是指南针,不是目的地。
3.3 定期验证指标-目标相关性
每季度检查:我们在用的指标,和它本应衡量的「真实目标」,还有相关性吗?如果相关性已经消失了(因为行为扭曲),那就废弃这个指标,换一个。
3.4 不要用指标来激励「超越」
如果销售目标是 100 万,团队做了 120 万——那下个季度目标就涨到 150 万。这会激励团队「刚好达标不超额」。更好的做法:设定目标时用「及格线」(必须达到)+「超额奖励」(超出部分有额外激励)。
四、实战案例
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 题)
古德哈特定律的核心是?
为什么代码行数不是好的效率指标?
古德哈特定律告诉我们指标的定位应该是?
下面哪种做法能最有效对抗古德哈特定律?
「DAU 涨了 20%——但我们发现是因为团队做了很多签到活动,真正的核心功能使用没变「——这是?
团队把用户故事从 3 点估成 5 点——本质上是?
为什么「零 Bug 目标「会适得其反?
芒格关于「激励「的论述和古德哈特定律的关系是?
「SLA 达标但系统长期不打补丁「——这说明了?
对抗古德哈特定律,管理者最重要的是?
场景题
R1. 场景:领导提出「我们要把所有 API 的响应时间降到 100ms 以内「作为团队 KPI。你担心古德哈特定律——应该怎么办?
R2. 场景:公司把「需求交付数量「作为 PM 团队的 KPI。你预感到了什么?
六、答题提示
展开提示
- Q1-3 核心:指标 → 目标 → 扭曲 → 失效。
- Q4-5 多指标 + 定性评估 = 对抗扭曲的最佳防御。
- Q6-7 故事点通胀和零 Bug 都是古德哈特的经典表现。
- Q8-10 激励结构 = 行为方向——这是芒格和古德哈特的共识。
- R1-R2 单一指标必有扭曲——组合使用才有效。
七、本课行动清单
- 列出你和你的团队最近使用的 5 个 KPI/指标——每个指标问:「如果把指标当目标,团队会怎么优化它?这会导致什么扭曲?」
- 对你最重要的那个指标,加一个「制衡指标」——防止目标被单方面扭曲。
- 在团队中发起一次「指标健康度对话」:哪些指标还有效?哪些已经「坏」了?
- 作为管理者或 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 · 帕金森定律。