CIV-450 · Lesson 7 of 12 · 19 min
Cost control, earned value and progress payments
Once construction starts, money moves every month. The contractor is paid for the work done, the owner tracks spending against the budget, and both want early warning if the project is heading for an overrun. This lesson looks at cost control from both sides of the contract: the contractor's earned value tracking, which tells it whether the job is making or losing money, and the owner's payment process, which turns measured work into progress payments while protecting the owner and the subcontractors. CON-310 treats contractor cost control in more depth; here the focus is on what an engineer needs to read, check and certify.
Budgets, baselines and cost codes
Cost control starts with a baseline: the budget divided into cost accounts that match the work breakdown structure and the schedule. A contractor sets up cost codes for each bid item and for indirect costs such as site supervision, and records labor hours, equipment hours, materials and subcontract costs against them. Comparing actual cost with budget for each code, every week or month, shows where the money is going. But a simple comparison of spending with budget is misleading on its own: a project that has spent half its budget may be half done, or a quarter done, or nearly finished. Earned value management solves this by measuring progress in the same units as cost.
Earned value management
Earned value management, EVM, compares three quantities at a status date. Planned value, PV, is the budgeted cost of the work scheduled to be done by that date. Earned value, EV, is the budgeted cost of the work actually done. Actual cost, AC, is what that work actually cost. From these come the cost variance, EV minus AC, and the schedule variance, EV minus PV, and two indices: the cost performance index, CPI = EV/AC, and the schedule performance index, SPI = EV/PV. Values below 1 mean over budget and behind schedule respectively.
The indices support forecasts. If cost performance to date continues, the estimate at completion is EAC = BAC/CPI, where BAC, the budget at completion, is the total baseline. If both cost and schedule problems persist and interact, a more pessimistic forecast is EAC = AC + (BAC − EV)/(CPI × SPI). The to-complete performance index, TCPI, gives the cost efficiency needed on the remaining work to finish within the budget. Studies of many projects have found that once a project is about 20 % complete, its CPI rarely improves much, which is why EVM is valued as an early warning.
Earned value on the Ridgeway package
In a unit-price contract, the owner does not usually see the contractor's costs. On the Ridgeway package, however, Northline shares its earned value report at the monthly progress meeting, because the city's contract includes a partnering arrangement for exchanging forecasts. The budget at completion is the contract price, and earned value is the measured work at contract unit prices. Sofia ran the numbers at the end of August, month 4.
# Earned value at the end of month 4, then the progress payment certificate
UNITS = "US"
SI = UNITS == "SI"
CUR = "CAD" if SI else "USD"
BAC = 7242426 if SI else 5998610 # Northline's corrected contract price
# planned value from the cost-loaded schedule, cumulative fraction of BAC by month (May to November)
pv_frac = [0.06, 0.19, 0.37, 0.56, 0.76, 0.93, 1.00]
m = 4 # end of August
PV = BAC * pv_frac[m - 1]
EV = BAC * 0.49 # measured quantities at contract unit prices
AC = BAC * 0.53 # contractor's reported cost (open-book clause on this contract)
CV, SV = EV - AC, EV - PV
CPI, SPI = EV / AC, EV / PV
EAC1 = BAC / CPI # if the cost performance so far continues
EAC2 = AC + (BAC - EV) / (CPI * SPI) # if both cost and schedule performance persist
TCPI = (BAC - EV) / (BAC - AC)
print(f"BAC {BAC:,.0f} PV {PV:,.0f} EV {EV:,.0f} AC {AC:,.0f} ({CUR})")
print(f"CV {CV:,.0f} SV {SV:,.0f} CPI {CPI:.3f} SPI {SPI:.3f}")
print(f"EAC = BAC/CPI {EAC1:,.0f}; EAC = AC + (BAC - EV)/(CPI x SPI) {EAC2:,.0f}")
print(f"TCPI to finish within BAC: {TCPI:.3f}")
# the owner's side: payment certificate number 4
work_to_date = EV + (186500 if SI else 154200) # plus approved change orders valued to date
prev_paid = (2421000 if SI else 2005000)
hb = 0.10 if SI else 0.05 # holdback (Ontario) or retainage (Minnesota public work)
held = hb * work_to_date
due = work_to_date - held - prev_paid
print(f"\nPayment certificate 4: work to date {work_to_date:,.0f}")
print(f" less {'holdback' if SI else 'retainage'} {hb:.0%}: {held:,.0f}")
print(f" less previous certificates: {prev_paid:,.0f}")
print(f" amount due this certificate (before {'HST' if SI else 'any taxes'}): {due:,.0f}")
# cash flow: monthly payments and the amount held back
print("\nMonth cumulative PV paid in month held back")
prev = 0.0
for i, f in enumerate(pv_frac, 1):
cum = BAC * f
print(f"{i:5d} {cum:14,.0f} {(cum - prev) * (1 - hb):16,.0f} {cum * hb:12,.0f}")
prev = cumBAC 5,998,610 PV 3,359,222 EV 2,939,319 AC 3,179,263 (USD)
CV -239,944 SV -419,903 CPI 0.925 SPI 0.875
EAC = BAC/CPI 6,488,292; EAC = AC + (BAC - EV)/(CPI x SPI) 6,961,011
TCPI to finish within BAC: 1.085
Payment certificate 4: work to date 3,093,519
less retainage 5%: 154,676
less previous certificates: 2,005,000
amount due this certificate (before any taxes): 933,843
Month cumulative PV paid in month held back
1 359,917 341,921 17,996
2 1,139,736 740,828 56,987
3 2,219,486 1,025,762 110,974
4 3,359,222 1,082,749 167,961
5 4,558,944 1,139,736 227,947
6 5,578,707 968,776 278,935
7 5,998,610 398,908 299,930The picture is clear. Northline has earned USD 2.94 million against a plan of USD 3.36 million, so SPI is 0.875: the work is about an eighth behind plan. It has spent USD 3.18 million to earn that, so CPI is 0.925: each dollar spent has earned about 92 cents of work. If that continues, the job will cost Northline about USD 6.49 million, or up to USD 6.96 million if the schedule problems compound, against a contract price of USD 6.00 million. To finish within the contract price, Northline would need to perform 8.5 % better than budget on the remaining work, which is unlikely.
Why should the city care about the contractor's losses? Because a contractor losing money looks for ways to recover it: claims, aggressive change pricing, cut corners, or in the worst case default. Early knowledge lets the contract administrator anticipate trouble. Here the overrun has a known cause, the soft clay at the wall footing that lesson 9 analyzes, and Priya expected a claim. The EVM report gave the city two months' notice to set aside contingency and prepare its own records.
Worked problem
Reading the indices
At a status date, PV = 2.0, EV = 1.8 and AC = 2.1 million. Find CPI, SPI and the EAC by BAC/CPI if BAC = 5.0 million.
Show solution
- \[CPI = 1.8 / 2.1 = 0.857, \quad SPI = 1.8 / 2.0 = 0.900\]
- \[EAC = 5.0 / 0.857 = 5.83\ \text{million}\]
Answer: The project is over budget and behind schedule; at the current efficiency it will cost about 5.83 million.
Measurement and progress payments
The owner pays for work as it is done, usually monthly. Under the unit-price items, the resident inspector and the contractor measure quantities together: lengths of curb and pipe from the as-built survey, excavation and granular volumes from surveyed cross sections or truck tickets, asphalt areas from field measurement. Lump-sum items are paid by percentage complete, often against a schedule of values agreed at the start. The contract administrator checks the quantities, assembles the payment certificate and recommends it to the owner. Overpaying, by certifying work not done or quantities not measured, transfers risk to the owner and is one of the most serious errors an administrator can make.
Minnesota law allows a public owner to withhold retainage of up to 5 % of each progress payment on public contracts, and requires it to be released within 60 days after substantial completion, apart from limited amounts held for incomplete work and final paperwork. Prompt payment statutes require the contractor to pay its subcontractors within a short period, about ten days, after it is paid, with interest on late payments. Public owners must also pay undisputed invoices within a set number of days. Because mechanic's liens cannot attach to public property, the payment bond from lesson 3 is the subcontractors' security instead. Federal contracts follow the federal Prompt Payment Act, with retainage limited by the Federal Acquisition Regulation.
Payment estimate 4 for the Ridgeway package values the work to date at USD 3.09 million, the earned value plus USD 154,200 of approved changes. The 5 % retainage is USD 154,676, previous payments total USD 2.01 million, and the amount due is USD 933,843. The cash flow table shows the retainage building to about USD 300,000 by the end of the job, money the city must release within 60 days after substantial completion.
Cash flow for both parties
For the owner, the cash flow forecast is a monthly profile of payments that the finance department needs to manage borrowing and reserves. For the contractor, cash flow decides survival. A contractor pays its workers weekly, its suppliers within 30 days and its equipment costs continuously, but is paid monthly, perhaps 28 or more days after invoicing, and less the amount held back. The gap between cost and income must be financed. Front-loaded bids, from lesson 3, are one response; prompt payment laws are another, because slow payment pushes small subcontractors into insolvency.
The S-curve of cumulative value against time is the standard picture: slow at mobilization, steep in midsummer when the main crews work in parallel, and flattening at the end. Comparing the actual S-curve with the plan each month is a quick visual check that complements the indices.
The owner's cost report
The city tracks its own project cost separately from the contractor's earned value. Each month Priya's team prepares a cost report with one line for each budget element from lesson 1: the contract price, approved changes, pending changes and claims, fees, testing, owner costs and the remaining contingency. Each line shows the original budget, the current commitment, the amount spent to date and the forecast at completion. The most important column is the forecast, because it tells the city's finance staff and council what the project will finally cost while there is still time to act.
Pending items deserve particular care. A change that has been requested but not yet priced, or a claim that has been notified but not yet assessed, is a real liability even though no money has moved. Good practice is to carry each pending item at its most likely value, with a note of the range, and to draw down the contingency as items are committed. At the end of August the Ridgeway report showed approved changes of about 2.5 % of the contract price and one notified claim, the soft clay at the wall, carried at the engineer's preliminary estimate. The contingency remaining was still above the expected value of the open items, so no request for additional funds was needed, but the margin had narrowed, and the report said so plainly.
Practical points
- Track cost against progress, not against time alone; use earned value.
- Read CPI and SPI together, and forecast with more than one EAC formula.
- Measure quantities jointly with the contractor and keep the records.
- Never certify work that has not been done or measured.
- Apply holdback or retainage and prompt payment rules exactly as the law and contract require.
Common mistakes
MistakeComparing spending with budget and calling the project on track.
InsteadHalf the budget spent may mean much less than half the work done; use EV.
MistakeUsing EAC = BAC/CPI when schedule problems are driving cost.
InsteadAlso compute AC + (BAC − EV)/(CPI × SPI).
MistakePaying lump-sum items by time elapsed.
InsteadPay by verified percentage complete against a schedule of values.
MistakeReleasing retainage early without considering incomplete work.
InsteadRetainage protects the owner against incomplete work; release it as the statute and contract allow.
Summary and key terms
- Earned value compares planned value, earned value and actual cost at a status date.
- CPI = EV/AC and SPI = EV/PV; values below 1 signal overrun and delay.
- At month 4, Northline's CPI was 0.925 and SPI 0.875, forecasting a cost of USD 6.49 to 6.96 million.
- Unit-price work is paid on jointly measured quantities; lump sums on verified percentage complete.
- Minnesota allows retainage of up to 5 % on public work and requires its release within 60 days of substantial completion.
- Cash flow forecasts matter to both owner and contractor.
- Planned value
- The budgeted cost of work scheduled to be done by the status date.
- Earned value
- The budgeted cost of work actually done by the status date.
- Actual cost
- The cost actually incurred for the work done.
- Cost performance index
- Earned value divided by actual cost.
- Schedule performance index
- Earned value divided by planned value.
- Estimate at completion
- The forecast total cost of the project at its finish.
- Retainage
- A percentage of each payment withheld by the owner until completion.
- Schedule of values
- A breakdown of lump-sum items into parts used to value progress.
Practice problems
Work each problem on paper first, then reveal the answer to check.
PV = 3.0, EV = 3.3 and AC = 3.0 million. Interpret the project's status.
Show answer
CPI = 1.10, SPI = 1.10: under budget and ahead of schedule.
With BAC = 7.24, EV = 3.55 and AC = 3.84 million, what CPI is needed on the remaining work to finish on budget?
Show answer
TCPI = (7.24 − 3.55)/(7.24 − 3.84) = 1.085.
Work to date is USD 2.00 million and previous payments total USD 1.50 million. With 5 % retainage, what is due?
Show answer
2.00 × 0.95 − 1.50 = USD 0.40 million.
Why might an owner want to know that its contractor is losing money?
Show answer
Losses lead to claims, aggressive change pricing, quality problems or default; early warning lets the owner prepare.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.