S-Curves and Earned Value: Reading Whether You Are Actually Behind
A percentage complete tells you almost nothing on its own. Sixty per cent done is excellent in week two and a catastrophe in week nine. An S-curve fixes that by plotting cumulative planned work against time, so "how far along are we" becomes "how far along were we supposed to be by now" — and the gap between the two lines is the answer.
Why the curve is S-shaped
Projects do not burn work at a constant rate. The opening weeks go slowly — mobilising, agreeing scope, waiting for approvals — the middle accelerates as everything runs in parallel, and the tail slows again as the last items wait on sign-off and snagging.
Plot cumulative work against time and that shape comes out as a flattened S: shallow, steep, shallow. It is not a target anyone drew — it falls out of how work arrives, which is what makes it a fair yardstick. A straight line would imply twenty per cent done in twenty per cent of the time, and every project in history would look "behind" in its first month.
Reading planned against actual
Two curves. The planned curve comes from your baseline: spread each task's weight across its planned dates and accumulate. The actual curve comes from reported progress.
Read them vertically, at today:
- Actual below planned — behind, by the vertical distance.
- Actual above planned — ahead, or the progress reporting is optimistic.
- The curves diverging — getting worse, not stable. The shape that matters most, and the one a percentage never shows.
Read them horizontally instead and you get the version a status meeting understands: slide left from today's actual point to where it meets the planned curve, and you have the date the plan expected this much progress. The distance is how many weeks behind you are — the unit people actually argue in.
Earned value, without the jargon
Earned value gives the gap a number. Three quantities, and the acronyms are worse than the ideas:
- PV (planned value, BCWS) — the work you said you would have finished by now, valued at budget.
- EV (earned value, BCWP) — the work you have actually finished, valued at the same budget. A task worth £10,000 that is 40% done has earned £4,000. What it cost is deliberately irrelevant here.
- AC (actual cost, ACWP) — what you really spent.
From those three:
- SV = EV − PV — schedule variance. Negative is behind.
- CV = EV − AC — cost variance. Negative is over budget.
- SPI = EV ÷ PV — below 1.0 means behind. 0.85 means 85p of progress per pound of plan.
- CPI = EV ÷ AC — below 1.0 is over budget.
The separation is the point. A project can be on budget and badly late, or on time and haemorrhaging money, and one blended "percentage complete" hides both. As two axes, there are four places to be:
A worked example, with the arithmetic
A ten-week office fit-out, budget at completion (BAC) £200,000, spread the way fit-outs spend: slowly, then heavily through the middle trades, tapering into commissioning and snagging.
Planned spend per week, cumulated into PV:
| Week | Planned this week | Cumulative PV |
|---|---|---|
| 1 | £8,000 | £8,000 |
| 2 | £12,000 | £20,000 |
| 3 | £20,000 | £40,000 |
| 4 | £28,000 | £68,000 |
| 5 | £32,000 | £100,000 |
| 6 | £32,000 | £132,000 |
| 7 | £26,000 | £158,000 |
| 8 | £18,000 | £176,000 |
| 9 | £14,000 | £190,000 |
| 10 | £10,000 | £200,000 |
Five weeks of actuals. EV is the budget value of what is finished; AC is what it cost.
| Week | Cumulative PV | Cumulative EV | Cumulative AC |
|---|---|---|---|
| 1 | £8,000 | £6,000 | £7,000 |
| 2 | £20,000 | £17,000 | £20,000 |
| 3 | £40,000 | £33,000 | £38,000 |
| 4 | £68,000 | £55,000 | £62,000 |
| 5 | £100,000 | £82,000 | £94,000 |
Read at the end of week 5: PV = £100,000, EV = £82,000, AC = £94,000.
- SV = EV − PV = 82,000 − 100,000 = −£18,000 of budgeted work that should be finished and is not.
- SPI = EV ÷ PV = 82,000 ÷ 100,000 = 0.82. Plan is converting into progress at 82% of the assumed rate.
- CV = EV − AC = 82,000 − 94,000 = −£12,000. The work cost twelve thousand more than it was worth.
- CPI = EV ÷ AC = 82,000 ÷ 94,000 = 0.87. Every pound spent buys 87p of budgeted value.
- Per cent complete = EV ÷ BAC = 82,000 ÷ 200,000 = 41%, against 50% planned. 41% sounds fine until you know 50% was due.
- EAC = BAC ÷ CPI = 200,000 ÷ 0.8723 = £229,300. If cost performance holds, the £200,000 job lands about £29,300 over (VAC), with £135,300 still to spend (ETC = EAC − AC).
Take the horizontal read to the meeting. Where did the plan reach £82,000? Between week 4 (£68,000) and week 5 (£100,000): £14,000 into a week-5 increment of £32,000, so 14 ÷ 32 = 0.44 of that week. The plan passed £82,000 at week 4.4 — you are 0.56 of a week, under three working days, behind.
Three days behind and an SPI of 0.82 are the same fact. The ratio looks alarming because this is the steepest part of the curve, where a few days cost a lot of value. Quote both.
The seven numbers, and the specific way each gets misread
Each has a standard misinterpretation, and the misreadings do more damage than not measuring.
| Metric | Formula | What it answers | How it is misread |
|---|---|---|---|
| PV | budgeted cost of work scheduled | How much should be done by now? | Taken from current dates rather than a baseline. Those absorb every slip, so PV follows you and variance reads zero. |
| EV | BAC × % complete | How much is done, valued at budget? | Only as honest as the progress reporting behind it — the "90% done for three weeks" problem. |
| AC | actual cost incurred | What has it cost so far? | Read before invoices land. AC lags, flattering CPI early, punishing it later. |
| SV | EV − PV | How much work are we short? | Heard as a cost overrun. Measured in money, but a schedule statement. |
| CV | EV − AC | Are we paying more than the work is worth? | Compared against budget spent rather than earned value; "we have used 47% of the budget" says nothing without EV. |
| SPI | EV ÷ PV | Rate of turning plan into progress | Drifts to 1.0 near the end whatever happens — every project eventually earns its full BAC. |
| CPI | EV ÷ AC | Value bought per pound spent | Reported as exactly 1.00 by tools that infer AC from progress. A CPI from a calculator that never asked what you spent is arithmetic, not data. |
One more, because it costs projects their finish dates: earned value weights everything by budget, the critical path ignores budget entirely. A cheap two-day approval on the driving chain barely moves SPI. You can read 1.05 and still be late.
Why our tool refuses to show you a CPI sometimes
Worth stating plainly, because most free EVM calculators do the opposite. Actual cost cannot be derived from a schedule; it comes from your accounts. The shortcut is to assume a task 40% done has consumed 40% of its budget — and if you do that, AC equals EV by construction, so CPI comes out as exactly 1.00 for every project that has ever existed. It looks authoritative, responds to nothing, and tells a runaway budget it is on track.
So gantts.app takes actual cost from one place: the Spent figure you enter on a task. If no task carries one, the cost metrics — AC, CV, CPI, EAC, ETC, VAC — come back empty and the panel omits them rather than guessing. SV and SPI still work, needing only dates and progress. A missing number is honest; a confident wrong one is not.
The CPI of 0.87 above exists only because someone typed £94,000 of real spend. No Gantt chart knows that figure.
For the same reason the earned curve behind today is reconstructed, not recorded. The tool stores one progress reading per task, not a history, so a truthful earned curve for past dates is not recoverable. Rather than refuse to draw it, we reconstruct it under a stated assumption — progress accrued evenly across each task's elapsed working days. That is exact at the status date, where the metrics are read, and approximate behind it. The panel says as much.
You do not need a budget to get a curve
Most plans carry no cost data, and an S-curve that needs one is a curve nobody draws.
With no costs, gantts.app weights each task by working-day duration. Same shape, axis in working days rather than currency; SV and SPI mean what they meant above, in days instead of pounds. Add costs later and the panel switches to a value curve.
Two details change the numbers. Only leaf tasks count: summary bars roll up their children's cost, so counting both inflates BAC by the depth of your outline. Milestones, being zero-duration, contribute nothing.
One thing matters more than any of this: set a baseline. Without one, "planned" means your current dates, which already contain every slip. Schedule variance then reads zero forever — reassuring and useless.
Baseline ▸ Set baseline, once, when the plan is agreed. The tool reports which source it used, so you can tell a real variance from a comparison of your dates against themselves.
How to build one here
- Build or import your schedule, dates roughly right.
- Baseline ▸ Set baseline when the plan is agreed. This freezes what "planned" means.
- Optionally give tasks a Budget, so the curve reads in money rather than days.
- Update % complete as work happens — the earned curve is made of it.
- Enter Spent per task to unlock CPI, cost variance and the forecast at completion.
- Click 📈 S-curve.
Runs in your browser: no account, no upload, no spreadsheet to maintain.
Templates that use this
- Project Management Gantt Chart Template
- Free Construction Gantt Chart Template
- Browse all Gantt chart templates
Keep reading
- Baseline vs Actual: Tracking Schedule Variance on a Gantt Chart
- Critical Path Method (CPM): Steps, Formula & Example
- The 3-Week Lookahead Schedule (Without Retyping It Every Monday)
Frequently asked questions
What is an S-curve in project management?
A graph of cumulative planned work against time. It is S-shaped because projects start slowly, accelerate, then taper. Plotted against actual progress, the vertical gap between the curves is how far ahead or behind you are.
What is the difference between an S-curve and earned value?
The S-curve is the picture; earned value is the arithmetic behind it. EVM puts numbers on the gap — SV, SPI, CV, CPI — where the curve shows its shape and direction.
What does an SPI of 0.9 mean?
You have earned 90% of the value the plan said you would have by now — roughly 10% behind in value terms. Below 1.0 is behind. It does not tell you how many days late you are — read the gap horizontally for that.
How do I calculate SPI and CPI by hand?
Three numbers at the same status date: PV, the budget value of work scheduled by now; EV, the budget value of work finished; AC, what you spent. SPI is EV ÷ PV; CPI is EV ÷ AC. With PV £100,000, EV £82,000 and AC £94,000: SPI 0.82, CPI 0.87.
Do I need cost data to use an S-curve?
No. Without costs, tasks are weighted by working-day duration and you get a progress curve — same shape, read in days. Costs turn it into a value curve and unlock the cost metrics.
Why is CPI not showing?
Because no actual costs have been entered. CPI needs real spend; deriving it from percentage complete makes it exactly 1.00 for every project. Add a Spent figure to your tasks and it appears, with CV, EAC and the rest.
Can I make an S-curve in Excel?
Yes, and most people do — a cumulative column and a chart maintained by hand, redone whenever dates move. Generating it from the schedule removes the step.