Earned value for trades
Earned value management (EVM) is the PMI tool that scares people because the textbook version is built for $200M federal programs. Strip away the formalism and you have four numbers and four ratios that answer one question for a specialty sub: is this job going sideways, and when will I know?
The answer comes 30–60 days before the pay app does.
The three primary numbers
Every reporting period, you measure three things per cost code (or per WBS leaf):
PV — Planned Value. What the baseline said should be earned by now.
- "We planned to install 4,000 SF by end of week 6 at $12/SF = $48,000."
- Pulled from the schedule + baseline.
EV — Earned Value. What the baseline says you've actually earned, based on physical progress.
- "We've actually installed 3,400 SF. At the baseline rate of $12/SF, that's $40,800 earned."
- Not actuals. Not what was invoiced. The value at baseline rates of the physical work you've put in place.
AC — Actual Cost. What you've actually spent to do what you've earned.
- "We spent $44,200 on labor, material, and equipment to install those 3,400 SF."
- Pulled from timecards + POs + invoices.
Three numbers, one reporting period, one cost code (or one project rolled up).
The four ratios — what they mean
From PV / EV / AC, four numbers fall out. These are the predictive layer.
| Ratio | Formula | Means |
|---|---|---|
| CV — Cost Variance | EV − AC | $ over (negative) or under (positive) at this point |
| SV — Schedule Variance | EV − PV | $ ahead (positive) or behind (negative) on the schedule |
| CPI — Cost Performance Index | EV ÷ AC | Cost efficiency. CPI > 1 = under budget. CPI < 1 = over |
| SPI — Schedule Performance Index | EV ÷ PV | Schedule efficiency. SPI > 1 = ahead. SPI < 1 = behind |
The CPI rule that matters: by 20% complete, CPI is a leading indicator of final CPI. If your CPI is 0.85 at 20% complete, you'll finish at roughly 0.85 unless you change something fundamental. Studies of federal programs going back to the 1970s found that final CPI rarely drifts more than ~10% from the 20%-complete CPI without a deliberate management intervention.
Translation: a 15% cost overrun visible at 20% complete is the 15% cost overrun you're going to ship — unless you act on it now.
What it looks like for a trade contractor
Drywall sub, week 6 of a 12-week interior buildout:
- PV = $48,000 (4,000 SF planned at $12/SF)
- EV = $40,800 (3,400 SF actually installed at $12/SF baseline rate)
- AC = $44,200 (real spend so far)
Derived:
- CV = 40,800 − 44,200 = −$3,400 (over budget by $3,400 at this point)
- SV = 40,800 − 48,000 = −$7,200 (behind schedule by $7,200 worth of work)
- CPI = 40,800 ÷ 44,200 = 0.923 (you're spending $1.08 to earn $1.00 of baseline work)
- SPI = 40,800 ÷ 48,000 = 0.850 (you're 85% as productive as planned)
At week 6 of 12 — exactly the 50% mark — both ratios are below 1. Project the same CPI to completion: forecast at completion is roughly baseline ÷ 0.923 ≈ 8.3% over.
That's the call you make on week 6, not week 11.
What STrOp computes
For each project with a baseline (estimate accepted at NTP) and an active schedule:
- PV auto-derives from the schedule + baseline cost per line. Updates daily.
- EV comes from foreman % complete on field work orders rolled up to cost codes.
- AC comes from timecards + procurement actuals + sub bills.
- CV / SV / CPI / SPI appear on the project's job-cost dashboard as a single panel per cost code and rolled up to project total.
The dashboard color-codes any cost code with CPI < 0.95 or SPI < 0.95 amber, < 0.85 red. The cost codes you should be talking to the field about are surfaced, not buried.
How to read EV honestly
The hardest part of EVM is not the math, it's the discipline:
- % complete must be physical, not financial. "We've billed 60%, so we're 60% complete" is circular and breaks EV.
- % complete updates the foreman makes must be honest. Optimistic % complete inflates EV and hides cost problems.
- Re-baselining destroys the metric. If a CO grows scope, the CO has its own mini-baseline tracked separately. Don't roll it into the original baseline or CPI drifts back to ~1.0 and tells you nothing.
- EV is per cost code, not per dollar. Rolling up everything to a project CPI of 0.97 hides the cost code at CPI 0.60. Look at the leaves before the roll-up.
Common failure modes
- Only watching actuals vs budget. "Actuals are 60% of budget at 60% of schedule — we're on track." This is the most common bad call. You're missing the productivity signal entirely. If physical % complete is only 50%, you're actually CPI 0.83 and headed for an overrun.
- No baseline. EV is undefined without one. If your estimate wasn't locked at NTP, you can't run EVM.
- Updating % complete monthly with the pay app. EV is a leading indicator only if % complete is updated daily / weekly. Monthly updates make it a lagging indicator and you lose the early-warning value.
- Treating SPI as a literal schedule. SPI 0.85 doesn't mean "delivery is 15% late" — it means you've earned 85% of what the schedule said by now. Whether that becomes a late delivery depends on critical path, which the trade sub doesn't own.
See also
This is how STrOp works
The data flows you read about here are how the platform threads bid, execution, billing, and closeout. Single pipeline. No re-keying.
Request beta access →Last updated 2026-05-29.