Skip to main content

Why Does Safran Risk Give Different Results than Oracle Primavera Risk Analysis?

Why don’t Safran Risk results match Oracle Primavera Risk Analysis (OPRA) results on impacted risk models?

A client recently reached out because they couldn’t get Safran’s results to match those from OPRA. What they have been finding is that occasionally the values from OPRA are significantly longer than those from Safran, particularly above P80 confidence levels.
As both an Oracle certified OPRA instructor/consultant and a Safran Risk certified instructor/consultant, this was of interest to me. I haven’t seen much difference in results between the two tools, and any variance from OPRA is a cause for concern to someone considering moving from OPRA to Safran Risk.

For example, this is the result from an Impacted Risk Model in OPRA:

Different Results Between OPRA and Safran - Image 1

This is the same result from Safran:

Different Results Between OPRA and Safran - Image 2

As you can see, while the values up to P80 are similar, there are longer tails in OPRA.

Are you ready for a deep dive into Schedule Risk Analysis theory? Because the cause is quite interesting:

First, let’s look at the Duration distribution in OPRA:

Different Results Between OPRA and Safran - Image 3

Now the Duration distribution in Safran:

Different Results Between OPRA and Safran - Image 4

Virtually identical!

So what could cause the Duration distribution to be the same while the Finish Date duration is different? It had me scratching my head…

Let’s go back and look at how OPRA builds an impacted risk model. OPRA converts the original activity to a Hammock, and then creates a new activity to represent the original activity, and additional activities to represent each risk event. Looking at Activity F before the impacted model is built:

Different Results Between OPRA and Safran - Image 5

With one risk (Risk 9) applied, Activity F becomes this:

Different Results Between OPRA and Safran - Image 6

OPRA keeps the original predecessor logic to the newly created Activity F (A1012:B). In this example, the existing relationship is a FF relationship with the predecessor being Activity E. It then links the risk event (A1012:Risk9) as a successor to the newly created Activity F (A1012:B) with a FS relationship. Finally, it creates a new link to the original successor from the hammock.

So this:

Different Results Between OPRA and Safran - Image 7

Different Results Between OPRA and Safran - Image 8

Becomes this:

Different Results Between OPRA and Safran - Image 9

As a note, this was a test file from a client; I wouldn’t build this odd combination of an FF predecessor and a SS successor in the real world; I would consider it bad scheduling practice. Ultimately, that odd logic is also why we are seeing the delta between OPRA and Safran.

Why? When OPRA creates the new activities, it still links the predecessor to the original activity. That works great when the predecessor is an FS or SS relationship, but it creates an issue when the predecessor is a FF relationship.

Here is what happens when you have a FS relationship between Activity E and Activity F:

Different Results Between OPRA and Safran - Image 10

Let’s step back and think about what a Finish to Finish (FF) relationship is – in an FF, the predecessor must finish before the successor can finish. Contrary to what some people think, it doesn’t mean that the activities must finish together.

But what happens if we split Activities E & F the way that OPRA does when the impacted risk plan is built?
This is what occurs when you have a FS relationship between Activity E and Activity F (while the normal convention is to draw the hammock above the activities, I have flipped them to make it easier to read):

Different Results Between OPRA and Safran - Image 11

If there is a delay in Activity E, either because of uncertainty on the original activity or due to Risk05 firing, the start of New Activity F will be delayed.

But what if there is a FF relationship instead of an FS relationship between Activity E and Activity F? This is where things potentially go wrong. OPRA still links the predecessor to New Activity F.

Different Results Between OPRA and Safran - Image 12

So, why does this matter? Well, if Activity E gets delayed beyond the finish of New Activity F, it will delay the start of Risk 09. Remember that the original requirement was that Activity E must finish before Activity F finishes, but now the requirement is that it finishes before New Activity F (and, therefore, before Risk 09 starts). That wasn’t the original intent – we only had to finish Activity E before Activity F; now we have to finish Activity E before we’ve barely started F (akin to a large negative lag on the relationship).

Different Results Between OPRA and Safran - Image 13

Any time that the overall duration of Hammock Activity E exceeds the duration of New Activity F, there will be an increased overall delay to the project because Risk 09 would be delayed from starting. This is clearly not the intent of the original FF relationship.

Here is an example from the OPRA Step Through Analysis:

Different Results Between OPRA and Safran - Image 14

In our example, that would be represented by these bars on the histogram. This results in a nearly 3.5 month P100 delay.

Different Results Between OPRA and Safran - Image 15

Let’s look at a classic example where FF relationships are used: I have drywallers and painters working through a commercial building. The painters can’t finish until a few days after the drywallers, so I use an FF relationship with a few days lag. If I create a risk that there will be more drywall required than estimated, along with a similar risk for the painters, the painters won’t be able to work on any of their extra work until all the drywall is completed.

Incidentally, Safran handles this in stride, since the risks are applied directly to the original activity rather than to a separate risk activity, so the FF relationship naturally moves to the end of the activity.

So, OPRA is not handling this scenario correctly, but how can I fix this in OPRA? There isn’t any point in raising an SR with Oracle since OPRA is on extended support and the last patch was issued nearly 10 years ago. One solution is to manually change the FF relationship to link to the end of Risk09, instead of the end of New Activity F.

Different Results Between OPRA and Safran - Image 16

This should restore the relationship between the original activities. Just be careful not to create any open ends.

Let’s try it. The results are:

Different Results Between OPRA and Safran - Image 17

Different Results Between OPRA and Safran - Image 18

Which exactly matches Safran’s results.

Just to make sure that this is the issue, I can duplicate the OPRA Risk Event process in Safran (i.e. three activities: base activity, one impact activity, and one hammock to tie them together):

I get a Finish Date distribution that exactly matches OPRA:

Different Results Between OPRA and Safran - Image 19

So, is this really an issue? If we take the two curves (one from the original OPRA approach and one from the standard Safran approach) and compare them in the Safran Distribution Comparison, here is how they compare:

Different Results Between OPRA and Safran - Image 20

As you can see, the variances largely occur between P90 and P100 values (i.e. only the time when the duration of Activity E and Risk 05 exceed the duration of Activity F) but cause a huge amount of delay between P90 and P100.

The ultimate solution is probably to switch to Safran Risk – it’s up to date from a risk theory perspective, offering risk-centric modelling and integrated cost and schedule risk analysis, which OPRA can’t offer. This issue is just another reason to make the shift.
No video selected.

About the Author

Ian Nicholson, P.Eng. - VP Solutions

As our VP Solutions and a Lead Risk and Implementation Specialist, Ian leads Emerald’s functional consulting group. With over 20 years of international experience in varied fields and roles from manufacturing, heavy civil construction, pharmaceutical plant construction, hospital projects and oil and gas capital and turnaround projects, Ian brings a wealth of project knowledge to all of our clients.

A visionary in the world of CAPEX, maintenance and turnaround planning processes, Ian has lead many of our large clients through their integration projects between ERP/EAM systems and Primavera products. Some of his integration success stories include Suncor Energy SAP to Primavera integration, BP Maximo to P6 integration, implementation of P6 at the Ontario Power Authority as well as the integration of Primavera Contract Manager with Oracle Financials at Capital Health Authority and Vancouver’s Rapid Transit Project 2000. Other major clients include Milwaukee Metropolitan Sewerage District, Shell Canada and Shell Global Solutions.

Ian has conducted Monte-Carlo risk analysis on CAPEX and turnaround projects for Shell Canada, Suncor Energy, Husky Energy and Bruce Power. He believes that successful Monte Carlo application is a process, not just a tool and has spoken at a number of events on the correct application of risk analysis.

When not assisting clients with their projects, Ian unwinds by riding his BMW motorcycle, listening to music or dragging his kids on long hikes.

Leave a comment

Please login to leave a comment.