Cause Contribution Calculation

Alex Apostolou


Calculating bowties is complicated process, especially when they are large and/or some of the calculations involve cyclical or repetitive formulas.

We’ve recently found a situation where these elements come together and caused RiskView to error.

Firstly, to get the context right, it involves bowties where there are more than 50 nodes in the longest Causal Pathway to Consequential Pathway chain.

Cause Contribution Calculation

Assuming a ratio of 5:1 preventative to mitigative, this resolves to about 40 preventative controls and 10 mitigative controls in the one bowtie. Anyway, suffice it to say that this was recently discovered. Add to this the complication of the calculation of Cause Contribution Percentage, which is calculating the mitigated likelihood at the end of each causal pathway, and displaying it on the cause.

This is useful for when:

  • there are many causes
  • the bowtie is still over ALARP
  • identifying where the majority of likelihood comes from is difficult

Having said all that, this value is refreshed often and when the Causal Pathway to Consequential Pathway chain exceeds 50 nodes, RiskView throws that error.


We have implemented a new way of working around this situation, with a new Configuration Option in the Analysis section called “Cause Contribution Calculate”. By default, this field is unchecked (set to false), as in, don’t calculate this value.

If it is left as unchecked, then:

  • this field will show 0 on every cause
  • bowtie calculations will run much faster
  • bowties can grow to over 100 nodes in a chain (we stopped testing there)

If this field is checked (set to true), as in, please calculate this value, then:

  • this field will show the correct Cause Contribution on every cause
  • bowtie calculations will run a little slower
  • a warning message will come up when the longest bowtie chain gets to 40 nodes and no further nodes can be created on that pathway

We think that this approach provides the best combination of speed, functionality and reliability as the thickness of the last link between the preventative controls and the top event already shows the relative mitigated likelihood in any case.

Also, bear in mind, if you are using long chained pathways, you can always use the pathway wrapping function in Bowtie Perspectives:

Causal Pathway Wrapping

So the bowtie ends up like this instead:

Causal Pathway Wrapping

But of course, we welcome your feedback.

Is it helpful to you?

Total Votes: 0