No plan survives contact with the jobsite. You commit to forty tasks in Thursday's planning meeting, and by the following Friday, thirty-one of them are done, six slid, two got half-finished, and one never started because the material sat on a truck in Reno. That gap between what you promised and what actually happened is variance, and it is the single most valuable piece of information the Last Planner System produces. Most crews throw it away. The good ones mine it.
Here is the thing nobody tells you when they hand you a percent-complete number: the number itself is nearly worthless. Knowing your crews hit 68% of commitments last week doesn't help you hit more this week. Knowing why the other 32% missed—that's the whole game. Variance handled well is how a project stops making the same mistake in week 12 that it made in week 4.
What variance actually is (and isn't)
In Last Planner terms, variance is any committed task on the weekly work plan that didn't get completed as promised. Someone made a reliable promise on Thursday—"we'll have the east wing rough-in inspected and closed by Wednesday"—and Wednesday came and it wasn't. That's a variance. It gets counted against your Percent Plan Complete (PPC), which is simply the count of tasks completed divided by tasks committed. Nine of thirteen done is a 69% PPC.
Variance is not the same as being behind schedule on the master CPM. You can be dead on your milestones and still run a lousy PPC if your crews are constantly over-promising and scrambling. And you can run a beautiful 90% PPC while the overall job slips, if the plan you're reliably executing was pointed the wrong direction. PPC measures the reliability of your promises, not the correctness of your strategy. Keep those two ideas separate in your head or the numbers will lie to you.
One rule I hold hard: a task is either 100% complete or it's a variance. No partial credit. "Framing's basically done" is not done—the drywaller can't start on "basically." The minute you allow 80% to count as a win, your PPC becomes fiction and you lose the signal you were trying to capture.
The reasons matter more than the count
When you record a missed commitment, the only field that earns its keep is the reason for non-completion. Over the years I've watched teams collapse into a handful of honest categories. Standardize on something like these so you can actually count them:
- Prerequisite work — the trade ahead of you wasn't finished. The single most common reason on most jobs.
- Materials — not on site, wrong, or damaged.
- Information / RFI — missing detail, unanswered RFI, a drawing conflict nobody caught.
- Labor — crew didn't show, got pulled to another job, or you simply didn't have enough bodies.
- Equipment — lift down, hoist tied up, tool missing.
- Over-commitment — the honest one nobody wants to log. You promised more than the crew could physically do.
- Directive change — scope changed, priorities got reshuffled, the owner walked the job and moved a wall.
- Rework / quality — it got done, then got rejected.
- Weather / conditions — the real ones, not the excuse ones.
The discipline is picking the true reason, not the comfortable one. When drywall doesn't go up because framing wasn't inspected, the lazy entry is "labor—drywall." The honest entry is "prerequisite—framing inspection." Those two entries send you to two completely different fixes. Log the comfortable one enough times and your data quietly points you away from the actual problem.
Capture it at the table, while it's hot
Variance capture has a short shelf life. By Monday, everyone remembers the reason as "we just got behind." The place to catch it is at the end of the week, in the weekly planning meeting, going down the list task by task while the foremen who made the promises are sitting right there. It takes fifteen, maybe twenty minutes if you keep it moving. Any longer and it's turning into a blame session, which is the fastest way to poison the whole practice.
Doing this on paper works for one job for about a month, then the sheets end up in a truck and nobody ever counts them. This is exactly where look-ahead scheduling software earns its place—not because it's fancy, but because it makes the boring part cheap. In LookAheadWall, the committed tasks from your weekly work plan are already on the board, so closing out the week is a matter of marking each one done or tagging it with a reason code. The reason lives with the task, and next quarter when you want to know how many times the electrician got choked by late framing, the answer is a query instead of an archaeology dig through paper.
Turn a week of reasons into a pattern
One missed task is an anecdote. Eight weeks of missed tasks, sorted by reason, is a diagnosis. When you let variance accumulate and then look at it in aggregate, the site starts telling on itself.
Slice it a few ways. By category: if 40% of your misses land in "prerequisite," your problem isn't your crews at all—it's the sequence, the handoffs, the trade-flow that's out of order. By trade: if one sub owns a third of the variance week after week, you've found either a struggling foreman who needs help or a trade that everyone else keeps stranding. By day of the week: the Monday spike is so common it's almost a law—work planned for early week fails because something changed over the weekend and nobody found out until 7 a.m. Move that dependent work to Tuesday and watch the number improve without doing anything else.
Phase transitions are another reliable troublemaker. Variance spikes when a building rolls from structure to skin, or MEP rough-in to finishes, because the trade mix churns and everyone's guessing at the new handoffs. If you know that spike is coming—and after two floors you do—you plan the transition weeks looser and stack fewer commitments into them.
Most variance is a constraint you missed upstream
Here's the part that connects variance back to the rest of your look-ahead planning. Walk back through those reason codes and you'll find that most of them were constraints that should have been caught two or three weeks out, in the rolling look-ahead, before the task ever became a commitment.
A materials variance means a material constraint didn't get screened. An information variance means an RFI wasn't flagged early enough to answer in time. A prerequisite variance means the trade-flow handoff wasn't coordinated. The whole point of a three- or six-week look-ahead is to make tasks "ready"—constraints removed—before you ever commit to them on the weekly plan. So when the same variance category keeps showing up, it's not really a weekly-plan failure. It's telling you your constraint screening upstream is leaking, and that's where the fix belongs.
This is the loop that makes the whole system worth running. Variance data feeds back into how hard you screen the look-ahead. Screen harder in the categories that keep biting you, and the variance rate drops on its own—no heroics required.
From pattern to fix, and actually closing the loop
Seeing the pattern is worthless if nobody does anything with it. Real continuous improvement is unglamorous and looks like this:
- Pull the top one or two variance categories from the last four to six weeks.
- Ask why, on the actual causes, until you hit something you can change. Not "the material was late"—why was it late? Ordered late? No lead-time buffer? No one owned the submittal? That's your root cause.
- Pick one countermeasure. One. "Every material for a committed task gets confirmed on site by the Wednesday before." Small, specific, assigned to a name.
- Run it for a few weeks.
- Check the data. Did that category actually shrink? If yes, keep it. If not, the countermeasure was wrong—try another.
That verification step is where most teams quit, and it's the one that matters most. Without it you're just guessing and calling it a process. With it, your PPC climbs a few points a month and stays there, because you're removing real causes instead of nagging people to try harder.
Keep it honest or don't bother
A variance system dies the moment it becomes a stick. If foremen think a missed commitment gets them chewed out, they'll do two things: stop committing to anything risky, and start marking half-done work as complete. Both wreck your data. You'll get a gorgeous 95% PPC that means absolutely nothing.
Protect the honesty. Say it out loud and mean it: we track variance to fix the system, not to grade the person. A foreman who logs "over-commitment—I promised eight and could only do six" is giving you gold, and he should feel fine doing it. Spot-check completions on your walks so "done" keeps meaning done. And watch the volume alongside the rate—if someone's PPC is suspiciously perfect, check whether they're just committing to three easy tasks a week. A reliable 75% on a full, honest plan beats a fake 95% every day.
The bottom line
Variance isn't the plan failing. Variance is the plan telling you exactly where it hurts, in enough detail to do something about it. Count the completions to get your PPC, sure—but the real work is in the reasons: capture them honestly at the table while they're fresh, let them pile up into patterns, trace the patterns back to the upstream constraints you missed, and fix one thing at a time. Do that for a few months and the difference is not subtle. Your crews start believing the schedule because it starts coming true, and a schedule people believe is the only kind that's worth building.