大概两个多月前我和朋友Jeff一起做了一轮信心校准实测。测试的内容很简单让一群平时做判断、下结论特别快的人——也就是我们身边做产品的、做投资的、做销售的这些同事——连续六周每天至少提交一条未来两周内能验证对错的判断并且给每条判断打一个0到100%的把握分数。等所有结果都揭晓以后Jeff把这些当时的概率和后来的事实放在一起比对。结果里面最扎眼的就是70%这一档大家一共给它打了一百四十多条判断最后真正应验的只有四成左右。换句话说同样标成70%概率的事情真实命中率大概只有40%。这个落差当时把我们看愣了也直接引出了这篇文章要聊的核心问题到底为什么人们报出的概率和实际发生概率能差这么多答案落在一个很多人没认真算过的概念上——概率乘积。写这篇东西不是为了嘲笑谁。我自己在头两周里同样是高估的重灾区。但Jeff实测的价值在于它把我觉得变成了可以拆解和修正的数字。如果你是那种经常需要表态这事有几成把握的人——项目经理、销售、投资、做预测、甚至只是爱跟朋友打赌——这篇文章都值得看完。我会把实测的设计、结果、背后的概率乘积算法以及后来我们用来校准信心的具体流程全部摊开来讲。1. Jeff的实测到底在测什么把拍脑袋变成可校验的数据1.1 测试是怎么设计的先说测试规则因为一切结果都建立在规则之上。Jeff做这个测试的动机其实很简单——他翻了自己过去一年的工作邮件发现里面大量出现我个人觉得有七成概率七成把握能搞定这种话于是他很好奇这个七成到底准不准于是Jeff拉了一个大约二十人的小群要求很简单每人每天至少提交一条判断格式必须固定。判断内容一件事必须讲清楚到什么时间、发生什么、才算对。验证时间未来两周内会有明确答案。把握程度0到100%必须是10%的整数倍不允许写大概很可能这种模糊词。这个格式设计很关键。第一它逼着人们把模糊的直觉转换成一个可检验的数字第二两周内验证避免了永远无法证实或证伪的空话第三先写概率、后看结果避免马后炮。整整六周一共收集到八百多条有效判断。这里要说明我们做的不是严格的学术实验样本量也谈不上大更多是一次以自我校准为目的的内部实测。但作为一次真实场景下的数据收集这个量级已经足够暴露问题。1.2 结果70%这一档最离谱六周结束以后Jeff把所有判断按当初报出的概率分档再统计每一档的真实命中率。整理出来的表大致长这样数据是当时实测的汇总略有四舍五入报出概率判断条数实际命中率50%18947.6%60%13443.2%70%14639.7%80%18261.5%90%12676.2%如果你是第一次看校准表可能会觉得这张表怪怪的50%那一档还挺准报50%确实中了快一半90%那一档算偏高命中率只有76%但60%和70%这两档几乎可以说是反着来的——报得越高命中反而越低。尤其是70%这一档报出来的概率是70%实际命中率不到四成。这说明什么说明在我们的样本里70%这个数字并不代表七成会成而更像是一种我觉得应该能成的自我安慰。它的实际含义大概只有四成的把握。那问题就来了为什么大家对70%这个数字的直觉会偏得这么厉害1.3 关键发现单条件判断和多条件判断一分开谜底出来了Jeff没有停在第一张表。他在整理数据的时候顺手给每条判断打了一个标签这条判断是只取决于一件事还是必须好几件事同时成立。举个区别的例子单条件判断未来两周内本市是否会下雨。——只需要天气系统给出一个答案。多条件判断未来两周内我们会不会签下那家客户并且在签约后一个月内回款。——要先签下客户还要客户财务走完流程、完成回款这其实是一串事件。这个标签一打上去之前的诡异现象就被拆开了。同样是报70%概率单条件判断命中率大约六成八跟70%基本对得上。多条件判断命中率大约三成八到四成。我当时看到这组对比脑子里第一反应是原来不是概率感坏了是整个判断的复杂程度坏了。人们报出的那个70%根本不是对整件事的把握而是对其中最顺眼的那一个环节的把握。真正的整体概率被概率乘积悄悄吃掉了一大半。这也是文章标题里同样70%的意思同样是70%用在单件事上可信用在一条需要多件事同时成立的链条上就变得非常不可信。2. 概率乘积复合事件里同时成立到底该怎么算2.1 先看公式再看Jeff用的模拟概率乘积这个概念一句话就能讲清楚如果一个结果要成立必须同时满足A、B、C三个条件那么在A、B、C相互独立的情况下整体概率等于P(成功) P(A) × P(B) × P(C)如果每个条件都有70%的概率成立那么整体概率就是 0.7 × 0.7 × 0.7 0.343也就是34.3%。注意这还算是比较乐观的场景因为现实中大多数判断链条还不止三个环节。Jeff在分析的时候用了一段非常短的模拟代码把这个过程演示给大家看免得有人觉得相乘只是理论。代码很简单随机生成十万次试验每次试验里每个环节独立地以各自概率成功最后统计所有环节都成功的比例import numpy as np rng np.random.default_rng(42) trials 100_000 # 假设判断链条里有四个环节各自单环节把握是 80%、75%、72%、85% probs np.array([0.80, 0.75, 0.72, 0.85]) joint probs.prod() print(f理论联合概率: {joint:.3f}) # 蒙特卡洛模拟每个环节独立随机是否成功取全部成功的试验 results rng.random((trials, len(probs))) probs hit_rate results.all(axis1).mean() print(f模拟十万次的联合命中率: {hit_rate:.3f})跑出来的理论值是0.367模拟值也在0.367附近。也就是说哪怕四个环节单独看都挺有把握一个八成、一个七成五、一个七成二、一个八成五整件事也就三成六多的成功率。如果有人在复盘时说每个环节我觉得都有七八成把握所以整体应该也是七成那他就犯了把单环节概率当成整体概率的错误。Jeff实测里多条件判断的报70%、中四成正是这个错误的现实版。2.2 独立性的假设很重要别把乘法当万能这里必须说一个容易踩的坑概率乘积公式的前提是各环节相互独立。如果环节之间有正相关也就是说一个环节成功往往意味着另一个环节也容易成功那么整体概率会高于简单乘积。举一个实际的例子你在判断客户会签约并且客户财务会正常回款。这两件事其实都受同一波宏观环境和客户经营状况影响。如果客户公司经营很好签约概率和回款概率都会上升如果客户经营出了问题两件事都会变差。也就是说它们不是独立的而是正相关的。这时候整体概率未必等于两个0.8相乘的0.64相关性会把联合概率往上抬实际可能到0.7左右。那这是不是说明乘法高估了失败率不完全是。在Jeff实测的多条件判断里我们的观察恰恰相反人们不是不知道相关性而是干脆完全不乘。大多数人的默认策略是我觉得这个环节能成那整体就能成完全不处理链条的多环节结构。所以即使有正相关帮忙抬概率最后的情况依然显著低于大家报出的70%。反过来如果环节之间是负相关比如A部门预算充足和B部门抢到了同一笔预算那么同时成立的概率会比乘积更低。现实世界里的判断链条往往不是纯独立也不是纯正相关而是混合的。所以我的建议是先用乘法算出一个独立假设下的基准值再根据你对相关性的判断在基准值附近调整。这样至少不会犯拿单环节概率冒充整体概率这种量级上的大错。2.3 生活中到处都是这样的链条把概率乘积代入日常生活你会发现它无处不在而且几乎总是被人忽视。最典型的是赶飞机的链条闹钟准时响大约90%打车顺利且不堵大约75%值机托运顺利大约85%航班准点大约70%。如果还带着托运行李四件事全成的概率是0.9 × 0.75 × 0.85 × 0.7 ≈ 0.40。也就是说你感觉应该赶得上的那种信心实际对应的可能只有40%而不是70%。难怪每年总有人误机之后觉得今天太倒霉了——其实不是倒霉是概率乘积在起作用。项目排期也一样。一个版本发布要过需求冻结、设计评审、开发完成、联调通过、上线审批五道关每道关你都觉得有80%的把握那么整件事按时完成的概率是0.8的5次方约等于0.33。项目延期不是意外而是概率的必然。再比如医疗判断中的链条某项检测对特定疾病的敏感度是90%但人群患病率只有2%这时检测阳性就一定患病的概率远低于直觉因为中间还要乘上患病率和误报率。这就是为什么专业报告里总是强调结合临床综合判断。我举这些例子不是想说世界很悲观而是想说如果你正在依赖多个叠加在一起的判断做决策那你对结果的信心理应比直觉低一截。低掉的那部分恰好就是概率乘积替你算出来的。3. 为什么偏偏是70%这一档最容易翻车三个认知原因把表格摊在面前的时候很多人会问为什么不是50%、不是90%偏偏是70%这一档崩得最厉害Jeff和我们复盘的时候归纳出三个层面上的原因我按重要程度排了一下。3.1 锚定在了最顺眼的那个环节上人的注意力会被具体场景抓住。判断一条多环节的事情时我们脑子里会自动浮现出其中一个特别具体、特别有画面的环节。比如聊能不能签下那个客户大家满脑子都是客户已经点头了这个画面或者客户对我们的方案很满意这个画面。于是当被问整体几成把握时大脑偷懒地把对最醒目那个环节的把握直接当成对整件事的把握来回答。这就好比问你一串项链结不结实时你只盯着最大最亮的那颗珠子说结实完全没数链子上有多少个连接扣。Jeff实测里多条件判断的报出概率事后被证明几乎等于其中最有把握那个条件的概率而不是所有条件相乘后的结果。3.2 细节越多信心越膨胀第二个原因和知识感有关。一个判断如果只写客户会不会签约大家报的分数还比较谨慎但一旦判断被写成客户会不会在两周内走完法务流程、在方案上签字、再由财务发起首款流程很多人反而会给出更高的概率。直觉上的逻辑是我知道这么多细节说明我对情况很了解所以我应该更有把握。但概率的逻辑恰好相反细节越多意味着需要同时成立的条件越多整条链的脆弱性越高。多一个环节就多一个失败点哪怕每个失败点的概率都很小。Jeff的数据里写得更具体、更详细的多条件判断报出概率平均反而比笼统判断高出五六个百分点命中率却低了将近二十个百分点。这就是典型的知道得越多越容易把复杂当成确定。心理学上有个词叫解释深度错觉说的是人们总以为自己能解释清楚一件复杂事情的原理直到真的被要求一步步讲出来才发现自己其实一无所知。概率上的这个现象和它几乎同源你以为自己把握的是全链路其实只把握到了细节堆里最熟悉的那一块。3.3 大脑天生不擅长做链条乘法最后一个原因最基础也最无奈人类大脑对加法和乘法处理的难度完全不同。加法是线性的三个七成加在一起很难超出直觉预期乘法却是指数级的三个0.7乘在一起直接掉到0.343。过去不少研究都发现哪怕受过概率训练的人在面对复合事件时也倾向于高估其发生概率反而是比较单一的简单事件概率估计会准得多。Jeff的实测相当于把这个结论用真实的工作场景又验证了一遍。更麻烦的是我们报出的往往不是联合概率而是条件概率的合体。当一个环节在已知情况下的概率很高时比如客户已经愿意谈了签约概率70%我们就会把70%这个数字粘在整件事上却自动忽略了客户愿意谈只是链条上的一环。4. 怎么把信心校准回来Jeff实测后我们用的一套修正流程发现问题是好事但真正有价值的是修正。Jeff在第二轮实测里把我们下面这套修正流程教给了群里的每个人效果还是很明显的。最直接的变化是第二轮里70%这一档的命中率回升到了五成多虽然离完美校准还有距离但至少没有再出现报70%、中40%这种量级的翻车。4.1 第一步强制拆链把我觉得70%翻译成必要条件当你要对某件事表达信心时不要直接给整体概率先做下面这四步写下这件事必须满足的每一个必要条件。注意是必要条件缺一个都不成。给每个条件单独打一个概率分。这一步刻意不看整体只回答单独看这个环节成功的把握有多大。把各条件概率相乘得到联合概率。把联合概率和你最初的直觉对比。如果直觉比乘积高出一大截基本可以断定你刚才锚定到了某个单环节上。举个例子实测时有人报了我七成把握客户会在月底前打首款。拆开之后是这样必要条件单环节把握说明客户内部审批通过80%法务已初审但领导还没拍板财务按合同流程付款85%对方公司付款习惯偏慢银行到账且单据齐全90%银行处理基本稳定乘积0.8×0.85×0.9 61.2%与直觉的70%有明显差距做完这个拆分他马上意识到自己报的70%其实是用客户内部审批通过这个单一环节的80%做地基再往下打折打出来的。这个折扣没有定量只是一个模糊的应该差不多所以最终结果当然偏乐观。4.2 第二步给自己的判断记校准日志按月回看拆链解决的是单条判断的问题。但如果你经常要做概率判断更需要的是持续校准。Jeff推荐的做法很简单弄一个表格记录三条信息——判断内容、报出概率、最终结果对或者错。每周花五分钟录入月底花二十分钟统计。统计的时候按概率分档算命中率然后跟理想状态对比报70%的档位命中率应该接近70%报50%的档位命中率应该接近50%。如果你发现自己的70%档只有四成命中说明你在明显高估反过来如果90%档命中超过95%说明你偏保守。更精细一点还可以用Brier分数公式是每条判断的概率减结果平方求平均得分越低表示校准越好。但对大多数人来说先看分档命中率已经足够发现问题了。有一个心得必须分享校准不是一次性的通常要持续两三个周期才会稳定。因为第一次回看数据时很多人会被自己的偏差吓到然后下意识跑到另一个极端从过度自信变成过度悲观。Jeff实测的第二轮群里还真出现了稳定报低的情况。校准的目标不是让数字变高或变低而是让数字和真实频率对齐。4.3 第三步听到别人说七成把握时先问他是哪一环这个流程同样适用于反过来判断别人的话。当销售、同事、合作方跟你说我有七成把握时我建议你别直接把这个70%拿来算期望值。先问两个问题你说的七成把握指的是整件事还是其中最关键的某一个环节这件事从头到尾要过哪几关每一关你现在各打几分大部分情况下对方会愣一下然后发现自己说的70%其实只是谈得差不多了那一关的把握。这时候你可以在心里把那几个关卡的概率乘一遍得到一个更接近真实的整体概率再去做决策。举个真实场景有供应商跟你说七成把握月底交付但你知道交付要过生产排期、物流、质检三关哪怕每关都有85%的把握0.85的三次方也只剩61%了。你在合同里留的缓冲期就不应该按30%的失败风险去设计而应该按40%左右的风险去设计。谈判桌上的余量往往就差在这一次乘法上。5. 实测之后我的决策习惯被改掉的几个地方5.1 不再问几成把握而是问失败需要哪几环同时出错以前我和同事讨论项目风险开口就是这个季度发布的把握大不大对方回答七成吧然后话题就结束了。现在我会把问题反过来要失败的话需要哪些环节同时出问题这其实是一种把概率乘积倒过来用的方法。当把失败条件列出来以后很多虚高的信心会自动缩水。比如一个版本发布失败需要同时满足核心功能未完成、测试不过、上线窗口被占用三个条件那这个项目其实相当稳但如果失败只需要某一个单点环节出问题就会全盘垮掉那整体概率就是那个环节的概率一点折扣都不能打。链条结构一旦清楚信心自然会回到和概率匹配的位置上。5.2 把一次性大判断拆成按时间点更新的小判断概率乘积给我们的另一个启发是多环节链条的不确定性主要来自后面的环节。因为越靠后的环节越难被提前验证。所以与其在一开始赌一个整体七成不如把判断拆成一系列中间检查点两周后先看第一环节有没有落地一个月后再看第二环节每到一个检查点都用新的信息重新算一遍联合概率。这个做法我在项目管理里用起来非常顺手。以前是开一个会宣布我们预计某季度上线然后闷头干活现在是每两周同步一次截至今天剩余必要环节的联合概率是多少。数字会随时间变化链条前端的环节一旦被确认整体概率通常会上升但这种上升是事实驱动的不是情绪驱动的。5.3 一个我到现在还在用的小技巧写下来乘一下最后分享一个零成本但非常有效的技巧。每次要对重要判断表态之前拿张纸或者任意一个笔记软件把这句话写完整这件事要成必须同时满足以下N个条件……其中第i个条件我单独给它打X%的把握。然后把它们乘起来看最后落在哪。这个动作本身不解决任何认知偏差但它强制你面对自己的判断结构。一旦结构摊开你通常会发现自己报的70%其实是某一个单环节的70%在冒充整体概率。Jeff实测最能说服我的地方就在于此那并不是什么神秘的心理陷阱而是一个几乎每个人都能通过简单的乘法修正回来的偏差。多说一句Jeff后来把同样的测试跑了两轮。参与者学会乘法拆解之后70%档位的命中率从四成回升到了五成五左右。离完美还有距离但至少大家开始承认原来我的七成并不是七成。对我自己来说这个实测最大的收获不是学会了算乘法而是在每次说出我觉得大概有七成之前都会先停下来想想我这句话里的七成到底指的是哪一个环节的概率。