Worked Examples

Earned Value Mid-Job: Ahead of Schedule and Over Budget at Once

User Solutions TeamUser Solutions Team
|
9 min read

Earned value is worth the acronyms for one reason: it separates the question of whether a job is on time from the question of whether it is costing what it should. This walkthrough runs one five-step job through the calculation in EDGEBIC by User Solutions and lands on the case that teaches the most: a job that reads ahead of schedule and over budget in the same row. The arithmetic is small, the reading is not obvious, and the trap at the end catches almost everyone the first time.

The definition lives in what earned value means in manufacturing, and the screen steps in running the earned value report. This is the numbers version, and it sits with the rest of the EDGEBIC worked examples.

The Job

J-100 builds Widget A on a five-step routing. Four steps are finished, the fifth has not started, and the fourth is about halfway through as of the report cut-off.

StepWork centerPlanned hoursActual hours
S1 CutSaw-1810
S2 DrillMill-11211
S3 CNCCNC-12430
S4 DeburrFinish-144
S5 InspectQC-12not started
Total5055

That table already tells a story if you squint: the saw ran 2 hours long, the mill ran 1 hour short, and the CNC step ran 6 hours long on a 24 hour budget. Fifty hours of plan has consumed fifty-five hours of shop time. Earned value turns that into two indices you can compare across every open job in the plant, using the hours EDGEBIC already holds from the plan and from logged actuals.

The Four Base Numbers

Everything comes from four figures. Three are simple sums; one is the one people misread.

Budget at completion (BAC) is 50 hours. The whole routing, as planned.

Planned value (PV) is 46 hours. This is the portion of the plan that was supposed to be finished by the cut-off. Steps 1 through 3 were due to be complete, contributing 8 plus 12 plus 24. Step 4 is halfway through its 4 hour window, contributing 2. Step 5 was not due yet, contributing nothing.

PV = 8 + 12 + 24 + 2 = 46 h

Actual cost (AC) is 55 hours. The sum of hours actually logged up to the cut-off: 10 plus 11 plus 30 plus 4. Step 5 has nothing logged and contributes zero.

Earned value (EV) is 50 hours, and this is the number to slow down on. Percent complete is derived from hours burned against the budget, and it is capped at 100:

Percent complete = min(100, 55 / 50 x 100) = 100%
EV               = 50 x 100 / 100 = 50 h

The job has burned more hours than its whole budget, so it earns its whole budget. The cap is what stops earned value from exceeding the budget and making the indices nonsense. It also means earned value on this job is a measure of hours consumed, not of parts inspected, and the reading section below is where that matters.

The Two Indices

SPI = EV / PV = 50 / 46 = 1.09
CPI = EV / AC = 50 / 55 = 0.91

SPI 1.09 says the job is ahead of where the plan expected it to be. The first four steps are done and the plan only expected three and a half of them finished by now.

CPI 0.91 says every planned hour of work is taking about 1.10 actual hours. Nine percent of the value is being lost to overrun, concentrated almost entirely in the CNC step.

Two indices, opposite directions, one job. That is not a contradiction, and it is the reason both exist. Schedule slippage and hour overspend are different failures with different fixes, and a single "percent complete" figure hides both.

The Forecast

EAC = AC + (BAC - EV) / CPI = 55 + (50 - 50) / 0.91 = 55 h
VAC = BAC - EAC = 50 - 55 = -5 h

Estimate at completion is 55 hours against a 50 hour budget, and variance at completion is minus 5. The job will land about 5 hours over, and it will land there whether or not anyone intervenes on the inspection step, because the overrun already happened upstream.

That is a useful thing to know while the job is still open. Five hours is a number you can put in front of the customer conversation, the next quote for the same product, or the routing review, and it is available now rather than at closeout. The closing out a finished job walkthrough covers the same indices at the other end of the job's life, where SPI settles at 1.00 by definition and only CPI still carries information.

The Row as It Appears

Everything above lands in one row of the report. Here is J-100 as you would actually read it:

ColumnValueWhat it is
BAC h50.0Total planned hours for the routing
PV h46.0Hours the plan expected finished by the cut-off
EV h50.0Budget earned, capped at BAC
AC h55.0Hours actually logged
% Done100%Actual over budget, capped at 100
SPI1.09Earned over planned: ahead of the plan's timing
CPI0.91Earned over actual: 1.10 hours spent per hour earned
EAC h55.0Forecast total hours at the current burn
VAC h-5.0Forecast overrun, negative meaning over budget

Nine numbers, one job, and only two of them require thought. The rest are the working shown.

If any column's meaning is ever in dispute between two people, the Column Details button in the report window settles it: every documented column carries its plain description, its formula, its unit, and example values with one-line interpretations, so SPI arrives with a nominal, a good, and a bad reading beside it. That is faster than an argument, and it is why two planners in the same plant end up reading the same number the same way.

Reading It Honestly

Here is the trap, stated plainly. Because percent complete is derived from hours burned, a job that burns hours fast earns value fast, and earning value fast lifts SPI. A genuinely troubled job can therefore read as ahead of schedule for exactly the wrong reason.

The defense is a habit rather than a setting: never read SPI alone.

  • SPI high and CPI low, as here. Hours are being consumed faster than planned, and the work is progressing because of it. Confirm real physical progress before you promise an early finish.
  • SPI low and CPI high. Work is behind but cheap, which usually means it has not started rather than that it is efficient. Check percent complete.
  • Both near 1.0. The plan is holding. Nothing to do.
  • SPI exactly 1.00 with 0% done. Nothing was scheduled to be finished yet, so the index defaults to 1.0. Not a verdict, just an absence of one.

The report sorts worst SPI first, so the jobs that need a decision arrive at the top of the list without filtering. That sort order is the single most useful thing about the report on a Monday morning.

Two Things That Change the Numbers

Hourly rates turn hours into currency. The dollar columns multiply hours by each work center's hourly rate, and they appear only when at least one work center on the job carries a rate above zero. With rates set, this job reads the same story in money. Costing here is labor rate applied to hours, alongside material cost carried on the products, so treat the currency columns as a labor-and-material view rather than a fully loaded standard cost.

Parallel routings need one deliberate decision. When a step runs on parallel work centers, the same clock hours are logged against each machine. With the primary hours only policy switched on in the scheduling options, job level figures count the primary path while the per work center rows keep full effort, so the per machine hours can legitimately exceed the job total. If your BAC looks larger than the routing you remember writing, that policy is the first place to look. The mechanics are in parallel work centers.

When to Open It

Earned value is a monthly instrument, not a daily one. Daily production and shift production answer whether yesterday hit its rate. Late jobs and utilization carry the weekly planning meeting. Earned value and on-time delivery belong to the monthly review, because indices computed on two days of data are noise and indices computed on a month of data are a trend.

It also depends entirely on logged actuals. Actual cost is the sum of logged hours, and percent complete is derived from it, so a plant that logs hours weekly gets a report a week behind reality and a plant that logs sporadically gets indices that jump. Report quality here equals actuals discipline, and there is no setting that substitutes for it.

What This Job Deserves

Five hours over on fifty, with the whole overrun in one step, is not a crisis and it is not noise. It is a routing question: the CNC step is budgeted at 24 hours and took 30 on this run, and if it does that again on the next order the quote for Widget A is 12% light on its largest operation.

That is the sentence earned value exists to produce. Not a red tile, not a percentage on a dashboard, but a specific step, a specific gap, and a decision that can be made while the job is still open.

Expert Q&A: Deep Dive

Q: Our job says it is ahead of schedule but we know the CNC step ran badly. How can both be true?

A: They can be true at the same time because percent complete is derived from hours burned against the budget, and that percentage is capped at 100. A job that burns hours quickly earns its value quickly, which lifts SPI. In this example the CNC step took 30 hours against 24 planned, and the job still reads SPI 1.09. Read CPI in the same glance: at 0.91 it is telling you those hours were spent, not saved. Then confirm physical progress on the job progress report before you promise anything.

Q: The dollar columns are missing from our earned value report. What turns them on?

A: An hourly rate on at least one work center the job touches. The currency columns multiply hours by the work center hourly rate, so with every rate left at zero there is nothing to show and the report hides those columns rather than printing rows of zeros. Set rates on the work centers you actually cost, and the columns appear on the next run. The hour columns are complete and usable in the meantime.

Frequently Asked Questions

Ready to Transform Your Production Scheduling?

User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team

User Solutions Team

Manufacturing Software Experts

User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.

Let's Solve Your Challenges Together