how to find relationship lag in primavera p6

It’s not very easy to find Relationship Lag in Primavera P6 project schedules. There aren’t really any features to highlight which relationships have lag or lead time.

But understanding how leads or lags are used on your Primavera P6 project is a vital part of analyzing a project schedule.

We need a process to find relationship lag in Primavera P6 schedule.

And I’m going to show you two.

What is a Lag or Lead in Primavera P6

Lag time is a duration that is added to a relationship link to impose a wait time between an activity and it’s successor in Primavera P6.

lag diagram pert chart
B will wait 4 days after A is Finished to Start

If the lag is a positive duration, then the successor activity will have a wait period before starting.

If the lag is a negative duration (also called a lead or lead time), then the successor will overlap the predecessor activity.

lead diagram pert chart
B will start 2 days before A’s Finish date creating an overlap

Lags can be applied to any relationship type to help you model your project’s work and any waiting periods between activities. Lags are an inherent part of PERT diagraming method (Program Evaluation Review Technique) that we use to build CPM schedules.

Why You Should Avoid Using Relationship Lag in Your Primavera P6 Schedule

So here’s the deal with lag and lead times in Primavera P6.

Relationship lag is a very convenient tool to help us model our work in Primavera P6. Using lag on dependencies can be very helpful to add in periods of wait or non-work or even to create overlapping activities as in the diagram above.

However, the concensus and best practice is that the use of relationship lag should be minimal if it’s used at all.


According to the Practice Standard for Scheduling, a document prepared by scheduling experts at the Project Management Institute, using Relationship leads or lags add significant schedule risk to a project. The main reason is the lack of visibility of lag delays on project schedules. (PMI isn’t the only one with this recommendation)

Lag time is hard to identify and document – it isn’t obvious when looking at the Gantt Chart or when analyzing a schedule’s dates.

When lag time is used on a schedule, schedulers very rarely document why the delay was added, causing construction managers to scratch their heads. Time IS money, after all.

As a best practice, any lag or lead should always be documented in a Primavera P6 Notebook topic on the activity.

Or better yet, follow PMI’s standard and use full activities to represent lead or lag delays. This approach makes lags and leads very visible on a project schedule and also allows for more flexibility.

example of using activity to replace a lag in primavera p6
An example of replacing a Lag with an Activity in Primavera P6

It’s common for less experienced planners to submit schedules with relationship lag. But be aware that your client may not accept your schedule. Construction claims consultants will do the same.

In Primavera P6, we really need to be able to find out if a schedule uses relationship lag.

Unfortunately, inside the Activity screens in P6, there seems to be no way to sort or filter activities by lag.  So we need another approach, one that is easy and reusable.

Can I Use Primavera P6’s New Relationship Details Fields?

As of Primavera P6 16.1, 2 new fields were added to Primavera P6 to help get better visibility on relationship dependencies: Predecessor Details & Successor Details.

These 2 new fields were added to give the P6 Activities screen a similar feel to Microsoft Project. The Successor Details field lists an activity’s successors, and also displays the lag or lead in format like this:

  • A1205: FS +1d 
  • A2540: SS -3d

Here’s a visual so you can see these 2 details fields in action:

predecessor & successor details fields primavera p6
The new Predecessor & Successor Details in Primavera P6 (as of r16.1)

While Predecessor & Successor Details fields can help us gain some visibility on which activities have lags, it’s entirely a visual scan and search effort.

There is no infallable way to apply a filter to these fields to extract only those activities that have a lag or lead in their relationship. Unfortunately, we have to resort to other tactics to see clearly the lags and leads in a Primavera P6 schedule.


How To Build a Relationship Lag Report in Primavera P6

Fortunately, the Reports section of Primavera P6 has the ability to access and filter on the Primavera P6 “Lag” field.

It’s pretty easy to build reports in Primavera P6. And the reporting features are able to report on a project’s relationships.  Using Filters, we can create a nice report that shows only Activities that have relationships with leads or lags. Here’s how:

Step 1 – Create a New Report

Building an Oracle Primavera P6 Relationship Lag Report

You don’t have to have a project open to do build this report.

Navigate over to the Primavera P6 Reports screen: Tools menu -> Reports -> Reports.

Click the Add button on the Command Bar, or right-click and choose Add from the menu to add a new report to your Primavera P6 database.

Step 2 – Choose the Report Subject

Oracle Primavera P6 Relationship Lag Report

When the Report Wizard comes up, click Next to create a new Report.  On the following screen, select the “Activity Relationships” subject area and click next.

Step 3 – Choose Columns

Oracle Primavera P6 Relationship Lag Report


Oracle Primavera P6 Relationship Lag Report

Select the columns as shown.  Click OK.

**NOTE: I’ve discovered that both the “Predecessor ID” and “Successor ID” columns will always be renamed by Primavera to “Activity ID” in the output of the report.  If you click OK after selecting columns and go back to the column choosing screen, these two columns are renamed to “ID”.  I can’t change them either….c’est la vie!

Step 4 – Turn Off Group and Sort

Oracle Primavera P6 Relationship Lag Report

Click the Group and Sort button and set it to <none> or leave the Group By field blank.  Click OK.

Step 5 – Set a Custom P6 Filter to Find Lag

Oracle Primavera P6 Lag Report Tutorial

Click the “Filter…” button.  In the Parameter dropdown, find and select “Lag”.

Set the conditional dropdown to “is not equal to” and type ‘0’ in the Value column.

This combination will filter for both lags and leads (ie: negative lags).

Click OK to save your Filter.

Step 6 – Save Your Primavera P6 Relationship Lag Report

Oracle Primavera P6 Lag Report Tutorial

Click Next.

On the following screen, name your report “Relationship Lag Report”. Click Next.

Oracle Primavera P6 Lag Report Tutorial
Click Next first to save your report, then come back and run it.

Before you click Run Report on the Report Generated screen, click Next again and Save your report.  Click Finish to close the Wizard.

It’s ideal to Save your report first before running it.  It may not run if you do not have a project open first.

Step 7 – Open a Project and Run the Primavera P6 Lag Report

Oracle Primavera Lag Report Results

Open a Project and then run your report from the Reports screen.

To run the Report, right-click on the Report name and choose Run -> Run Report from the pop-up menu.

You will see a lag report that looks similar to the above screenshot.

Step 8 – [OPTIONAL] Send the Report To Excel for More Filtering Abilities

Some people don’t know that you can send Primavera P6 report data to a .csv file to open in Excel. Excel will have more filtering features for you to use on the data, so it can be really handy.

When you the run the report, rather than choose the default Print Preview option, choose “delimited text file” and specify a filename.

save a primavera p6 report to csv
Output the Report Data to a .csv file to work with it in Excel

Open the .csv file in Excel and enjoy!

primavera p6 lag report in excel
Use Excel to for more flexibility filtering your Primavera P6 Lag report


Having this report pre-built will help you be prepared anytime you need to run some analysis on a schedule, perhaps even a schedule a contractor has submitted.  So keep it in your arsenal of analysis tools.

It’s worth mentioning that another approach that works is to export your project data to an Excel .xls using File->Export, including the relationships table.

You can then use the filtering tools in Excel to filter relationships that have lead or lag delays.

I prefer to avoid Excel in this case because the export takes too many clicks to produce the report. My P6 report can be run with 3-4 mouse clicks max with the same end result.

If you must use lags on your schedule, go ahead. Unless your client refuses to let you use them, you are welcome to use lags on your schedule.

However, my recommendation is to use them sparingly. Finding lags on your schedule is not the only issue you will encounter with lags, there are others I won’t go into here. The key here is to 1) be aware, and 2) document document document.


New Call-to-action
EDITOR’s NOTE: This post was originally published May 2012 but has been completed updated and revamped for completeness and accuracy.