Claims Digger
← Learning Center

Learning Center

As-Planned vs. As-Built: Reading the Variance Correctly

Float absorption is not delay. When an activity finishes later than its as-planned baseline but still had total float remaining, that slippage never pushed the project’s finish date -- the float simply absorbed it. Only slippage that consumes an activity’s float entirely, and then keeps going, translates into real project delay.

The Error This Catches

A bar chart is a dangerous thing to eyeball. Overlay an as-built schedule on an as-planned baseline and almost every non-critical activity will show some bar sliding right of where it was supposed to land -- that’s normal, expected variance, not evidence of delay. The question a bar chart alone can’t answer is whether a given activity had float to spare when it slipped. An activity can finish two weeks late and still never have become critical; another can finish a few days late and drive the finish date directly, because it had almost no float left to give.

Pointing at a late-finishing bar and calling it “delay” without checking its total float first is one of the most common -- and most avoidable -- mistakes in reading a schedule comparison.

Worked Example: A Retail Fit-Out, Two Activities Slip

A seven-activity retail fit-out package, baselined against a planned Substantial Completion of April 5. The critical path runs Mobilization → Demolition → Drywall & Framing → Flooring → Final Inspections. Two other activities run in parallel with float relative to that path: MEP Rough-In (15 days of float) and Millwork Fabrication & Install (3 days of float). Both finish late in the field.

  • C — MEP Rough-In. Planned finish Feb 14, carrying 15 days of total float because flooring installation doesn’t actually need it complete until March 1. It finishes 8 days late, on Feb 22. That leaves 7 days of float still unused -- MEP rough-in never became critical, and Flooring starts exactly on its planned date.
  • E — Millwork Fabrication & Install. Planned finish March 18, carrying only 3 days of total float, because Final Inspections can’t start until millwork is in place. It finishes 10 days late, on March 28 -- consuming all 3 days of float and then overrunning by 7 more. Final Inspections, planned to start March 22, can’t start until March 29 as a result -- a 7-day push straight through to Substantial Completion.
CodeActivityPlanned FinishActual FinishOriginal FloatDelayed Project?
AMobilization & PermittingJan 15Jan 150dNo
BInterior DemolitionJan 25Jan 250dNo
CMEP Rough-InFeb 14Feb 2215dNo
DDrywall & FramingMar 1Mar 10dNo
EMillwork Fabrication & InstallMar 18Mar 283dYes
FFlooring InstallationMar 21Mar 210dNo
GFinal Inspections & Substantial CompletionApr 5Apr 120dYes

C and E both finish late. Only E’s slippage shows up again downstream, on G.

C: MEP Rough-In (15 days float)float boundary: 15dactual slip: 8dResult: finishes 8 days late, 7 days of float unused -- never critical, no project delay.E: Millwork Fabrication & Install (3 days float)float boundary: 3d7d beyond floatResult: finishes 10 days late, float exhausted at day 3 -- the remaining 7 days push Final Inspections, and the project finish, by 7 days.
Both bars are measured in days past each activity’s own planned finish. C’s slip stays inside its cushion. E’s slip runs 7 days past the edge of its cushion -- that 7-day overshoot is the only part of either activity’s variance that is real project delay.

Reading it correctly

C’s 8-day slip and E’s 10-day slip look similar on a raw as-planned-vs-as-built bar chart -- both are simply “late.” They are not the same event. C had 15 days of float and used 8 of them: the activity never became critical, nothing downstream moved, and the project’s Substantial Completion date is unaffected. E had only 3 days of float and used all of it, then kept slipping for 7 more days it didn’t have: those 7 days had nowhere to go but straight into the project finish date. Final Inspections (G) shows exactly a 7-day push in the table above -- not 10, and not 0 -- because the first 3 days of E’s slip were already spent before the project felt anything.

The project was delayed by 7 days, entirely attributable to activity E. Activity C’s 8-day slip, despite being the more dramatic-looking bar on a chart sorted by variance, contributed zero days of actual delay.

Claims Digger tracks each activity’s total float across every schedule update you upload. Instead of eyeballing a bar chart and guessing, you can see directly whether a given activity’s slippage was absorbed by its own float or actually consumed it and pushed the finish date -- for every activity, on every update, not just the two in a worked example. See how it works.

Frequently Asked Questions

If an activity finishes later than the baseline planned, isn't that always a delay?
No -- and treating it that way is one of the most common analytical errors in delay claims. A late finish only becomes project delay once it consumes the activity's total float and pushes a downstream date, typically the project's finish. An activity with float remaining can finish late and still have never become critical.
What happens to an activity's remaining float once part of it is consumed?
Its total float shrinks by the number of days consumed. An activity that starts with 15 days of float and finishes 8 days late is carrying roughly 7 days of float into the next schedule update, not 15 -- the update should reflect that narrower cushion, not treat the activity as still having its original float.
Does this analysis require a fixed as-planned baseline, or can it be done from progress updates alone?
It requires a baseline. Total float and "planned finish" are baseline concepts -- without a fixed reference point to compare actual dates against, there's nothing to measure the variance from, and no way to tell float absorption apart from real delay.
How does float absorption relate to concurrent delay?
They're closely related ideas built on the same foundation. Just as a late-finishing activity with float remaining never delayed the project, a delay event sitting on an activity with float to spare never became independently critical -- so it can't be concurrent with anything either. See our companion article on testing for concurrent delay.

Part of the Claims Digger Learning Center. Related reading: Total float · Concurrent delay: how to test for it · Full glossary