Learn / Performance Indices

CPI and SPI, explained without the jargon

Two ratios summarize a project's cost and schedule performance in a form you can compare across items, crews, and jobs. Here is how they are built, what each combination means, and where they mislead you.

CPI and SPI are the two numbers most people mean when they say "earned value." They are useful because they are unitless ratios: you can compare a pipe item to an excavation item to a whole project without converting anything. They are dangerous for exactly the same reason, because a ratio hides the size of what it describes.

The formulas

CPI = EV ÷ AC   (Cost Performance Index)
SPI = EV ÷ PV   (Schedule Performance Index)

Both share the same numerator, Earned Value: the budgeted value of work actually completed. CPI divides it by what that work cost. SPI divides it by what you planned to have completed by now.

How to read the values
ValueCPI meansSPI means
1.00Earning exactly a dollar of budgeted work per dollar spentProgressing exactly at the planned rate
Above 1.00Under budget on the work performedAhead of the planned rate
Below 1.00Over budget on the work performedBehind the planned rate

A useful mental translation for CPI: a CPI of 0.87 means you are getting 87 cents of budgeted work for every dollar you spend. To finish the remaining work at that rate, you will need about 1 ÷ 0.87 = 1.15 dollars for every budgeted dollar left.

Two worked examples

Example 1: an excavation item in trouble

40,000 CY at a $6.50 per CY budget, BAC of $260,000, planned at 4,000 CY per week over 10 weeks. At the end of week 4: 13,000 CY installed, $97,000 spent.

PV = 16,000 CY × $6.50 = $104,000
EV = 13,000 CY × $6.50 = $84,500
AC = $97,000
CPI = 84,500 ÷ 97,000 = 0.87
SPI = 84,500 ÷ 104,000 = 0.81

Over cost and behind schedule. The unit cost check confirms it: $97,000 ÷ 13,000 CY = $7.46 per CY actual against a $6.50 budget, and 7.46 ÷ 6.50 = 1.15, which is exactly 1 ÷ CPI. When those two agree, your data is internally consistent.

Example 2: a storm item running well

8,000 LF of 12-inch storm at a $92 per LF budget, BAC of $736,000, planned at 667 LF per week over 12 weeks. At the end of week 6: 4,600 LF installed, $402,000 spent.

PV = 4,000 LF × $92 = $368,000
EV = 4,600 LF × $92 = $423,200
AC = $402,000
CPI = 423,200 ÷ 402,000 = 1.05
SPI = 423,200 ÷ 368,000 = 1.15

Under budget and ahead of schedule. Actual unit cost is $402,000 ÷ 4,600 = $87.39 per LF against $92 budgeted.

The four combinations and what to do

Diagnosing the CPI and SPI pair
PatternLikely meaningAction
CPI low, SPI lowGenuine production problem, or a bad estimate, or bad dataVerify data first, then check production rate against the bid rate, then consider notice
CPI low, SPI highBuying schedule with money: overtime, extra crews, premium equipmentConfirm it is a deliberate decision, and that the acceleration is recoverable or worth it
CPI high, SPI lowEfficient but under-resourced, or work is blocked by othersLook for constraints: access, materials, predecessors, inspection waits. Adding crew may be cheap
CPI high, SPI highGenuinely good, or the budget was padded, or quantities are overstatedVerify the quantities before celebrating. Then check whether the estimate should change for the next bid

Where the indices mislead you

An index is a diagnosis, not a verdict. The value of CPI and SPI is that they tell you which item to go look at, two weeks before the cost report would have.

How often should you look?

The traditional answer is monthly, because that is how often the accounting close produces actual cost. That cadence is a legacy of how slowly data used to move, not a property of the method. On a 14-week utility job, a monthly index gives you three data points, and the first one arrives when a quarter of the job is gone.

If installed quantities and hours are captured daily, weekly indices are practical and far more actionable, because the correction window is still open. The limiting factor is almost always how quickly actual cost becomes visible, which is why field-captured labor and equipment time matters so much: it is the largest component of cost and the one you can make current immediately.

Where to go next

If any of the terms above were unfamiliar, start with what is earned value in construction. To apply the indices to yardage-based work, see earned value for dirt work. To make weekly indices realistic, see the field data capture guide.

PM Axsus computes these indices from field-captured quantities and hours rather than from month-end reconstruction, which is what makes a weekly cadence workable. See earned value management.

Common questions

What is the difference between CPI and SPI?

Both use Earned Value as the numerator. CPI divides Earned Value by Actual Cost and measures cost efficiency. SPI divides Earned Value by Planned Value and measures progress against the planned rate. CPI answers whether you are spending efficiently; SPI answers whether you are moving fast enough.

Can SPI be greater than 1.0 while the project finishes late?

Yes. SPI measures the volume of work earned against the volume planned, not critical path logic. If you are ahead on non-critical items and behind on the driving activity, SPI can look favorable while the completion date slips. Always read SPI alongside the schedule.

Why does SPI approach 1.0 at the end of a project?

Because both Earned Value and Planned Value converge on the Budget at Completion as work finishes. The ratio therefore trends toward 1.0 regardless of whether the job finished on time, which makes SPI progressively less informative in the final stretch.

How do I calculate CPI for a single cost code?

Exactly the same way, using only that code's numbers: earned value for that code divided by actual cost charged to it. Code-level indices are usually more actionable than project-level ones, because they point at a specific crew and a specific activity.

Weekly indices require daily data

PM Axsus captures the field data these calculations depend on at the point of installation. Book a 30-minute demo, or try our free traffic control plan builder.