How do you calculate SPI and CPI?
Short answer
SPI is earned value divided by planned value, and CPI is earned value divided by actual cost. Earned value is the budget of the work completed, so it equals the total budget times percent complete. A result of 1.00 means on plan, below 1.00 means behind schedule or over budget, and above 1.00 means ahead or under.
SPI (schedule performance index) and CPI (cost performance index) are the two ratios of earned value management. Both compare the value of work completed with something else: SPI with the work that was planned for this date, and CPI with the money actually spent. They are the same kind of number, a ratio where 1.00 is the target, so you can read them side by side.
What are the formulas for SPI and CPI?
SPI = EV / PVCPI = EV / AC
The three inputs are defined at a single status date:
- EV (earned value) is the budget of the work completed. For each work package, EV = BAC × percent complete.
- PV (planned value) is the budget of the work scheduled to be complete by the status date.
- AC (actual cost) is what has been spent on the work performed.
BAC is the total budget for the work in scope. PV needs a schedule, and the simplest one spreads each package's budget evenly over its duration. The full method, including the variances and the forecast, is in the earned value management article.
How do I calculate SPI and CPI for one work package?
Start with one work package. It has a budget (BAC) of 50,000. The schedule says 72% of it should be finished by the status date, and the team reports 60% complete. It has cost 34,000 so far.
- PV = 50,000 × 0.72 = 36,000
- EV = 50,000 × 0.60 = 30,000
- AC = 34,000
SPI = 30,000 / 36,000 = 0.8333. The package has earned about 83 cents of planned work for each dollar planned.
CPI = 30,000 / 34,000 = 0.8824. Each dollar spent has earned about 88 cents of budgeted work.
For a whole project, add the columns first and then divide. Five packages with total PV of 203,770.49, total EV of 197,500.00 and total AC of 210,500.00 give:
- SPI = 197,500.00 / 203,770.49 = 0.9692
- CPI = 197,500.00 / 210,500.00 = 0.9382
Both are below 1.00, so the project is slightly behind plan and over budget. The total is the right figure to report. An average of the package ratios gives a different answer, because it gives a $2,000 package the same weight as a $150,000 one.
What do SPI and CPI values above or below 1.00 mean?
A ratio of exactly 1.00 means the work is on plan. Below 1.00 means behind schedule (SPI) or over budget (CPI), and above 1.00 means ahead or under. A CPI of 0.94 is a rate, so it stays the same whether the project is $40,000 or $4 million. The variances in currency, SV = EV - PV and CV = EV - AC, show how large the gap is in money.
Early in a project the ratios move a lot, because the denominators are small. Check the trend over several status dates before drawing a conclusion.
How do I lay out a spreadsheet to calculate SPI and CPI?
Use the layout from the earned value management article, with the status date in B2 and one row per work package from row 5. The earned value management tracker is a ready-made workbook for the same calculations. Columns are BAC (B), start (C), finish (D), percent complete (E), actual cost (F), PV (G), EV (H), SPI (K) and CPI (L).
- PV, in
G5:=B5*MAX(0,MIN(1,($B$2-C5)/(D5-C5))) - EV, in
H5:=B5*E5 - SPI, in
K5:=IF(G5=0,"n/a",H5/G5) - CPI, in
L5:=IF(F5=0,"n/a",H5/F5)
Fill the formulas down. For the project totals, in row 10, use =SUM(G5:G9) for PV, =SUM(H5:H9) for EV and =SUM(F5:F9) for AC. Then:
- Project SPI:
=H10/G10 - Project CPI:
=H10/F10
Do not average the package ratios in column K or L. Divide the totals.