Zepth Rx · Schedule Intelligence

Earned Value Management (EVM)

Percentage complete is the least trustworthy number on a project. Earned value gives progress a currency.

Last updated

Zepth Rx module

Earned Value

AI agent built into the module
The cost basis comes from the billQuantity and rate, not just moneyReconciled, not assumed to agreeFive earned-value methods

Overview

“We’re 40% complete” is self-reported, optimistic, and has no unit — 40% of what? Earned value fixes that by asking three questions with the same denominator: how much value should have been earned by now, how much has actually been earned, and how much has been spent to earn it. Every index and every forecast follows from those three and the budget.

Most EVM implementations fail before the first formula, because there is no credible money on the programme — resource costs in a P6 file are frequently a single lump loaded against every activity, or absent entirely. Zepth Rx builds the cost basis from your bill of quantities and maps it onto the programme, so the money on the schedule is the money in the contract.

Why plain SPI stops telling the truth

Plain SPI has a structural flaw. As a project finishes, planned value and earned value both converge on the budget at completion — so SPI is guaranteed to drift back toward 1.00 whether or not the project is late. A badly delayed job can read “on schedule” right up to handover.

Earned Schedule expresses schedule performance in time instead of money. It finds the point on the planned curve where today’s earned value was supposed to have been reached, and compares it to now. Actual time is counted on the calendar, so SPI(t) is not pinned at 1.0 once a project runs past its planned end.

When a number would be worse than nothing

When actual cost was never recorded, every cost forecast returns nothing — not a number.

The alternative is worse than useless. With actual cost treated as zero, EAC equals BAC, VAC equals zero and ETC equals BAC, and the screen reads “forecast to land precisely on budget” about a project whose spend nobody has entered. Zepth Rx shows “not computed”, and says why.

A plausible number computed from a fraction of the data is worse than no number, because nothing about it looks wrong.
Zepth Rx — completeness declarations

A trap worth naming, because it is invisible

A P6 import writes 0.00 into the actual-quantity column on every row as a default. A per-row “is this present?” test would therefore be true everywhere, switch the whole programme to quantity-based earning, and return an earned value of zero on a fully mapped project.

Zepth Rx tests the corpus — is this column tracked anywhere on this project? — rather than the row. The same discipline applies to actual cost. It is the kind of defect that produces a confident, precise, entirely wrong number, which is the only kind that survives review.

How it looks

The instruments this module produces, drawn on illustrative data so the method reads clearly.

Figure 4.1 — Progress S-curveIllustrative
0150m300mBAC 444mdata dateEV 199mAC 229mPV 276mEAC 471mQ1Q2Q3Q4Q5Q6
  • Planned value
  • Earned value
  • Actual cost
  • Forecast to completion

Planned value, earned value and actual cost to the data date. The headline planned value is read off this same curve, so the number and the chart cannot disagree.

Figure 4.2 — Performance trend across revisionsIllustrative
0.70.80.91.0SPI 0.92CPI 0.87SPI(t) 0.70v1v2v3v4v5v6v7v8SPI recovers toward 1.00 while the project gets later. SPI(t) does not.

Why SPI(t) leads the KPI strip. Plain SPI is pulled back toward 1.00 as planned and earned value both converge on the budget — so a late project reads “on schedule” near the end. Earned Schedule measures in time and keeps saying something.

Figure 4.3 — The forecast is a range, never one EACIllustrative
BAC 444mEAC (optimistic)474mthe overrun was one-offEAC (CPI-based)510mtoday’s cost performance continuesEAC (composite)549mcost and schedule performance both continueThe card shows the min–max range of all three — never a single EAC, and the composite is not labelled “worst case”.

Three models, three stated assumptions. The composite is not “worst case” — on a project running ahead of schedule it can land below the others.

Figure 4.4 — Cost variance by tradeIllustrative
Facade-14.2mCPI 0.79MEP 1st fix-9.6mCPI 0.86Lift installation-6.1mCPI 0.83Blockwork-3.4mCPI 0.94Concrete frame+2.8mCPI 1.04Substructure+5.1mCPI 1.09cost variance (EV − AC), AED millions

Localising the variance. Indices are recomputed per node, never averaged — averaging indices across nodes of different size produces a number that means nothing.

The value

Why it matters

A cost basis derived from the bill, so earned value and the payment application describe the same project.

CPI — the most reliable early predictor of final cost on a construction project — available honestly at 20% complete rather than re-forecast at 60%.

A schedule signal that survives to the end of the job, when plain SPI has stopped saying anything.

TCPI converts “we’ll recover it” into the efficiency every remaining unit of work must now achieve.

Capabilities

What you can do

01

The cost basis comes from the bill

Import the BOQ; it is parsed into priced sections and items and gives the contract value. Map bill sections to activities by discipline — the proposal is generated for you, but nothing is written until a human reviews and applies it. A cost basis that appeared silently is a cost basis nobody will defend.

02

Quantity and rate, not just money

The bill-to-programme bridge carries quantity and rate, so a re-measurement flows through correctly instead of leaving a stale lump of cash on an activity — and it is what allows earning against installed quantity.

03

Reconciled, not assumed to agree

Where the bill’s total and the schedule’s cost basis differ, the difference is shown and named. Provisional sums and contingency land in reserves and do not reach an activity.

04

Five earned-value methods

Percent complete, 0/100 for milestones, 50/50, 20/80, and units. Settable per activity and otherwise inferred: a milestone earns 0/100, an activity with tracked quantities earns on installed over budgeted quantity, everything else earns on percent complete.

05

The full index set

CV, SV, SPI, CPI, three EAC forecasts as a range, ETC, VAC and TCPI — each with its stated assumption. The forecast is always a range of three, never a single EAC, and the composite is not labelled “worst case” because on a project running ahead of schedule it can land below the others.

06

Earned Schedule

Schedule performance expressed in time rather than money: SPI(t) = ES ÷ AT, and SV(t) in working days. It leads the KPI strip because it is the one that stays truthful.

07

Two ways to roll it up

By work breakdown — which part of the building is behind — with indices recomputed per node rather than averaged. And by the bill — which pay item is losing money — with each activity’s earned value split across the pay items funding it, so the two axes reconcile exactly.

The workflow

How it actually runs

  1. 1

    Import the bill of quantities

    Parsed into priced sections and items, giving the contract value. Excel or CSV, with quantities and rates.

  2. 2

    Map the bill to the programme

    A proposal is generated by discipline, with trade names normalised. Nothing is written until a human reviews and applies it.

  3. 3

    Designate the baseline

    The performance measurement baseline is an explicit choice, paired on stable identity, with unpaired activities reported as coverage rather than dropped.

  4. 4

    Record actual cost

    Import it, or record certified amounts against pay items. Without it the cost side reports that it cannot be computed.

  5. 5

    Read performance

    Indices, the three forecasts as a range, and Earned Schedule — rolled up by work breakdown and by the bill.

AI that does the work

How AI changes Earned Value management.

Narrates the performance position

What moved this cycle, which trades and pay items carry the variance, and what each of the three forecasts assumes.

Machine-checked against the engine

Every figure the narrative states is reconciled against the computed value; anything that cannot be reconciled is flagged on screen and the calculated figures govern.

It computes nothing

Every index, every forecast and every roll-up is deterministic arithmetic you can open and re-derive by hand.

The engineer’s judgment stays in charge; the AI removes the latency and the blind spots.

Best practices

  • Review the bill-to-programme mapping before applying it. It is generated as a proposal precisely so that a human owns the cost basis every subsequent figure rests on.
  • Designate the performance measurement baseline explicitly. Pairing runs on stable identity and is gated so two revisions of different programmes are never compared, but the choice of baseline is yours to make.
  • Record actual cost from the first cycle. Without it the schedule side works fully and the entire cost side honestly reports that it cannot be computed.
  • Keep BAC and contract value separate in the bill view. The gap between them is the quantity-surveying reconciliation, and collapsing it hides the very thing a cost manager is looking for.

Dashboards & reporting

KPI cards, the progress S-curve, performance indices across revisions, the forecast range, budget and earned value by trade, work-breakdown performance, and the worst variances with their basis — plus a print-ready EVM report. Where a contractor’s own cost history exists, the S-curve can also be drawn as they report it, beside the platform’s own calculation.

Live dashboards
Drill-down & filters
Export to Excel / PDF
FAQ

Common questions

Why build the cost basis from the bill rather than the programme?

Because resource costs in a submitted P6 file are frequently a single lump loaded against every activity, or absent entirely. Mapping the bill onto the programme means earned value and the payment application describe the same project.

What happens before a cost basis exists?

Earned Value is explicitly locked and points you to the cost data screen. It shows a lock, not a screen of zeros.

Why three EAC forecasts instead of one?

Because each rests on a different assumption — that the overrun was one-off, that today’s cost performance continues, or that both cost and schedule performance continue. A single EAC hides which assumption you are relying on.

What is Earned Schedule for?

Plain SPI is pulled back toward 1.00 as a project finishes, whether or not it is late. Earned Schedule measures in time instead of money, so it keeps saying something to the end of the job.

Can we see which pay item is losing money?

Yes. Alongside the work-breakdown roll-up there is a bill roll-up, with each activity’s earned value split across the pay items funding it in proportion to their share of its allocated money — so the two axes reconcile exactly.

What can I take away from the screen?

A print-ready EVM report, and CSV exports. Every KPI opens into its Basis of Calculation — each input with its source, the formula as steps, and the snapshot and data date it was computed against.

Sources

  • Earned Schedule — Walt Lipke, “Schedule is Different” (2003), the origin of SPI(t) and SV(t)
  • AACE International RP 80R-13 — Estimate at Completion (EAC)

Related modules

Zepth is the construction project delivery platform — it runs construction, procurement and asset management on one record, and does the work: reading the drawings, reviewing the submittals, matching the invoices and flagging the risks, with a human sign-off on anything consequential.

See it on your project.

A short, tailored walkthrough on your real workflow — no generic demo.