Forecast to completion
Learn Finance · Project & Cost Finance · Task A5. Turn today's CPI/SPI into the projected final cost — and the efficiency you'd need to still land on budget.
Drill the EAC/TCPI formulas in PMP Reps → Finance · Cost & EVM.
What it is
Once you have EVM numbers (A4), you can forecast the finish:
- EAC — Estimate at Completion: the expected total cost. Four forms, depending on what you believe about the remaining work:
| Assumption | EAC formula |
|---|---|
| Current cost efficiency continues (the usual) | BAC ÷ CPI |
| The overrun was a one-off; rest goes to plan | AC + (BAC − EV) |
| The plan is broken — re-estimate the rest | AC + bottom-up ETC |
| Both cost and schedule drag the rest | AC + [(BAC − EV) ÷ (CPI × SPI)] |
- ETC — Estimate to Complete: the cost still to spend = EAC − AC.
- VAC — Variance at Completion: the forecast over/under at the end = BAC − EAC.
- TCPI — To-Complete Performance Index: the efficiency the remaining work must hit to still finish on budget = (BAC − EV) ÷ (BAC − AC).
Why it matters
- A forecast is a decision tool. "We'll finish at $2.35M against a $2.0M budget" prompts action now — descope, add funds, or re-plan — while there's still time.
- TCPI is a reality check. If you've been running at CPI 0.85 and TCPI says the rest must run at 1.15, that's a judgment call: is a sudden efficiency jump credible, or do you need a new budget?
- It replaces hope with maths. "We'll make it up later" is a wish; EAC is a number.
Where you do it in VanillaPM
Everything below is in Project → Control → Overview (apps/budget/evm.py), alongside the
EVM indices (A4). A step-by-step:
-
Start from the same PV/EV/AC/BAC. The forecast reuses the earned-value inputs — no new data entry.
-
Read the EAC variants.
derive_forecasts(pv, ev, ac, bac)returns every Estimate at Completion — the optimistic AC + (BAC − EV), the CPI-based BAC ÷ CPI, and the cost-and-schedule AC + (BAC − EV) ÷ (CPI × SPI) — so you can see the range, not one guess. -
Read ETC and VAC. ETC (Estimate to Complete) is what's left to spend; VAC (Variance at Completion = BAC − EAC) is whether you'll land over or under the budget.
-
Check the recovery bar — TCPI. The dashboard shows the forecast against the BAC and the TCPI (To-Complete Performance Index): the efficiency the remaining work must hit to still finish on budget. A TCPI well above 1.0 is the honest "we can't claw this back" signal.
-
Add the time view.
derive_earned_scheduleadds the earned-schedule read — the schedule analogue of EVM — so "when will we finish?" gets the same evidence-based answer.
Walked example — Meridian
From A4: BAC $2,000,000 · EV $850,000 · AC $1,000,000 · CPI 0.85.
| Metric | Calc | Result |
|---|---|---|
| EAC (CPI continues) | BAC ÷ CPI = 2,000,000 ÷ 0.85 | $2,352,941 |
| ETC | EAC − AC = 2,352,941 − 1,000,000 | $1,352,941 |
| VAC | BAC − EAC = 2,000,000 − 2,352,941 | −$352,941 (overrun) |
| TCPI (to hit BAC) | (BAC − EV) ÷ (BAC − AC) = 1,150,000 ÷ 1,000,000 | 1.15 |
So at today's rate Meridian finishes ~$353k over, and to still hit $2.0M the remaining work would have to run at 1.15 — after running at 0.85 all year. That gap is the sponsor conversation: fund the overrun, cut scope, or justify why efficiency will suddenly jump.
The numbers
The most-used forecast is EAC = BAC ÷ CPI — it simply says "if we keep buying work at this efficiency, here's the total." TCPI > 1.0 means the rest must run harder than planned — and a TCPI far above the CPI you've actually achieved is usually a sign the BAC is no longer realistic (switch the TCPI denominator to the approved EAC).
Controls & assurance
- The right EAC variant for the situation — don't default to BAC÷CPI if a change broke the plan.
- EAC reported with its TCPI — the forecast and the efficiency it implies.
- A forecast reconciled to the baseline + reserves — an EAC over BAC is a draw on reserve or a change request, made explicit.
- The trend in EAC tracked, not just a single reading.
Best practices & pitfalls
- Do pick the EAC formula that matches reality — one-off overrun vs systemic vs broken plan.
- Do treat a TCPI that's wildly above your historical CPI as a red flag, not a target.
- Pitfall: "we'll recover it later" with no plan. If CPI has been 0.85 for months, assuming 1.15 for the rest needs a concrete reason.
- Pitfall: quietly moving to EAC as the new baseline. The baseline changes only through change control; EAC is a forecast, not a re-baseline.
Practise question
Q1. BAC = $1,000,000, EV = $400,000, AC = $500,000. Give EAC (assuming CPI continues), VAC, and the TCPI to still hit BAC — and say whether that TCPI is realistic.
Answer: CPI = 400/500 = 0.8 → EAC = 1,000,000 ÷ 0.8 = $1,250,000; VAC = 1,000,000 − 1,250,000 = −$250,000; TCPI = (1,000,000 − 400,000) ÷ (1,000,000 − 500,000) = 600/500 = 1.2. Running at 0.8 so far but needing 1.2 for the rest is a 50% efficiency jump — rarely realistic; the BAC is probably no longer viable.
Terms used here
- EAC — estimate at completion (expected total cost); four variants.
- ETC — estimate to complete (cost still to spend) = EAC − AC.
- VAC — variance at completion = BAC − EAC.
- TCPI — to-complete performance index; the efficiency the remaining work must hit.
- Related: Measure performance with Earned Value — the CPI/SPI these forecasts are built on.
What the sponsor / PMO expects
An EAC with the TCPI it implies, and a clear ask when EAC exceeds BAC — reserve draw, change request, or descope. A forecast that just reports a bigger number without a decision attached isn't finished.