项目成本预估及水晶球法的应用.doc
项目成本预估及水晶球法的应用 0 引言 在对项目所需成本进行预估时,以下几个问题是无法避免的 :①所做的预估有多精确 ?②需要增加多少预留成本 ?③这一预估所存在的最大风险是什么 ? 通常来说,估价者会因以下三个原因而被要求为项目估价提供一个简单的数字 :①财务 — 财务需要一个简单的数字来进行项目预算控制 ;②销售 — 销售更愿意为客户提供由单一数字表示的报价 ;③管理层 — 管理层期望能轻易获知他们的投资回报。但是,在实际估价过程中会涉及众多的风险和不确定。 识别这些不确定性,并为它们分配相应的风险等级,是估价者所必须承担的职责。例如 :某一报价是在项目预估阶段从供应商处获取的,然而在设计阶段,也许会有对额外设备的需求,并导致成本的增加。因此,连原始报价都具有不确定性。 此外,如果所有这些风险在预估时未被检测出来,项目的未来将会是无法预期并缺乏保障的。因此,项目工程师必须履行两项职能 :①预估 — 着重于在预估过程中检测出潜在的风险 ;②规划 — 对可能的风险进行管理。 1 项目成本预估及计算预留成本的方法 预留和应急是项目成本预估过程中用来抵御成本风险的两种 主要手段。首先,我们先明确“预留”和“应急”的定义以消除对这两个术语的困惑与误解。预留— 用于处理预估技术中所存在的风险,而非预估范围变更所造成的风险,范围变更造成的风险将使用应急分析来进行处理。 预留成本与原始底价预估以及从成本范围曲线中选取成本,或是由于预估工作不足而由竟标或项目开发团队来决定成本等成本预估的方法不同。应急 — 针对的是有可能造成预估范围变更的风险。通过对预估范围之外的成本风险所做的分析来决定应急成本。应急用于那些有可能发生的大事件。 如 :由于某个关键部件的供应短缺而导致整个项目方案需 做大的调整。而本文所要讨论的是如何确定预留。计算预留的方法有以下几种,至于哪种方式比较合适,则取决于有多少时间可用于计算以及计算结果要达到何种精确程度。 (1)预估分级为早期的方法之一。这种方式使用不同的级别来标记预估的精度 :从误差范围为士 50%的 1 级到误差极小的 5 级。然后根据预估的级别,乘以相应的百分数来获取所需预留的数值。 这种为预估分配一个百分比以计算预留的方法,为预算编制、数量级的变更或反复的竞标提供了方便。这一百分比将依据预估可信度的高低而改变。 (2)逐项预留则对每一项预估的明细进行 百分比式的预留计算,根据每项预估的可信度的不同,所乘以的百分数也将随之改变。 (3)水晶球法将为所有可能对项目总体成本产生影响的成本项分配一个期望成本、最小成本和最大成本。 2 水晶球法简介 在前面提到的三种计算预留的方法中,水晶球法的软件程序提供了更多其他方法未提及的计算效果 :项目成本超出某一指定预算或低于这一预算的可能性分析,鉴别预估中可能存在问题的部分,为不同的风险等级增加适当的预留成本,为风险提供图形化的表示。 水晶球法的使用并不局限于为典型工程项目计算预留成本,它也可被用于研究项目 、财务分析以及库存管理等。 在水晶球程序中将应用蒙特卡洛模拟来进行预留计算及风险检测。蒙特卡洛模拟得名于摩纳哥著名的赌城蒙特卡洛。在那里,轮盘赌、骸子、老虎机等赌博游戏无不体现着随机现象,而蒙特卡洛模拟正是应用类似的随机现象来随机选取变量的数值以模拟某一模型。 如同在掷殷子时,我们知道其结果一定会是 1, 2, 3, 4, 5 或 6 中的某一个,但是却无法预知每次投掷的具体结果。变量也是如此,变量具有确定的数值范围,但是对应某一具体的时间或事件,其数值是不确定的 (例如,利率、所需的人员配备、股价和库存等 )。 对于每一变量,都定义了可能的数值及其概率分布。概率分布类型的选择取决于与变量相关的各类条件。在模拟时,从事先定义好的可能性中随机抽取数值为各个变量进行赋值。通过反复地从可能性分布中选取数值,并将它们赋予那些未知的变量,模拟将对某一模型的无数种场景进行计算。这些数值将被填人用于计算新场景的变量单元格。 通常情况下,水晶球模拟可在几秒钟的时间内完成对数十万种场景的计算。由于所有场景产生的结果都是相关的,水晶球也可对每个场景进行追踪预测。预测单元格 (一般为函数组成的公式 )是模型的重要输出,它一般会被用于总计、 净利润或总体支出。 对于每一次预测,水晶球会记下所有尝试结果的单元格数值。在模拟过程中,可以查看所有结果的直方图,随着模拟的不断进行,它们会趋向于一个平稳的频率分布。在数十万次的尝试之后,可以得到一组结果的数值、结果的统计值 (如平均预测值 )以及得到某一特定的可能性。 水晶球法通过一个反复的三步式过程来实施蒙特卡洛模拟。对于每次模拟尝试,水晶球法会重复以下三个步骤 : (1)根据项目开发工程师定义的可能性分布为每个假设单元格生成一个数值,并将它放置到电子表格中。 (2)重新计算电子表格。 (3)获取每个预测单元格的数值并将它添加到预测窗口中的图表中。 虽然蒙特卡洛模拟有意要描绘实际的状况,但是电子数据表模型所处理的只能是近似的环境。在检查问题时,可以去掉能被确定的变量并在电子数据表模型中增加其他的变量,不断地去完善这一模型,直到它尽可能精确地描述实际的状况。 3 水晶球法在预留成本计算中的应用 Excel 中的水晶球法。使用 Excel 来运行水晶球程序 CrystalBall2000 时,完成一次典型的模拟只需几分钟。可以在任意时刻停止、继续或重置模拟。也可以为每个预测单元格显示相应的预测 图表,或在预测窗口关闭的情况下运行模拟。 能够对窗口进行选择、层叠、在同一时间打开所有的预测图表或将数据工作表或某一预测窗口放置到其他窗口的前面。在模拟运行的同时,可以继续在〔沈cel 中的工作,但是需要注意以下的例外事项 :不要变更假设或预测单元格的内容。 不要变更计算的选项。不要关闭包含有假设或预测单元格的工作表。不要退出 Excel。 模拟的运行过程中,水晶球法会使用频率分布来为每个预测单元格绘制预测图表。频率分布显示的是在给定的时间间隔内所有数值出现的次数或频率。 水晶球的运行机制中包含两个重要的内容 :假设和预测单元格。如前面所说,在使用水晶球的时候,假设单元格只能包含数字而预测单元格则包含公式。例如,假设单元格可以是某一部件的成本或是所需的工程用时。 电子数据表可包含任意多的假设单元格,但是出于合理性的考虑,至少 12一巧个假设单元格是必需的。如果假设单元格少于这一数量,建议使用其他的方法来计算预留。预测单元格通常用于项目的总体成本。 一般来说,只会有一个预测单元格,但也会有多于一个的情况。例如,电子数据表上既含有本公司在项目中所承担范围的总成本,同时也含 有由合作方所承担范围的总成本。 对于每个假设单元格,需根据实际情况及以往的经验来定义其取值的分布。这里以常用的三角形分布为例。设定假设单元格“ MAC”,的最小值为 450、最可能值为 500、最大值为 550。其中最可能值取之于填写在该单元格内的数值,而最大和最小值则可依据用户预定的范围来进行设置,而这一范围必须是以以往的项目绩效为基础来确定的。 这样就完成了该假设单元格的三角形分布定义,水晶球程序将反复地从这一分布中选取“ MAC”,的数值来进行此后的模拟。 在水晶球模拟中,假设一单元格的设定是最为关 键的,它将直接影响到预估结果的精确性。不断的数据和经验积累是必需的,在这里简单谈一下选取假设单元格的一些准则 : (1)其价格变动会对项目整体成本产生较大影响的成本项,如价格的数量级较为巨大。 (2)对于一组具有相同取值分布的小成本项,则取它们的合计来作为一个假设单元格。 (3)尽可能考虑到相关性影响,某一部件价格的变更可能会影响到其他的成本项。 (4)可增加更多的假设单元格来更好地分析潜在的风险。 在完成假设单元格和预测单元格的定义后,需对模拟的运行参数进行相应设定以进行模拟计算。这些运 行参数主要包括 : (l)模拟次数 — 可适当增加最大的模拟次数以提高精确性,最少不应低于2000 次。 (2)取样 — 随机数的生成及取样方法的选择,除了蒙特卡洛模拟外,也可选择拉丁超立方体法来作为取样的方法。 (3)运行速度 — 使用触发模式或选择最小化工作表来提高运行速度。 (4)宏 — 可在运行中加人定制的宏以完善模拟。至此,就可以运行模拟来得到计算结果,并进行相应的风险分析及预留计算。 这里的百分比值代表的是实际成本低于预测值的可能性。利用这些数据,可以很容易地绘制出项目成本超出某一指定预算或低于 这一预算的可能性曲线。 同时,项目工程师可根据对项目风险级别的要求来选取某一可能性概率作为制定预算的标准。一般来说, 50%的概率较为常用。在这个例子中,除去预留部分的预期成本为 $3861,预留的金额为 $179.4,预留的百分比为 4.6%,而带预留部分的预期成本为 $4040.4。 这就意味着,如果将预算定为 $4040.4,项目实际成本超过预算的风险概率为 50%。 此外,通过反复地增加、删除、变更假设单元格,可以鉴别预估中可能存在问题的部分。 4 结语 在进行项目成本预估时,需要增加一定的预 留成本以抵御项目实际成本超出预算的风险。预留的计算有多种方式,其中水晶球法为我们提供了其他方法所没有的计算效果,如风险的可能性分析及为不同的风险等级设定相应的预留成本等。然而,水晶球本身只是一个好的工具。要想提高预估的精确性,长期的数据积累和实际的项目经验是必不可少的。