# EV – The Earned Value Management Technique

Continued good strong Cost Management will be implemented in the fourth quarter – Alan Graf

E

arned Value Management (EVM) is a project management technique that measures the**actual performance**(WP: Work Performed) against the

**original schedule**(WS: Work Scheduled) of the project. By

**comparing what has been actually performed**with

**what was originally scheduled**, the actual progress on the project is compared against the expected progress.

### The estimates

At the heart of the method lies a **numerical estimate** of some kind (usually money, or man-days that could be converted to money by using each resource’s rate, or even story-points in agile environments) that **weights the value of the work as originally scheduled** (BC: Budgeted Cost) and provides the **cost of the work actually performed** (AC: Actual Cost). All comparisons are done at a certain date we will call the **status date** (so far).

Let’s first see the four main figures that are at the core of our comparison.

As an example, let’s consider that for our project we plan to deliver the following 5 tasks at the given costs

Task | Budgeted Cost |
---|---|

T1 | 5 |

T2 | 3 |

T3 | 6 |

T4 | 2 |

T5 | 4 |

##### Budget at Completion (BAC)

Budget at Completion (BAC): the total budget allocated to the project, that is the sum of the costs of all tasks to be performed

**BAC = SUM[i; 1; T; BudgetedCost(Task_i)]**

where T = number of all features

With the values given in the previous example:

*BAC = 5 + 3 + 6 + 2 + 4 = 20*

that is the total planned cost of the project.

##### Planned Value (PV)

Planned Value (PV): Budgeted Cost of the Work Scheduled at the status date. It is the **total budget for the work scheduled to be completed so far**. It answers the question: *how much work was scheduled to be done and how much does it value?*

**PV = SUM[i; 1; M; BudgetedCost(Task_i)]**

where M = number of scheduled tasks at reporting time

With the values given in the previous example:

Let’s say that so far we planned to complete the first four tasks

*PV = 5 + 3 + 6 + 2 = 16*

that is we planned to complete tasks for a budgeted cost of 16 so far.

##### Earned Value (EV)

Earned Value (EV): Budgeted Cost of the Work Performed at the status date. It is neither the sum of the actual costs of the work actually performed (this is AC, see later) nor refers to any business value: it refers to technical performance (work) “earned” against the baseline (work scheduled), so it equals **the sum of the budgeted cost of the work performed so far**. It answers the question: *how much work has actually been done and how much does it value?*

**EV = SUM[i; 1; N; BudgetedCost(Task_i)]**

where N = number of performed tasks at reporting time

With the values given in the previous example:

Let’s say that so far we have instead managed to complete only the first three tasks

Task | Budgeted Cost |
---|---|

T1 | 5 |

T2 | 3 |

T3 | 6 |

*EV = 5 + 3 + 6 = 14*

that is we managed to complete tasks for a budgeted cost of 14 so far.

##### Actual Cost (AC)

Actual Cost (AC): Actual Cost of the Work Performed at the status date. Since the features actually performed so far may have been implemented at an actual cost that differs from the scheduled cost, AC equals the **sum of the actual costs of the work actually performed so far**. It answers the question: *how much work has actually been done and how much did it cost?*

**AC = SUM[i; 1; N; ActualCost(Feature_i)]**

where N = number of performed tasks at reporting time

With the values given in the previous example:

Let’s say that the tasks completed so far have been performed at the following actual costs

Task | Budgeted Cost |
---|---|

T1 | 5 |

T2 | 2 |

T3 | 10 |

*AC = 5 + 2 + 10 = 17*

that is we managed to complete tasks for an actual cost of 14 so far.

The following picture plots BAC, PV, EV and AC: note how PV is plotted till the scheduled end date while EV and AC are plotted only till the now, that is till the status date.

### Performance Analysis

Let’s now see the figures used for performance analysis, that is the figures that will provide us with an idea of the variance between scheduled and actual time/cost.

Let’s start with the analysis of the schedule.

##### Schedule Variance (SV)

Schedule Variance (SV) is the difference between the value of what has actually been done (EV) and the value of what was originally scheduled (PV): it measures how we are performing in terms of time

**SV = EV – PV**

*SV < 0* that is EV < PV (less work accomplished than planned) so you are *Behind Schedule*

*SV = 0* that is EV = PV (work accomplished as planned) so you are *On Schedule*

*SV > 0* that is EV > PV (more work accomplished than planned) so you are *Ahead of Schedule*

With the values given in the previous example:

*SV = EV – PV = 14 – 16 = -2 < 0*

that is we are behind schedule as we accomplished less work (we earned less value) than planned.

Please note that **SV is not a time-based indicator**, it does not answer of *how many days we are early or late*, but rather **it is an indication of the physical status**, it answers *how much of the work has been accomplished*.

The SV can also be expressed as a percentage by comparison to PV

**SV% = SV / PV**

*SV% = -2 / 16 = -0,13*

that is 13% of the work scheduled has not been completed (we are 13% behind schedule).

##### Scheduled Performance Index (SPI)

Scheduled Performance Index (SPI) shows *how efficiently we are spending our time* or, better, **is a measure** of *how good we are at performing the tasks*

**SPI = EV / PV**

**SV < 0** that is **SPI < 1** that is *Behind Schedule*

**SV = 0** that is **SPI = 1** that is *On Schedule*

**SV > 0** that is **SPI > 1** that is *Ahead of Schedule*

With the values given in the previous example:

*SPI = EV / PV = 14 / 16 = 0,87 < 1*

that is work is being performed at 87% of the rate.

Let’s now see the analysis of the costs.

##### Cost Variance (CV)

Cost Variance (CV) is the difference between the value of what has actually been done (EV) and the cost of what has actually been done (PV): it measures *how we are performing in terms of budget*

**CV = EV – AC**

**CV < 0** that is **EV < AC** (less value is being earned than planned = more money being spent than planned) that is *Over Budget*

**CV = 0** that is **EV = AC** (value is being earned as planned = same money being spent than planned) that is *On Budget*

**CV > 0** that is **EV > AC** (more value is being earned than planned = less money being spent than planned) that is *Under Budget*

With the values given in the previous example:

*CV = 14 – 17 = -3 < 0*

that is we are over budget as we have spent more money than planned.

The CV can also be expressed as a percentage by comparison to EV

**CV% – CV / EV**

*CV% = -3 / 14 = -0,21*

that is losing 21% of the budget (we have spent 21% more).

##### Cost Performance Index (CPI)

Cost Performance Index (CPI) shows how efficiently we are actually spending our budget compared to how efficiently we scheduled to spend it

**CPI = EV / AC**

**CV < 0** that is **CPI < 1** that is *Over Budget*

**CV = 0** that is **CPI = 1** that is *On Budget*

**CV > 0** that is **CPI = 1** that is *Under Budget*

With the values given in the previous example:

*CPI = 14 / 17 = 0,82 < 1*

that is for every €1 spent we are earning only €0,82.

The following picture shows the variance figures CV, CPI, SV and SPI

Based on the combination of CPI and SPI we can build the following Performance Index Matrix

Note that scenario 4 and 5 are similar in definition but scenario 4 the delta-costs is greater than the delta-times, while for scenario 5 it is the opposite.

### Forecasting

Let’s now see the figures that will allow us to forecast how performance will be in the future.

##### Budget to Complete (BTC)

Budget to Complete (BTC) represents the **sum of the budgeted cost of the remaining work**

**BTC = SUM[i; N+1; T; BudgetedCost(Feature_i)]**

where T = number of all features

and N = number of performed features at reporting time

that is the budgeted cost of all the work (BAC) minus the budgeted cost of the work performed (EV)

**BTC = BAC – EV**

With the values given in the previous example:

*BTC = 20 – 14 = 6*

that is we have left 6 of the budgeted work, or otherwise, according to plan to complete work it should cost us 6.

##### Estimate to Complete (ETC)

Estimate to Complete (ETC) represents the **re-estimation of the remaining work** (BTC), or in other words answers the question *from this point onward, how much will it cost to finish the project*.

In the optimal case CPI = 1 (CPI is said to be typical) and ETC equals BTC, but in practice BTC must be modified proportionally either to the old CPI, to take into account the historic usage rate of the budget, or to the new CPI, to take into account any foreseen change in the usage rate of the budget.

**ETC = BTC / CPI_new**

**[1a] CPI_new = CPI** if we foresee an atypical CPI and to continue at the same usage rate of the budget

**[1b] CPI_new <> CPI** if we foresee an atypical CPI but to continue at a different usage rate of the budget

**[1c] CPI_new = 1** if we foresee a typical CPI and therefore to continue at a normal usage rate of the budget

In practice, before calculating ETC we should first understand if future performance (CPI_new) is foreseen to be [1a] equal or [1b] different than the past (CPI).

In case we foresee it to be different, the new performance could be better (CPI_new > CPI) or worst (CPI_new < CPI).
The optimal is when CPI = 1, but please note that also if the CPI so far is typical, nothing stops us from considering for the future a different CPI_new and, on the other side, if the CPI so far has been atypical, nothing stops us from being optimistic and foresee for the future a typical CPI_new.
With the values given in the previous example:
*[1a] CPI_new 0,82* that is a future CPI atypical and equal to the past one

*[1b] CPI_new 0,9* that is a future CPI atypical but better than the past one

*[1c] CPI_new = 1* that is a future CPI typical and therefore better than the past one

*ETC = *

*[1a] = 6 / 0,82 = 7,3* that is to complete the work it will cost us 7,3

*[1b] = 6 / 0,9 = 6,7* that is to complete the work it will cost us 6,7

*[1c] = 6 / 1 = 6* that is to complete the work it will cost us 6 (as per BTC, which is normal considering a future typical CPI)

##### Estimate at Completion (EAC)

Estimate at Completion (EAC) represents the **best re-estimation of the total cost of the project**: it is the sum of the actual costs spent so far (AC) and the re-estimated cost for the remaining work (ETC). While this is not the most accurate calculation, it is accurate enough to identify trends in time to take corrective action

**[1] EAC = AC + ETC**

Of course depending on how we have calculated the future CPI, for EAC we may have three different value

*EAC =*

*[1a] = 17 + 7,3 = 24,3* that is the new cost of the project will be 24,3

*[1b] = 17 + 6,7 = 23,7* that is the new cost of the project will be 23,7

*[1c] = 17 + 6 = 23* that is the new cost of the project will be 23

As an option to [1a], that is if it is recognized that the experienced performance will continue to be the same, it may be easier to calculate EAC as the budgeted cost of all the work (BAC) re-evaluated according to the CPI

**[2] EAC = BAC / CPI**

*[2] EAC = 20 / 0,82 = 24,4* note how the figure is almost equal to the one calculated in [1a], since CPI conditions are the same

##### Variance at Completion (VAC)

Variance at Completion (VAC) is the **variance on the total budget at the end of the project** and it is the difference between what the project was originally expected to cost (BAC) and what it is now expected to cost (EAC).

**VAC = BAC – EAC**

*VAC > 0* that is UNDER BUDGET

*VAC = 0* that is ON BUDGET

*VAC < 0* that is OVER BUDGET

With the values given in the previous example:

*VAC = *

*[1a] = 20 – 24,3 = -4,3* that is at a future CPI atypical and equal to the past one, we will pay 4,3 more

*[1b] = 20 – 23,4 = -3,4* that is at a future CPI atypical but better than the past one, we will pay 3,4 more

*[1c] = 20 – 23 = -3* that is at a future CPI atypical but better than the past one, we will pay 3 more

*[2] = 20 – 24,4 = 4,4* that is at a future CPI atypical and equal to the past one, we will pay 4,4 more

The following picture plots all the figures we have seen so far: note how the AC ends at an actual completion date different than the scheduled completion date (the difference can be either positive like in the picture or negative, and it defines the time slippage).

##### To Complete Performance Index (TCPI)

To Complete Performance Index (TCPI) is a comparative measure **comparing work completed so far with budget required to complete the remaining work**: when performance efficiency needed to complete the project is more than any previous level of performance, TCPI can be used to understand if the performance required is realistic or not. TCPI is the calculated projection of cost efficiency that must be achieved on the remaining work to meet a specified management goal that could be either the BAC or the EAC

**TCPI =
[BAC]= BTC / (BAC – AC)
[EAC]= BTC / (EAC – AC)
**

With the values given in the previous example:

*TCPI =*

*[BAC]= 6 / (20 -17) = 2*that is to meet the BAC we should raise the performance from a CPI = 0,82 to a CPI = 2, quite impossible

*[EAC] [1a] = 6 / (24,3 – 17) = 0,82*that is to meet the EAC we could keep performance at a CPI = 0,82

*[EAC] [1b] = 6 / (23,7 – 17) = 0,89*that is to meet the EAC we should raise the performance from a CPI = 0,82 to a CPI = 0,89

*[EAC] [1c] = 6 / (23 – 17) = 1*that is to meet the EAC we should raise the performance from a CPI = 0,82 to a typical CPI = 1

*[EAC] [2] = 6 / (24,4 – 17)*that is to meet the EAC we could keep performance at a CPI = 0,81

##### Percent Complete and Percent Spent

The last figures we could calculate are Percent Complete (percent of scope accomplished as compared to the total scope of the project) and Percent Spent (amount of actual costs compared to the total forecast of costs)

**% COMPLETE = EV / BAC
% SPENT = AC / BAC
**

With the values given in the previous example:

*% COMPLETE = 14 / 20 = 0,70*that is project is 70% completed

*% SPENT = 17 / 20 = 0,85*that is project has spent 85% of budget

I’d like to add the following two important tips.

#### What about acquisition costs for assets like hardware?

Acquired assets, being part of the final product or tools to execute the work, must have their economic value calculated, included in the total budget (BAC), and allocated over-time (PV) via the schedule activities that either produce it or use it.

Since the purchasing process takes time and it can be cancelled or changed any moment, **put the expenses for acquired assets at the time you use them: have a simple milestone on each day you are supposed to receive the hardware with an associated** cost equal to the purchasing cost of the items being delivered. Note that this will create steep slopes in your S-curve.

#### Agile allows me to change the backlog after each iteration, how does EVM cope?

EVM can take into account the changes to the backlog that may be introduced after each iteration (the added or removed estimated story points caused by added or removed features). This way **we** effectively **re-baseline after every iteration**. The effect of re-computing EVM after every iteration is a validation of the modified backlog against release plan: we are validating that we will be able to complete all of the work scheduled for the release within both schedule and budget. This gives the Product Owner early information about the effects of this changes, early enough to reconsider changes if this affects the release plan negatively.

#### Summary

Let’s conclude this article with a summary of all formula and another example

If you’d like to access to all the images included in this article at a better quality, download them here

Giovanni has a 18 year experience in the field of Information Technology, which allowed him to work in both national and international environments, at both private companies and governmental bodies, covering Business Analysis and Project Management/Coordination tasks. He has delivered software solutions for NATO and European Commission, and has been an active player in the management team that has upgraded FAO’s ERP solution.

Giovanni’s pragmatic approach to Project and Program Management is supported by a balanced use of agile methodologies and more formal best practices. All the above being just a hobby, Giovanni prefers spending his free time writing sci-fi short stories, shooting black-and-white pictures

with his Canon, driving his 3-cylinder motorbike and exploring the sea depth.