Skip to content

2.2 概率现金流分析

工期有不确定性,钱就有不确定性。工期每偏移一天,对应着现金流出或流入的时间也偏移一天。本章教你如何量化「钱」的不确定性。


为什么要做概率现金流?

在确定性计划中,现金流是一条静态的 S 曲线——好看,但不真实。

真实世界是:

  • 工期提前 → 业主付款提前,「资金占用」时间缩短
  • 工期延误 → 付款推迟,同时管理费、设备租金等持续增加
  • 存在性风险(比如变更签证)→ 需要额外投入资金

概率现金流分析就是对 1000 次蒙特卡洛模拟的每一次迭代,都记录下现金流数据。最后你可以看到:

  • 累计现金流的 P20/P50/P80 曲线(如同工期的 P20/P50/P80)
  • 每个时间段的现金流入/流出上下限
  • 项目总成本与完工日期的散点分布

运行概率现金流分析

准备工作

确保项目已有关联的现金流数据。可以打开 Primavera 自带样例:

Help → Open Samples → ExampleRegister-Rocket.plan

或者按 上一章 创建自己的现金流。


操作步骤

步骤操作关键点
Risk → Run Risk Analysis打开风险分析对话框
点击 Options... 按钮进入分析选项
勾选 Save Probabilistic Cash Flow Data核心开关,必须勾选!
点击旁边的 Cash Flow... 按钮设置采集参数

现金流采样设置(Cash Flow Settings)

图:Cash Flow Settings 对话框

参数含义建议值
Collection Period数据采集周期月(大型项目)/ 周(短期项目)
Start Date现金流起始日期默认为项目开始日期
Data Collected采集哪些数据默认全选

!> 注意:勾选「概率现金流」后会增加分析时间。对于有数百个任务的项目,增加的耗时通常可忽略;但对于上千任务的复杂项目,可能多花 10-30 秒。


完成分析

依次点击:OK → OK → Analyze → Complete

分析完成后,查看报告:

Reports → Probabilistic Cash Flow

图:概率现金流图 — P20/P80/均值累计曲线


读懂概率现金流图

上图显示了三组关键信息:

一、概率累积曲线(Cumulative Curves)

曲线含义怎么用
P20 线20% 概率下的现金流「乐观情景」— 钱够用的底线
P80 线80% 概率下的现金流「保守情景」— 按这条件备钱
Mean 线平均现金流中间参考线

核心解读:P80 线与 P20 线之间的「带宽」代表了现金流的不确定性。带宽越宽,说明你的资金计划越不可靠。


二、每期柱状图(Per-Period Bars)

按采集周期(月/周)显示每个时间段内现金的流入流出:

  • 读取 左侧纵轴 的数值(非右侧累计轴)
  • 正值 = 该期净流入,负值 = 净流出
  • 可切换查看均值概率分位数(如 P50)的每期分布

三、散点图(Scatter / Football Plot)

Cost/Time Football Plot — 每个点代表一次模拟迭代的「总成本 vs 完工日期」。形状类似橄榄球(football),因此得名。

  • 横轴:完工日期
  • 纵轴:项目总成本
  • 点越密集 = 该组合出现的次数越多
  • 右上角的点 = 又贵又慢的情景

更多显示选项

确定性曲线(Deterministic Curves)

在图形右侧面板勾选以下选项,叠加确定性计划曲线:

选项显示内容
Scheduled基于任务当前开始/完成日期的现金流
Early按最早开始/最早完成
Late按最晚开始/最晚完成
Shade Early/Late Envelope填充最早与最晚之间的阴影区域

用途:将确定性计划曲线与概率曲线叠加,直观看出「确定性计划有多乐观/悲观」。


显示差异(Show Differences)

勾选 Show differences 后,图形区新增一条差异曲线,表示两组每期数据之间的差值。

最常见的用法:Mean(概率均值) 减去 Early(确定性早期)

**这个问题值得你问:**考虑了所有不确定性和风险之后,项目平均而言是会比确定性计划花更多钱还是更少钱?

图:差异现金流图 — 每期均值 vs 确定性支出

修改差异设置路径:Format → Difference Settings`

图:Difference Settings 对话框


注释标注(Annotations)

在右侧面板的 Annotations 区域:

选项显示内容
Deterministic cost/finish标注确定性计划的成本和完工日期
Percentile cost/finish标注所选分位数的日期范围(如 P10-P90 阴影)
Data Date显示数据日期线
Estimated Cost/Finish基于 CPI/SPI 预测完工成本和日期(需项目有进展)
CPI and SPI在图上显示 CPI 和 SPI 值(需项目有进展)

折现设置(Discount Settings)

如果你需要计算净现值(NPV),可以为现金流设置折现率。

路径:Format → Discount Settings

图:Discount Settings 对话框

参数含义
Yearly Discount Rate年折现率(%)
Discount period折现周期单位
Discount from折现起始日期

默认折现率为 0%,即不折现。


更新显示周期(Display Period)

如果当前图的显示周期(如「月」)不是你想要的(如「周」):

  • 修改后如果新周期是旧周期的整数倍 → 直接使用已有数据,无需重跑分析
  • 如果新周期不是整数倍 → 系统会提示你重新运行风险分析

复制概率现金流数据

操作路径
复制数据Edit → Copy data
复制图表到剪贴板Edit → Copy picture to clipboard
复制图表到文件Edit → Copy picture to file

实战案例:水电站大坝浇筑现金流风险

案例:某水电站大坝混凝土浇筑项目

项目背景

西南某水电站大坝工程,混凝土总方量 120 万 m³,浇筑工期 28 个月,合同总价 ¥18 亿。业主要求汛期前必须达到防汛高程,否则面临巨额罚款。总包方投入自建拌合站 3 座,月最大产能 5 万 m³。

问题分析

  1. 产能限制:3 座拌合站满负荷月产能 5 万 m³,但高峰期需月产 6 万 m³,缺口 20%
  2. 天气影响:6-9 月雨季,平均每月 12 天无法浇筑,产能利用率仅 40%
  3. 资金压力:业主要求「按形象进度付款」,但汛期抢工需要突击投入 ¥3000 万/月
  4. 涨价风险:水泥价格波动 ±15%,直接冲击材料成本

建模过程

为每个月的浇筑任务设置三角分布工期不确定性(Min = 原工期×0.7, ML = 原工期, Max = 原工期×1.5),同时为关键任务设置天气停工概率(存在性风险,30%/月)。

现金流参数设置
采集周期
模拟次数1000
CASH 分配按各标段合同额比例分配到月任务
水泥成本波动三角分布 Min=85% ML=100% Max=115%

分析结果

指标确定性计划P50P80P95
累计成本¥18.0亿¥19.2亿¥20.8亿¥22.1亿
最大月度现金缺口¥2500万¥3800万¥5200万¥6800万
资金峰值时间第 14 月第 14 月第 17 月第 19 月

关键发现:P80 情景下,最大月现金缺口高达 ¥5200 万,远超确定性计划的 ¥2500 万——几乎是两倍!

** 决策与总结

项目经理基于 P80 曲线向公司申请了 ¥6000 万的备用资金额度,并提前与水泥供应商签订了「锁量锁价」协议(锁定 70% 用量价格)。雨季期间,备用资金确实动用了 ¥3200 万用于突击抢工,但项目最终在防汛节点前 3 天达标。

一句话启示:现金流风险分析不是算「会不会超预算」,而是算「什么时候需要额外准备多少钱」——时间差才是风险的本质。


本章小结

要点一句话
核心开关勾选 Save Probabilistic Cash Flow Data`
关键图表P20/P80 累计曲线之间的「带宽」就是现金流的不确定性
Football Plot每个点 = 一次模拟的「成本×日期」,看成本-工期相关性
Show DifferencesMean - Early → 概率平均值比确定性计划多花还是少花
折现Format → Discount Settings → 设置折现率用于 NPV 分析

英文原版内容版权归 Oracle Corporation 所有。中文翻译、案例、习题由 计划工程师 独立创作。

广告位 · 合作联系