一个现象总有好几个解释。先列全,再筛——顺序反了,就只会找到自己想找的那个。 三个备选方案、三种情形、一张收益表,期望值最高的是「按日期开工」,但它的领先只有 4 万。 敏感性分析要挑你真没把握的那个参数拨,不是把所有参数都拨一遍。
上一篇的相关分析给出了方向。这一篇把方向落成三个能比较的具体方案。 决策这一步,书里用的是收益矩阵。这里的数全部自己设、自己算,设定值在正文里逐条写清。
一、一个现象,三个备选方案
现象是「新机可能要推迟」。解释有三种:准时、推迟四周、干脆取消。 对应的动作也有三个:A 立刻开工,赌准时;B 等到第 31 周按日期开工;C 只做通用款,不赌。 注意方案和解释不是一一对应的。三个解释、三个动作,组合起来九种结果,这才是决策的真实形状。
列方案的时候宁多勿少。漏掉的那个方案,往往是后来最懊悔的那个。
二、收益表:情形 × 方案
| 方案 | 准时 | 推迟四周 | 取消 |
|---|---|---|---|
| A 立刻开工 | +120 | +60 | −40 |
| B 按日期开工 | +100 | +100 | 0 |
| C 只做通用款 | +40 | +40 | +40 |
单位是万元。A 在准时的时候赚最多(抢到首发),推迟的时候亏(货压在仓库),取消的时候亏最多。 B 在推迟和取消两种情形下都不吃亏,代价是准时的时候少赚 20 万(备货节奏慢一点)。 C 是一条水平线:不赌,也就没有额外收益。水平线是判断方案好坏的参照物——比它还差,就不该做。
三、期望值怎么算,它不管什么
三种情形的概率设成 60%、30%、10%。这个数是行业经验,不是数据算出来的,必须标明是设定值。 期望值 = 各情形收益 × 概率,加起来。A = 86,B = 90,C = 40。按期望值选 B。 期望值不管的事有两件:一是最坏情况有多坏,二是这个最坏情况你承不承受得起。
A 的最坏情况是 −40 万,B 是 0,C 是 +40 万。如果公司账上只够撑一次 −40 万, 那期望值再高也不能选 A。
四、手头资料够不够判
回到 5.1 那四条信息:发布日期未确认、电肤的分析有两条对不上、销量曲线较可靠、产能明确。 够用来算工期(产能明确),不够用来定概率(发布日期未确认)。 所以这张收益表里,收益数是设定值,概率也是设定值。整张表是一副「示意图」,不是「计算结果」。
这不是说它没用。它能告诉你「哪个方案对哪个参数最敏感」,这本身就是有用的信息。
五、敏感性分析:先挑对参数
把「准时」概率从 0.4 拨到 0.8,A 与 B 在第 66.7% 处换位。估计的 60% 离临界值只差 6.7 个点。 把「取消」概率从 0.1 提到 0.2,A 变成 76、B 变成 80,名次没动,差距还是 4 万。 两次拨动的结论完全不同:一个说「很脆」,一个说「很稳」。挑错参数,敏感性分析会给你假安全感。
该拨的是你真没把握、又对结果影响大的那个。这一条比公式重要。
六、动手 Demo:备选方案:三个假设,一张收益表
三个方案、三种情形,算期望值,再把最没把握的那个概率拨一拨。 所有收益数与概率都是本节设定的,不是从数据算出来的——这一点要记在结论旁边。
P_CASE = [0.6, 0.3, 0.1] # 准时、推迟、取消(设定值)
PAY = {"A 立刻开工": [120, 60, -40],
"B 按日期开工": [100, 100, 0],
"C 只做通用款": [40, 40, 40]}
for name in ("A 立刻开工", "B 按日期开工", "C 只做通用款"):
v = PAY[name]
ev = sum(P_CASE[i] * v[i] for i in range(3))
print("%s 期望值 %6.1f 最坏 %+d" % (name, ev, min(v)))
print()
for p in (0.4, 0.5, 0.6, 0.7, 0.8):
a = p * 120 + (1 - p) * 0.75 * 60 + (1 - p) * 0.25 * (-40)
b = p * 100 + (1 - p) * 0.75 * 100
print("准时概率 %.1f:A %6.1f B %6.1f %s"
% (p, a, b, "A 高" if a > b else "B 高"))
print()
print("临界值 %.1f%%:p * 20 - (1 - p) * 40 = 0" % (40 / 60.0 * 100))
print("估计值 60%% 距离临界值只有 6.7 个百分点")
实跑输出:
--------------------------------------------------------------------
备选方案:三个假设,一张收益表
--------------------------------------------------------------------
① 三个备选方案
--------------------------------------------------------------------
A:今天就开工,赌新机准时发布。
B:等到第 31 周再开工,按备忘录的日期走。
C:不做新机型皮肤,只做通用款。
② 三种情形,三套收益
--------------------------------------------------------------------
| 方案 | 准时(60%) | 推迟(30%) | 取消(10%) | 期望值 |
|---|---:|---:|---:|---:|
| A 立刻开工 | +120 | +60 | -40 | 86.0 |
| B 按日期开工 | +100 | +100 | +0 | 90.0 |
| C 只做通用款 | +40 | +40 | +40 | 40.0 |
三个方案的期望值:A 86.0、B 90.0、C 40.0。按期望值选 B。
③ 可概率是猜的,结论稳吗
--------------------------------------------------------------------
把「准时」的概率上下拨,其余两种情形按 3 比 1 分摊——这一步叫敏感性分析。
准时概率 0.40 时:A 69.0、B 85.0,B 高
准时概率 0.50 时:A 77.5、B 87.5,B 高
准时概率 0.60 时:A 86.0、B 90.0,B 高
准时概率 0.70 时:A 94.5、B 92.5,A 高
准时概率 0.80 时:A 103.0、B 95.0,A 高
两者的差是 20p − 40(1−p),令它为零,得临界值 66.7%。
! 估计的 60% 离临界值 66.7% 只差 6.7 个百分点——这个结论很脆,不能就这么交上去。
④ 敏感性分析:先挑对参数
--------------------------------------------------------------------
把「取消」的概率从 0.1 提到 0.2(推迟相应降到 0.2),B 变成 80.0,A 变成 76.0。
排名没动,说明结论对这一条不敏感。
! 真正决定结论的是「准时概率」,那条一拨就翻。
敏感性分析不是把所有参数都拨一遍,是拨你真没把握的那条。
⑤ 收益表里最容易被忽略的一行
--------------------------------------------------------------------
C 方案(只做通用款)在任何情形下都是 40,这就是「不赌」的代价,也是它的好处。
期望值最低,但最坏情况最好(+40 对 -40)。选哪个,取决于公司能不能承受亏 40 万。
注意期望值和最坏情况是两套标准:A 的期望值不低,但最坏是 −40 万,这一条期望值看不出来。 临界值 66.7% 与估计的 60% 只差 6.7 个点, 所以这张表的结论随时会翻——这也是为什么下一节要去找新证据,而不是把这张表直接交上去。
30 秒实验
- 如果 A 方案在推迟情形下亏 80 万(而不是 60 万),临界值会变成多少?
- 增加第四个方案 D(先做一半货,剩下等确认),你给它三档收益各估多少?
- 想一想:这张表里的 60%、30%、10% 是设定值。如果它们是错的,结论还剩多少价值?
常见误区
- 只列一个方案:只有一个方案的决策不算决策,算通知。
- 只看期望值:最坏情况亏不亏得起,往往比期望值高低更决定方案。
- 把设定值当数据:概率和收益是估的,就得写在结论旁边,别让人以为是算出来的。
- 挑错参数做敏感性:拨一个不重要的参数,会得出「结论很稳」的假安全感。
自测三问(点开对答案)
1. 为什么方案要列全? —— 漏掉的方案可能是最优的一个。而且只有列全了,「不选」这个动作才有理由。 2. 期望值不管哪两件事? —— 最坏情况有多坏,以及这个最坏情况承不承受得起。 3. 敏感性分析该拨哪个参数? —— 你真没把握、并且对结果影响大的那个。两个条件缺一个,拨了也白拨。表算完了,结论太脆,得找新证据。下一篇讲怎么用证据一条条筛假设,筛到剩下最强的那个。
- ☐ (本篇完,下一篇 5.5 证伪与最强的假设)