| Vose Software

Industry: Project Management
Product: ModelRisk
Application: Project Tracking and Risk Quantification


The Month-14 Dashboard: When the CPI Number Is Not the Forecast

A CPI of 0.879 and an SPI of 0.896 — the monthly project-tracking report for a $310M data-centre build at month 14 of 28 — looks bad on a dashboard, but exactly how bad is what the deterministic EVM formulae cannot say. EAC = BAC / CPI gives $353M. That is one possible answer. It treats the historical CPI as if it were the future CPI, and silently assumes the four discrete risk events still open on the register all resolve at zero impact. Neither assumption is defensible at the trigger threshold the steering committee actually cares about.

A hyperscale-data-centre operator replaced its monthly EVM trigger logic with a Monte Carlo re-forecast in ModelRisk. Every monthly cut produces the same chart: a forecast EAC distribution with P50 / P80 / P90 lines drawn. The steering committee no longer reads a number — it reads a distribution, and the trigger is a probability of breaching BAC, not a current EAC.

Month-14 EAC re-forecast — data-centre new build

The deterministic BAC/CPI formula returns $353M — about $43M over BAC. The simulation lands the P50 at roughly $364M, the P80 at $383M, and the P90 at $393M. The probability of staying within BAC is effectively zero: even the optimistic tail of the forecast clears the approved budget. The single-number formula sits below the simulation's own central tendency; what it hides is the $19M gap between P50 and P80 — the contingency reserve the project actually needs to commit, sized to a confidence level, not to a guess.

What the month-14 snapshot is feeding the model

The controls team's monthly EVM data for the data-centre build at month 14:

Metric Value
BAC (approved budget) $310M
PV (planned value) at m14 $148.8M (48% planned)
EV (earned value) at m14 $133.3M (43% physical, 5 points behind plan)
AC (actual cost) at m14 $151.7M
CPI = EV/AC 0.879
SPI = EV/PV 0.896
Remaining EV to earn $176.7M

The probabilistic re-forecast was built directly off those numbers, with two stochastic ingredients:

  1. CPI_remaining drawn from LogNormal centred on 0.85, sigma_log = 0.10. The centre is slightly worse than the observed CPI because post-fit-out activities at this build stage typically deteriorate productivity by 3–5%; the LogNormal shape allows the right tail of further deterioration without admitting impossible negative values.
  2. SPI_remaining drawn from LogNormal centred on 0.90, sigma_log = 0.08 — used to re-forecast the finish month.

Four open risk-register events were also fired each iteration as Bernoulli × impact: chiller-package rework (P = 0.25, LogNormal mean $6M), fibre-route outage (P = 0.15, LogNormal mean $4M), permit modification (P = 0.10, Triangular $2–12M), and commissioning slip (P = 0.30, LogNormal mean $8M).

Cost and schedule live together

Tracking cost without tracking schedule is a familiar way to get blindsided — a project that earns its value early can still go cost-over because the cost variance compounds. The simulation forecasts both jointly:

Joint cost-schedule forecast — month-14 dashboard

The scatter shows the simulation's positive correlation between EAC and finish month — slow projects are also expensive ones. At month 14 the cost overrun is all but certain (P(EAC > BAC) ≈ 100%), so the live risk the committee is actually managing is the schedule: the joint probability of being both over-budget and past the 28-month plan is about 91%, driven almost entirely by the schedule margin. The "covered to here" rectangle (P80 on both axes) gives the steering committee its commitment envelope: roughly $383M and 30.7 months, instead of $310M and 28 months.

EAC tightens with every monthly cut

The same model is re-run with each month's snapshot. Comparing months 6, 14, and 22 shows the distribution collapsing as more value is earned:

EAC forecast tightens with each monthly reporting cut

The month-6 P80–P50 gap is roughly $42M; at month 14 it is $19M; by month 22, after the chiller-rework window has closed, it is about $6M. The trigger logic that the steering committee built around this view is simple: any monthly cut whose P80 EAC exceeds the previously committed reserve fires a stage-gate review.

Where the residual variance lives

Tornado — drivers of the month-14 EAC

CPI_remaining is the largest single mover by a wide margin — it dominates the chart. The commissioning slip event ranks second among the discrete risks — a risk-register event the project director had been treating as low-priority because of its 30% probability. The tornado said it carried about 1.5x the EAC spread of the chiller-rework event, and the closeout plan was rewritten the same week.

What the model changed

  • The reserve was sized to a probability, not a percentage. The board reset the committed contingency to $73M (P80 EAC minus BAC) rather than the original 5% blanket on remaining work.
  • The trigger rule became defensible. The previous rule — "review if CPI drops below 0.85" — was a guess. The new rule — "review if P80 EAC rises by more than $5M in a single monthly cut" — fires on actual change in the forecast and is calibrated to the noise of the simulation.
  • Commissioning closure was accelerated. Two early commissioning rehearsals (cost $1.1M) collapsed the commissioning-slip event probability from 0.30 to 0.12 — a re-run showed P80 EAC dropping by about $5M for a $1.1M spend.
  • Cost and schedule reports merged. The two dashboards — one for cost, one for schedule — were replaced by the joint scatter chart. Steering-committee questions stopped being "are we on cost?" or "are we on schedule?" and started being "what is the joint probability of breaching the committed envelope?"

ModelRisk functionality used

  • EVM-coupled forecasting in which CPI_remaining and SPI_remaining are drawn each iteration from LogNormals — the EAC formula BAC/CPI is replaced by its probabilistic generalisation.
  • Joint cost-schedule output — the scatter chart that reveals the ~91% probability of joint over-budget-and-late status and the positive cost-schedule correlation, the structure neither marginal dashboard surfaced.
  • Live risk-register integration — Bernoulli × impact events are summed into the EAC each iteration, so closing or opening an event in the register is reflected on the next monthly cut without re-coding.
  • Trigger logic on P80 movement — the simulation's confidence-level outputs feed directly into the steering-committee trigger thresholds.
  • Monthly re-runs on the live snapshot — the same model, same seed family, run against each month's PV/EV/AC numbers, so changes in the forecast are attributable to project change, not Monte Carlo noise.
  • Rank-correlation tornado that ranked commissioning-slip ahead of chiller-rework in EAC spread — the input that re-prioritised the mitigation budget mid-build.

Project tracking is not the act of writing a CPI number on a slide. It is the act of asking, every month, "given everything we know today, what is the distribution of where this project actually ends?" Monte Carlo simulation is what makes that question answerable.