Negative Float in Primavera P6: What Causes It and How to Fix It

ScheduleQC Editorial Team · · 10 min read

Key takeaways

  • Negative float is total float below zero; in P6 it means the current dates cannot satisfy a constraint, deadline or actual date.
  • The DCMA pamphlet states no percentage threshold for negative float: ideally there is none, and every affected task needs an explanation and a corrective action plan.
  • The five usual causes are a project Must Finish By date, mandatory constraints, out-of-sequence or actual-date progress, calendar mismatches, and level-of-effort setup.
  • Negative float on one activity does not always mean the project finish is late, but it does mean some date commitment is already unachievable.
  • Fix in order: confirm the data date and statusing, remove unjustified constraints, correct calendars, then deal with the real logic and duration problem.

Negative float in Primavera P6 is total float below zero: the schedule's current dates cannot meet a constraint, deadline or actual date. The usual culprits are a project Must Finish By date, mandatory constraints, out-of-sequence progress, calendar mismatches and level-of-effort setup. DCMA expects an explanation and a corrective action plan for every affected task.

This article is part of the DCMA-14 schedule assessment series. Negative float is one of the 14 checks, and it is the one reviewers read first, because it says the schedule is already telling you something is wrong.

What does negative float mean in a P6 schedule?

Total float is late finish minus early finish. The DCMA pamphlet defines negative float as the condition where a task delays one or more milestones (DCMA-EA PAM 200.1). Oracle describes float as the time an activity can be delayed before the project finish is at risk, and negative float as the project already being behind (Oracle, Negative Float section of the Schedule Check Report).

In practical terms, P6 ran the forward and backward pass and found that the late dates (driven by a constraint, a deadline or a fixed actual date) fall before the early dates (driven by logic and durations). The gap is the negative float. A value of -12 days means the work as logically planned finishes 12 working days after the date it is required to finish.

Oracle adds a useful caveat. In complex schedules, negative float on some activities may not cause a delay to the project finish. A constrained interim milestone can show negative float while the final milestone still has positive float. That does not make the interim problem acceptable; it means a date commitment, not necessarily the completion date, is at risk.

What does DCMA say about negative float?

The pamphlet applies the check to incomplete tasks and states no percentage threshold. Its position is that any task with total float below zero should have an explanation and a corrective action plan, and that ideally there should not be any (DCMA-EA PAM 200.1). Many secondary guides list 0% as the threshold. That matches the intent, but it is not the pamphlet's wording, so cite the pamphlet if a reviewer asks.

The pamphlet also says its metrics are a framework for asking educated questions, and that a red metric is not in itself synonymous with failure. For negative float, that translates into a deliverable: a written explanation per affected task or group of tasks, and a plan to recover. A schedule with negative float and a credible recovery narrative reads very differently from one with the same numbers and silence.

ItemWhat DCMA statesPractical reading
PopulationIncomplete tasks (completed, LOE, summary and milestone tasks are excluded from the analysis)Count only open work activities
TestTotal float below zeroAny negative value is a hit
ThresholdNone stated; ideally noneExpect to explain every hit
Required responseExplanation and corrective action planDocument cause, owner and recovery action

What are the five common causes of negative float in P6?

Most negative float traces back to one of five sources. The table summarizes them; the sections below show how to confirm each.

CauseHow it produces negative floatFirst check
Project Must Finish By dateLate dates are anchored to the date, but logic finishes laterProject dates in project details
Constraints on activitiesA fixed or limiting date sits earlier than the logic allowsConstraint columns on negative float activities
Out-of-sequence or actual-date progressActuals and logic conflict, or actuals sit after the data dateSchedule options and statused activities
Calendar mismatchesEarly and late dates calculate on different work timeCalendar column on affected activities
Level-of-effort setupLOE dates inherit from linked activities that carry the problemRelationships on the LOE activity

Must Finish By date on the project

P6 allows an optional Must Finish By date on the project (Oracle, Data Dictionary). When it is set, the backward pass starts from that date instead of from the early finish of the last activity. If the logic and durations finish later than the date, every activity on the longest path inherits negative float.

This is often legitimate: a contract completion date is a real commitment, and a negative float equal to the overrun is exactly the message the owner should see. The problem arises when the date is entered to "make the schedule fit" or left over from an earlier version. Check that the date matches the contract completion, including any adjustments for approved time extensions.

Hard and mandatory constraints on activities

An activity constraint that pins a date earlier than the logic allows creates negative float on that activity and often on its predecessors. Oracle defines the hard constraints in P6 as Mandatory Start and Mandatory Finish, with Start On, Start On or Before, Start On or After, Finish On, Finish On or Before and Finish On or After as soft (Oracle, Data Dictionary). DCMA uses a different list, so see hard constraints in P6 before quoting either.

Finish On or Before and Start On or Before are the typical negative float generators, because they set the late date. A Mandatory Finish placed on non-work time is a particular trap. Oracle notes that in that case the early and late dates are not set equal, which can cause negative float (Oracle, Mandatory Finish constraint).

Out-of-sequence and actual-date progress

When an activity starts before its predecessor finishes, the schedule contains out-of-sequence progress. How P6 treats it depends on the schedule option: Retained Logic, Progress Override or Actual Dates (Oracle, updating progress). Each option moves remaining work differently, so switching options between updates can change float without any change in the field.

Oracle also notes that the Actual Dates option can create negative float when actual dates fall after the data date. That connects directly to the invalid dates check: a start or finish typed in the future is wrong on its own and also distorts float. If negative float appears right after an update, look at progress entry before looking at logic.

Calendar mismatches

A 5-day-week activity linked to a 7-day-week successor, or a 24-hour calendar used for an activity that is really worked on a 40-hour week, makes the forward and backward pass count time differently. The mismatch can show up as float that is negative on some activities and oddly large on others.

To check, add the calendar column to the activity table, group by calendar, and look at any negative float activity whose calendar differs from its neighbors. Weekend-only work, holiday calendars and seasonal restrictions are the usual sources. The same errors also inflate float; see high float.

Level-of-effort and summary settings

Level-of-effort (LOE) activities take their dates from the activities they are linked to. If an LOE such as project management or site supervision is tied to a constrained milestone or an activity with negative float, it can display negative float too. These are noise rather than a schedule problem.

P6's Check Schedule report leaves WBS summary and LOE activities out of the negative float check, along with activities that already have an actual finish (Oracle). Your own filters should do the same, otherwise your count will not match the reviewer's. This is general practice for LOE activities; confirm how your own LOE relationships are set up before you strip them from the analysis.

How do you find negative float in P6?

A raw filter gets you started. Create an activity filter for total float less than zero, show total float, constraint type, constraint date, calendar, early finish and late finish, and sort total float ascending. Group by WBS or responsible manager so each owner sees only their activities.

Then look for patterns in the most negative values first. If a single activity carries the worst float and all its predecessors carry the same value, the cause is probably at that activity (a constraint) or at the end of the path (a Must Finish By date). If float varies widely across unrelated paths, suspect calendars or progress entry.

Illustrative example: the activities below carry assumed values to show how the pattern points to a cause. The project has a Must Finish By date.

IDActivityRemaining durationConstraintTotal float
A1040Set roof trusses12 dNone-9 d
A1050Install roof deck8 dNone-9 d
A1060Roofing membrane15 dFinish On or Before-9 d
A1070Dry-in milestone0 dNone-9 d
A2200Interior paint, Level 210 dNone14 d

Every activity on the roof path has the same -9 days, and the constraint on A1060 is the first suspect. The painting activity is unaffected. Removing or relaxing the A1060 constraint and re-running the schedule will show whether float returns to zero or stays negative, which tells you whether the constraint or the logic is responsible.

How do you fix negative float in P6?

Work the causes in order of how cheap and how wrong they are. This sequence avoids "fixing" real delay by editing data.

  1. Confirm the data date and progress entry. Make sure the data date is the actual status date, no actual dates sit after it, and the scheduling option matches your contract specification. Reschedule and compare float.
  2. Review project and activity constraints. For each constraint on a negative float path, ask whether the date is a contract requirement. Remove it if it is not. Replace with logic where it represents a real predecessor.
  3. Correct calendar assignments. Align activity calendars to how the work is actually performed and to the calendars of linked activities.
  4. Check logic. Confirm that relationships, lags and missing links describe the work. See missing logic for the companion check.
  5. Address the real shortfall. What remains is genuine delay against a commitment. Options are resequencing, adding resources or crews, overlapping with justified SS or FF links, shortening durations with a documented basis, or negotiating a date change.

Do not zero out negative float by deleting constraints you cannot defend removing, or by shortening durations without a basis. A reviewer who sees negative float disappear in one update with no explanation will assume the schedule was manipulated.

What should the negative float explanation say?

The pamphlet asks for an explanation and a corrective action plan, so give the reviewer both for each group of affected activities. Keep each entry short and traceable to activity IDs.

  • Cause: which of the five causes applies, with activity IDs and the constraint or date involved.
  • Impact: how much float, whether the project finish is affected, and which milestone is at risk.
  • Corrective action: what will change in the field or the plan, who owns it, and the date by which float should return to zero.
  • Status: whether the recovery is already reflected in the schedule or still pending approval.

A narrative of this kind is also the document the owner will want if the contractor later asks for relief. For related checks that often travel with negative float, see the DCMA-14 owner's representative guide.

How does out-of-sequence progress change float in practice?

Illustrative example: assume a data date of June 1 and a 10-day activity "Pour slab" with a predecessor "Place rebar" that has 4 days of remaining duration. The field started the slab pour on May 30, before the rebar was complete. That is out-of-sequence progress, and the three scheduling options treat it differently.

OptionTreatment of the remaining workLikely effect on float
Retained LogicRemaining work still waits for the predecessor to finishLater dates, so float is lower and may go negative against a deadline
Progress OverrideRemaining work ignores the predecessor and continues from the data dateEarlier dates, so float is higher and the logic break is hidden
Actual DatesUses entered actual dates, which can place values after the data dateCan create negative float if actuals sit after the data date

The option you choose is a contract and methodology decision, not a way to tune float. Retained Logic is often the more conservative choice because it keeps the logic visible, but check what your specification requires. Whatever you choose, state it in the schedule narrative and keep it constant from one update to the next, or the float movement between updates is not comparable.

Also review the out-of-sequence activities themselves. Each one is either a logic error (the predecessor was never really a predecessor) or a field sequence change that the logic should be revised to match. Fixing the logic, rather than relying on the scheduling option, removes the problem for later updates.

Does negative float always mean the project will finish late?

No, but treat it as a warning rather than noise. Float is negative relative to a date, so it matters which date. Negative float against the project completion date is a forecast of late completion. Negative float against an interim milestone, such as a turnover date for a tenant or an owner-furnished equipment window, signals that the milestone will slip even if the final completion has room.

The reverse also matters. A schedule with all float positive can still be late in reality if durations are optimistic or logic is missing, which is why passing DCMA is not the same as having a good schedule. Negative float reports what the model says; it cannot report what the model leaves out.

Common mistakes with negative float

  • Adding a Must Finish By date to hide the true forecast, then reporting that float is "calculated against the contract."
  • Leaving mandatory constraints on completed milestones from a prior version.
  • Mixing retained logic and progress override across updates and treating the float swings as field changes.
  • Counting LOE and summary activities in the negative float total, then reporting a larger problem than exists.
  • Deleting activities with negative float instead of resolving it.
  • Reporting zero negative float after resetting constraints without recording what changed.

Key points for negative float in P6

Negative float is a symptom: the schedule's math cannot satisfy a date. Find which date it cannot satisfy, decide whether that date is a real commitment, and fix the plan or the date accordingly. Keep a written record of cause, impact and recovery for each affected group of activities, because that record is what DCMA asks for and what an owner or claims reviewer will read.

Frequently asked questions

What is negative float in Primavera P6?

Negative float is total float below zero, meaning the current dates cannot meet a constraint or deadline. In P6 it commonly comes from constraints, a project Must Finish By date, out-of-sequence progress or calendar mismatches. DCMA expects an explanation and a corrective action plan for each affected task, and ideally no negative float at all.

Is negative float always a sign the project will finish late?

Not always on every activity. Oracle notes that in complex schedules, negative float on some activities may not delay the project finish. But it always means some date commitment, such as a constraint or a milestone deadline, cannot be met with the current logic and durations, so it needs investigation either way.

What is the DCMA threshold for negative float?

The DCMA pamphlet gives no percentage threshold. It says any incomplete task with total float below zero should have an explanation and a corrective action plan, and that ideally there should be none. Secondary sources often quote 0% as the threshold, which matches that intent but is not the pamphlet's wording.

Why do mandatory constraints cause negative float in P6?

A mandatory constraint pins an activity to a fixed date regardless of its predecessors. If the logic would push the activity later than that date, the late dates cannot satisfy the constraint and float goes negative. Oracle also notes that a Mandatory Finish on non-work time leaves early and late dates unequal, which can produce negative float.

How do I find all negative float activities in P6?

Filter the activity view for total float less than zero, sort by total float ascending, and group by WBS or responsible party. P6's Check Schedule report also has a negative float section, which excludes WBS summary, level-of-effort and already-finished activities, so counts can differ from a raw filter.

Sources

Run a free DCMA-14 check on your P6 schedule