---
title: "Performance analysis in practice: a full monthly cycle"
description: "Putting it all together This lesson walks through one complete monthly cycle for a fictional project, integrating the techniques from earlier modules…"
url: https://optimizeall.com/learn/project-controls-with-ai/performance-analysis-in-practice
updated: 2026-10-05
---

Project Controls in the AI Era · Reporting, dashboards and data foundations · lesson 19 of 22 · 14 min

# Performance analysis in practice: a full monthly cycle

## Putting it all together

This lesson walks through one complete monthly cycle for a fictional project, integrating the techniques from earlier modules. Use it as a template for your own practice.

## The project

*Illustrative.* Desert Bloom Water (fictional), a KSA desalination pump station upgrade. BAC $12.0M, 18-month plan, contingency $1.0M held separately. Status at end of month 9.

## Step 1: collect and validate data

- Schedule updated with actual dates and remaining durations (data date: end of month 9).
- Actual costs from ERP plus $420k accruals for completed but uninvoiced work.
- Progress measured by weighted milestones (procurement) and units with rules of credit (installation).
- Reconciliation: control account budgets in the schedule sum to $12.0M; ERP codes map to WBS.

## Step 2: calculate performance by control account

| Control account | BAC | PV | EV | AC | CPI | SPI |
|---|---|---|---|---|---|---|
| 1.1 Management (LOE) | 1.2 | 0.60 | 0.60 | 0.62 | 0.97 | 1.00 |
| 1.2 Civil | 2.4 | 1.90 | 1.80 | 1.85 | 0.97 | 0.95 |
| 1.3 Pumps & mechanical | 5.0 | 2.80 | 2.20 | 2.70 | 0.81 | 0.79 |
| 1.4 Electrical & controls | 3.4 | 1.20 | 1.00 | 1.08 | 0.93 | 0.83 |
| **Total** | **12.0** | **6.50** | **5.60** | **6.25** | **0.90** | **0.86** |

(All values $M.) The total CPI of 0.90 hides that account 1.3 is at 0.81 and responsible for most of the overrun.

## Step 3: analyse causes

Interview the control account managers and check evidence:

- 1.3: pump skids arrived with defects; rework on site used extra labour; vendor claim pending. Root cause: factory acceptance tests were waived to save time.
- 1.4: behind because it depends on 1.3; cost efficiency is acceptable.

## Step 4: forecast

For 1.3 (BAC 5.0, EV 2.2, AC 2.7, CPI 0.81): remaining work 2.8.

- Budget rate EAC: 2.7 + 2.8 = 5.5
- CPI EAC: 5.0 / 0.815 ≈ 6.13
- Bottom-up: rework mostly complete, remaining installation planned at near-budget productivity with a supervision upgrade; ETC 3.1 → EAC 5.8

Controls selects EAC 5.8 with rationale, noting the pending vendor claim (potential recovery of up to $0.2M, not yet included because it is uncertain). Project EAC becomes roughly 12.0 + 0.8 (from 1.3) + smaller variances elsewhere ≈ 12.9M, within BAC + contingency ($13.0M) but with little margin.

Schedule: network forecast shows a 5-week slip on the critical path through pump installation; earned schedule suggests a larger slip. Planner investigates and finds electrical works can be partially fast-tracked, supporting a forecast of 6 weeks late (P50), 10 weeks (P80) from the updated risk model.

## Step 5: risks and changes

- Contingency remaining $1.0M vs risk exposure (P80 − P50 cost) $1.3M → exposure exceeds contingency; escalate.
- Pending change: client-requested SCADA upgrade, CR-12, +$0.35M, not yet approved.

## Step 6: report and decide

Executive summary headline: *"Forecast cost $12.9M (+7.5% vs BAC, within contingency) and handover 6 weeks late (P50). Pump-skid defects are the main driver. Decisions needed: approve reinstated factory acceptance tests for remaining skids; decide CR-12 by 15th to avoid a further 3-week impact; note risk exposure exceeds remaining contingency."*

## Step 7: act and follow up

Actions logged with owners: FAT reinstatement (procurement lead), vendor claim submission (commercial manager), fast-track plan for electrical (planner), updated QRA next month (risk analyst).

## Lessons from the cycle

- Control-account analysis located the problem quickly.
- Root cause (waived tests) led to a preventive action, not just a cost adjustment.
- Multiple forecast methods framed a credible range.
- Contingency vs exposure triggered escalation early.

## Template: monthly cycle checklist

```
[ ] Data date set; all sources closed
[ ] Accruals posted; reconciliation done
[ ] Progress measured with agreed rules and evidence
[ ] EVM by control account calculated
[ ] Variances above threshold explained (root cause)
[ ] EAC range + selected EAC with rationale
[ ] Schedule forecast (network + earned schedule), risk-adjusted if available
[ ] Contingency vs exposure compared
[ ] Change log and pending changes reviewed
[ ] Executive summary with decisions required
[ ] Actions logged and last month's actions closed out
```

## Hands-on: the Desert Bloom cycle in a few lines of Python

```python
import pandas as pd

ca = pd.DataFrame({
    "account": ["1.1 Management (LOE)", "1.2 Civil", "1.3 Pumps & mech", "1.4 Electrical & controls"],
    "BAC": [1.2, 2.4, 5.0, 3.4], "PV": [0.60, 1.90, 2.80, 1.20],
    "EV": [0.60, 1.80, 2.20, 1.00], "AC": [0.62, 1.85, 2.70, 1.08],
})
ca["CPI"] = ca.EV / ca.AC
ca["EAC_budget_rate"] = ca.AC + (ca.BAC - ca.EV)
ca["EAC_cpi"] = ca.BAC / ca.CPI
print(ca.round(2).sort_values("CPI"))

tot = ca[["BAC", "PV", "EV", "AC"]].sum()
print(f"Project CPI {tot.EV/tot.AC:.2f}, SPI {tot.EV/tot.PV:.2f}")

contingency_remaining, exposure = 1.0, 1.3        # exposure = P80 - P50 cost from the QRA
print("Contingency vs exposure:", "ESCALATE" if exposure > contingency_remaining else "OK")
```

The bottom-up EAC for 1.3 (5.8M) comes from the control account manager's re-estimate, not from a formula; record it next to the formula range with its rationale.

## Prompt template: a first-draft headline

```text
From the table and notes below, draft a 3-sentence executive headline:
(1) forecast cost vs BAC with % and whether within contingency; (2) forecast handover at P50 and P80;
(3) main driver and the decisions required with dates. Use only the figures given; cite each in brackets.
Notes: selected EAC 12.9M; contingency 1.0M; exposure 1.3M; CR-12 +0.35M, decision needed by the 15th.
```

## How to measure success

- The monthly checklist is completed every period, with last month's actions closed out first.
- Every account beyond threshold has a root cause, not a symptom.
- The executive headline states forecast, confidence and decisions in under 100 words.

## Video lecture: Performance analysis in practice: a full monthly cycle

Lecture coming soon · 9 chapters · about 8 minutes. Read the full transcript below.

1. One full monthly cycle, start to finish
2. Why practise the whole cycle?
3. Step one and two: validate, then calculate
4. Step three: analyse causes
5. Step four: the forecast range
6. Watch me do it: contingency versus exposure
7. Step six and seven: report, decide, act
8. Where monthly cycles usually break
9. Lessons from the cycle, recap and try this now

## Lecture transcript

### One full monthly cycle, start to finish

So far we've covered each technique on its own. Now let's put them together, the way you'd actually use them in a real month. We're going to walk through one complete controls cycle for a fictional project: Desert Bloom Water, a desalination pump station upgrade in Saudi Arabia. Budget at completion, twelve million dollars. An eighteen-month plan. One million of contingency held separately. We're at the end of month nine. By the end of this lecture you'll have seen every step: validating the data, calculating performance by control account, finding the root cause, building a forecast range, comparing contingency with exposure, writing an executive headline with decisions, and logging actions. Use it as the template for your own monthly cycle.

### Why practise the whole cycle?

Why walk through a whole cycle? Because techniques only create value in sequence. Perfect earned value calculations on unreconciled data are wrong. A great forecast with no root cause leads to the wrong action. A clear report with no action log changes nothing. Think of it like dominoes: each step has to knock over the next. And the cycle is only as strong as its weakest step. So as we go through Desert Bloom, notice how each step depends on the one before, and ask yourself which step is weakest on your own projects.

### Step one and two: validate, then calculate

Step one, validate. The schedule is updated with actual dates and remaining durations at the end of month nine. Actual costs come from the ERP, plus four hundred and twenty thousand of accruals for work done but not invoiced. Progress is measured with weighted milestones for procurement and units with rules of credit for installation. Budgets in the schedule sum to twelve million, and ERP codes map to the WBS. Only now do we calculate. Step two: earned value by control account. Management, level of effort, CPI about nought point nine seven. Civil, nought point nine seven. Pumps and mechanical, nought point eight one. Electrical and controls, nought point nine three. Project total: CPI nought point nine, SPI nought point eight six. And here's the lesson: that total CPI of nought point nine hides the fact that one account is at nought point eight one and driving most of the overrun.

### Step three: analyse causes

Step three, analyse. We interview the control account managers and check the evidence. For pumps and mechanical: the pump skids arrived with defects, rework on site used extra labour, and there's a vendor claim pending. But that's still a symptom. Why did defective skids reach site? Because the factory acceptance tests were waived to save time. That's the root cause, and it matters enormously, because it points to a preventive action for the remaining skids, not just a cost adjustment. For electrical and controls: it's behind mainly because it depends on the pumps, but its cost efficiency is acceptable. So the cause of electrical's schedule problem sits in another account. That's why analysis by control account, and by dependency, beats a project-level average every time.

### Step four: the forecast range

Step four, forecast. For pumps: budget five million, earned value two point two, actual cost two point seven, so CPI about nought point eight one. Budget-rate EAC: two point seven plus the remaining two point eight, five point five million. CPI method: about six point one three million. Then the bottom-up: the rework is mostly complete, remaining installation is planned at near-budget productivity with a supervision upgrade, giving an ETC of three point one and an EAC of five point eight million. Controls selects five point eight, with a written rationale, and notes a pending vendor claim of up to two hundred thousand, excluded because it's uncertain. Project EAC comes to about twelve point nine million: within budget plus contingency of thirteen million, but with little margin. On schedule, the network shows a five-week slip; earned schedule suggests more; after checking a partial fast-track of electrical, the forecast is six weeks late at P50 and ten at P80.

### Watch me do it: contingency versus exposure

Step five, risks and changes, and let me show you the check I never skip. In my sheet I have one cell for remaining contingency, one million. In the next, remaining risk exposure from the updated quantitative analysis. Here I'm using P80 minus P50 cost as the measure of exposure the project is carrying, one point three million. A third cell compares them. Exposure exceeds contingency, so it turns red and says escalate. That line goes straight into the executive summary. Then I check the change log. There's a client-requested SCADA upgrade, change twelve, plus three hundred and fifty thousand, not yet approved. And critically, the decision is time-sensitive: if it isn't decided by the fifteenth, there's a further three-week impact. That goes into the decisions section too.

### Step six and seven: report, decide, act

Step six, report and decide. Here's the headline: forecast cost twelve point nine million, seven and a half per cent over budget but within contingency, and handover six weeks late at P50. Pump-skid defects are the main driver. Decisions needed: approve reinstated factory acceptance tests for the remaining skids, and decide on change twelve by the fifteenth to avoid a further three-week impact. Note that risk exposure exceeds remaining contingency. Step seven, act and follow up. Actions logged with owners: reinstate factory tests, the procurement lead. Submit the vendor claim, the commercial manager. The electrical fast-track plan, the planner. And an updated risk analysis next month, the risk analyst. Next month's review opens by closing out these actions.

### Where monthly cycles usually break

Before we wrap up, let's be honest about where monthly cycles usually break, because I've seen every one of these. The first is calculating before validating: producing beautiful earned value charts on data that hasn't been reconciled, so a missing accrual quietly becomes 'improved performance'. The second is stopping at the symptom. 'Pumps are over budget' goes into the report, and nobody asks why the skids were defective, so the same thing happens on the next batch. The third is a single-number forecast with no range and no rationale, which invites an argument rather than a decision. And the fourth is the most common of all: no action log. The report is issued, the meeting happens, everyone nods, and next month the same variances appear with slightly bigger numbers. If you fix only one thing, make sure every review ends with owned, dated actions.

### Lessons from the cycle, recap and try this now

What did this cycle teach us? Control-account analysis located the problem in minutes, where a project total would have hidden it. The root cause, waived tests, led to a preventive action, not just a cost adjustment. Multiple forecast methods framed a credible range, and the selected number came with a rationale. And comparing contingency with exposure triggered escalation early, while there was still room to act. So, to recap the cycle: validate, calculate by account, analyse root causes, forecast a range, compare contingency with exposure and review changes, report with decisions, then act and follow up. Your try-this-now: run the monthly checklist from the lesson on a real or practice project, and write a one-paragraph executive headline that ends with the decisions required.

## Key takeaways

- Integrate data validation, EVM, root-cause analysis, forecasting, risk and change in one monthly cycle.
- Control-account analysis locates problems that project totals hide.
- Compare remaining contingency with quantified risk exposure and escalate early.
- Reports end in specific decisions and owned actions.

## Try it

Run the monthly cycle checklist on a real or practice project and produce a one-paragraph executive headline with decisions required.

- [Previous: Data foundations: integration, quality and tools](https://optimizeall.com/learn/project-controls-with-ai/data-foundations)
- [Next: Where AI adds value in project controls](https://optimizeall.com/learn/project-controls-with-ai/ai-use-cases)
- [All lessons of Project Controls in the AI Era](https://optimizeall.com/learn/project-controls-with-ai)
