CPLI and BEI

Last reviewed 9 September 20261,464 words7 min read

Two indices worth understanding before you quote them

🟩 In one line: CPLI tells you whether the remaining critical path can still hit the finish date (1.00 or above is fine, below 0.95 is a flag); BEI tells you what proportion of activities that should have finished by now actually have (again, 0.95 is the line) β€” both are useful as trends and dangerous as single numbers.

πŸ‘€ Who this is for: J/M. You should know what total float is and what a baseline is. If you're being asked to add these to a dashboard, read this first.

e / c
First, let's be honest about why this page exists

CPLI and BEI arrived in Gulf project-controls reporting via the DCMA 14-point assessment, usually because a client's schedule specification listed all fourteen metrics and someone put the last two on a dashboard. Most people quoting them can't say what the formula is, what the denominator counts, or why a project with CPLI 1.02 can still be three months late.

They are not bad metrics. They are narrow ones. Used as a monthly trend alongside the float on the completion milestone, they are genuinely useful. Used as a single green tile, they are decoration.

🟨 The standard β€” what "good" looks like
SourceWhat it says (paraphrased)
DCMA 14-Point Schedule Assessment β€” Metric 13, CPLICPLI = (critical path length + total float) Γ· critical path length. Measured from the data date to the completion milestone. Below 0.95 is a finding.
DCMA 14-Point Schedule Assessment β€” Metric 14, BEIBEI = activities actually finished Γ· activities with baseline finish on or before the data date. Below 0.95 is a finding.
NDIA Planning & Scheduling Excellence Guide (PASEG)Defines both indices; recommends they be trended and read with schedule margin, not in isolation.
GAO Schedule Assessment Guide β€” Best Practice 9Performance metrics such as BEI should be derived from a schedule updated with actual progress against a maintained baseline; a metric against a stale or informal baseline is not a metric.

🟒 Rule: never quote CPLI or BEI without the data date, the baseline they're measured against, and the previous three months' values.

How it actually works

CPLI β€” Critical Path Length Index

TermDefinitionWhere it comes from in P6
Critical path length (CPL)Working days from the data date to the forecast early finish of the completion milestoneProject early finish minus data date, in the project calendar
Total float (TF)Float on the completion milestone against the contractual dateTotal Float on the milestone carrying the Finish On or Before constraint
CPLI(CPL + TF) Γ· CPLCalculated outside P6 β€” there is no native field

Reading it: CPLI of 1.00 means the remaining path exactly fits the time left. Above 1.00 means there is float in hand. Below 1.00 means negative float β€” the path is longer than the time available. A CPLI of 0.90 on a 200-day remaining path means 20 days of negative float; the same 0.90 on a 40-day remaining path is 4 days. The index scales, which is its strength and its weakness.

BEI β€” Baseline Execution Index

TermDefinitionWhere it comes from in P6
Should have finishedCount of activities whose baseline finish is on or before the data dateFilter: BL Project Finish ≀ Data Date
Actually finishedCount of activities with an actual finish (regardless of whether they were due)Filter: Actual Finish is not null
BEIActually finished Γ· should have finishedCount both filters; divide

Practical rules for the count: exclude LOE and WBS Summary activities; include milestones and tasks; use the current accepted baseline (the one named BL0-Accepted-DD… in the register), never the last approved recovery plan unless it has been formally adopted as a revised baseline. Because the numerator counts everything finished, including activities completed ahead of plan, BEI can exceed 1.00.

Why neither one is a schedule health measure on its own

IndexWhat it doesn't see
CPLIAnything off the critical path. A second path at βˆ’2 days with CPLI 1.03 on the first is invisible. Multi-calendar float distortion. Whether the remaining durations are credible.
BEIDuration or size β€” 50 minor activities finished and one 90-day activity not finished gives 0.98. Activities started but not finished. Whether the finished activities were on the critical path.

Both are point-in-time. The trend over three to six updates is the signal.

πŸŸ₯ Where people go wrong
  1. Quoting CPLI without saying what "finish" it's measured to. Measured to the contractual completion it means something. Measured to a forecast completion with no constraint it will always be 1.00 by definition.
  1. Counting BEI against whatever baseline is assigned in P6 that month. If someone assigned the recovery plan as the project baseline, BEI just improved with no work done. Use the accepted baseline from the register.
  1. Including LOE and summary activities in BEI. They inflate both numerator and denominator and drown out the tasks.
  1. Reading BEI 0.97 as "3% behind". It's a count, not a duration. Check what the unfinished activities are before saying anything.
  1. Presenting a single month. CPLI 0.96 could be recovering from 0.88 or sliding from 1.04. Without the trend you have a number, not information.
  1. Chasing the threshold. Splitting a large late activity into six small ones, five of which finish, moves BEI from 0.94 to 0.97. Reviewers know this trick.
βš–οΈ When you're challenged

"CPLI is 1.01, so the schedule is fine?" It means the driving path fits the time remaining, with about a day in hand. The second path is at βˆ’4 days and the third is on the consultant's review calendar. I'd call it fragile, not fine β€” the near-critical table on page 3 has the detail.

"BEI has dropped to 0.89. Why?" Forty-one activities were due by the data date and haven't finished, and thirty-two of them are second-fix MEP on Levels 6 to 9 held by one subcontractor. That's one problem, not forty-one. The recovery action is in section 5.

"Why isn't CPLI on the dashboard as a red-amber-green tile?" It can be, if the tile also shows the last three values and the float on completion. On its own it hides more than it shows.

πŸ“„ Related pages
✏️ Worked example

A hotel in Doha, 6-day calendar, contractual completion 28 February 2026, Update 09 data date 1 July 2025. Forecast completion 20 March 2026. Baseline BL0-Accepted-DD 01Sep24-Rev1.

CPLI at Update 09

ItemValue
Working days DD β†’ forecast finish (CPL)224
Total float on completion milestoneβˆ’15
CPLI(224 βˆ’ 15) Γ· 224 = 0.93

BEI at Update 09

ItemCount
Tasks and milestones with BL finish ≀ 1 Jul 25 (LOE/summary excluded)486
Tasks and milestones with actual finish438
BEI438 Γ· 486 = 0.90

Trend

UpdateData dateCPLIBEIFloat on completion
061 Apr 251.020.98+5
071 May 250.990.96βˆ’2
081 Jun 250.960.93βˆ’9
091 Jul 250.930.90βˆ’15

Four consecutive months of decline in both indices, tracking the float on completion. The narrative said what the indices could not: 48 unfinished activities, 34 of them faΓ§ade on the east and south elevations, driver identified as curtain-wall unitised panel delivery. The indices flagged it; the activity list explained it; the recovery plan addressed it.

πŸ“– References
  • DCMA 14-Point Schedule Assessment β€” Metrics 13 (CPLI) and 14 (BEI).
  • NDIA Integrated Program Management Division, Planning & Scheduling Excellence Guide (PASEG) β€” schedule performance metrics.
  • GAO-16-89G, Schedule Assessment Guide β€” Best Practice 9.
  • Oracle Primavera P6 Professional User Guide β€” Filters; Baselines; Group and Sort (counting).

From the field

Experience from working planners. Unreviewed β€” read it as experience, not guidance.

Add what you know about cpli and bei. What worked, what the consultant pushed back on, what you would do differently next time. A paragraph is plenty.

Contributors get their name and one link on the site β€” your own templates, course or consultancy. We take nothing and hold nothing.

Add your experience