Total Float and Negative Float in Scheduling, Explained
What Is Total Float?
Total float (or total slack) is the amount of time a task can be delayed without delaying the project finish date. In Primavera P6, total float is calculated as: Late Finish – Early Finish (or Late Start – Early Start). A positive total float means the task has schedule flexibility; zero float means it's on the critical path; negative float means the project is already behind schedule.
Free float is more restrictive: it's the amount a task can be delayed without affecting the early start of any successor. Free float is always ≤ total float. Most schedule analysis focuses on total float.
What Is Negative Float?
Negative float occurs when the early dates (calculated by the forward pass) exceed the late dates (backward pass). In other words, the schedule logic says the task must finish before it can start – an impossibility. This usually happens because of constraints, especially late constraints like Finish On or Before or Mandatory Finish.
For example, if a task has a duration of 10 days and a Finish On or Before constraint of today, but the logic says it can't finish for 15 days, the total float will be -5 days. Negative float is a red flag: it means the schedule is either unrealistic or already in delay.
How Constraints Create Negative Float
Constraints override the pure logic of the schedule. In P6, the most common culprits are:
- Finish On or Before (FO) – forces a task to finish by a date, often creating negative float if logic can't meet it.
- Mandatory Finish (MF) – similar but even stronger; the backward pass will push all predecessors to meet this date, possibly creating negative float upstream.
- Start On or After (SA) – can cause negative float if the early start is later than the constrained start (e.g., a predecessor hasn't finished).
- Late Finish (LF) – rarely used but also forces a finish date.
Even a seemingly harmless Start On or Before can cause negative float if the logic can't achieve that start. Always check the constraint type and its effect.
How to Find Negative Float in P6
In Primavera P6, you can quickly spot negative float in the Total Float column. Sort by Total Float ascending – the most negative values appear first. Alternatively, use the Schedule Check feature or run a DCMA 14-Point analysis. The DCMA check specifically flags negative float as a failure (threshold: any negative float is a fail).
For a free, browser-based tool that performs DCMA 14-point, GAO, and NASA checks (including negative float detection), try Project Assure. It parses your XER locally – nothing is uploaded – and gives you a detailed report.
How to Fix Negative Float
Fixing negative float requires addressing the root cause:
- Remove or relax constraints – If a constraint is unrealistic, change it to a softer type (e.g., Start On or After instead of Finish On or Before) or remove it entirely.
- Adjust logic – Add leads/lags, change relationships, or break long-duration tasks into smaller ones to allow more parallelism.
- Reduce duration – If a task is overestimated, reduce its duration to fit the constrained date.
- Add resources – If resource constraints are the issue, add more resources to compress durations (but beware of unrealistic crashing).
- Update the baseline – If the project is genuinely delayed, rebaseline to reflect the current reality. Negative float should then disappear.
Remember: negative float is a symptom, not a problem itself. Fix the underlying schedule logic or constraint.
Best Practices to Avoid Negative Float
- Use constraints sparingly – prefer logic to drive dates.
- Always schedule forward (from project start) and avoid backward scheduling.
- Run a DCMA 14-point check regularly – it catches negative float, long durations, and other issues.
- Keep the project baseline updated – a stale baseline creates false negative float.
- Educate team members about the impact of constraints on float.
Conclusion
Negative float is a clear indicator that your schedule is under pressure. By understanding how constraints and logic interact, you can diagnose and fix the issue. Use tools like Project Assure to automate checks and keep your schedule healthy.
Run these checks free, in your browser
Free, browser-based Primavera P6 XER schedule analyser — DCMA 14-point, GAO & NASA checks, EVM/S-curve, and forensic baseline-vs-update comparison. Nothing is uploaded; your XER is parsed locally in the browser. 3 free analyses, no card required.
Analyse your XER →Frequently asked questions
What is negative float in scheduling?
Negative float (or negative slack) occurs when the early dates of a task are later than its late dates, meaning the schedule logic cannot meet the required date. It usually indicates a constraint is forcing an unrealistic finish or start date.
How do constraints cause negative float in Primavera P6?
Constraints like Finish On or Before or Mandatory Finish override the schedule logic. If the logic says a task finishes on day 20, but the constraint forces it to finish on day 15, the total float becomes -5 days.
Can negative float be positive?
No, negative float is always zero or negative. Positive float means the task has schedule flexibility. Negative float means the project is behind schedule or the schedule is unrealistic.
How do I find negative float in P6?
Add the Total Float column to your table view and sort ascending. The most negative values appear first. You can also run a DCMA 14-point check using tools like Project Assure.
Is negative float always bad?
Yes, negative float is always a warning sign. It means either the schedule is unrealistic (constraints) or the project is behind schedule. It should be investigated and resolved.