Root Cause Analysis of Rule System Execution – One Step forward towards to Intelligent Decision Making
In this small blog entry I will introduce a research project if mine. I will introduce a use case, a model without using too much mathematics and will explain my next steps. I always appreciate comments, further suggestions and I hope to connect with other people from academia and business, who are working on the same problem.
The Need for Root Cause Analysis
We are using BRFplus to check business objects like insurance claims in automated processes. Sometimes those insurance claims are very complex – think of special care for example. The rule systems are quite huge and can be implemented in BRFplus using decision tables having some hundred rows.
The result of the rule set execution is a set of conspicuous features that have to be controlled by officials in a workflow based task management. This can be complex if the result of BRFplus execution consists of dozens of tasks. And in many cases it is possible that the execution of one task leads to a recalculation of the business objects which closes other tasks.
To optimize the working process of an official it is necessary to find the root cause and create and prioritize the tasks. But root cause analysis can be useful in dialog processes as well: the complex complex result of rule system execution can be presented in a way that the SAP user who works on that insurance case can understand easily what the problem is. This speeds up the whole work process and can also increase the service quality of an insurance company.
Please note that looking for root causes is different from rule system trace. I don’t want to show how a rule system execution was performed – I want to explain the behavior.
As I explained above we are looking for root cause. Sometimes a simple set of facts (represented my master or application data) can explain dozens of suspicious features: one special insurance policy is missing, some medical treatments are restricted to the age of the insurant and so on.
Finding explanations is a task for logical abduction – which was introduced by the philosopher and mathematician Peirce. Those methods can be applied in systems but also medical diagnosis. So this is what Dr. House is doing in his show.
I don’t want to go into detail into the topic but you should be aware of the following:
- Explanation is usually more complex then proving.
- Often we are looking for “simple” solutions. This is challenging since it is hard to define simplicity. And you can also question this approach: sometime the “simple” explanation is not correct what you can see in the show of Dr. House from time to time J
- The concept of simplicity leads to non-monotonic logic which is different compared to first order logic that we use in the foundations of set theory and so (modern) mathematics.
My little Contribution
When working with decision tables I found the standard approach of mathematical logic no very effective. As a consequence I tried to find out how a business object like an insurance claim has to be altered that many conspicuous features vanish.
This is not very difficult and leads to well understood combinatorial problems like set covering. Nevertheless I decided it to write it down in terms of mathematical logic although other formulations like Boolean functions are possible, too.
If you are interested you can read a draft version here. But please be warned, it is only a draft and I tested the approach with random data. I already got valuable feedback from SAP Mentor colleague Peter Langner which still has to be included. He also mentioned the concept of information flows which I have to
read and understand.
At the moment I am thinking of a BRFplus implementation of my approach. I think I will have to try out whether BRFplus API and or execution trace are sufficient for it. But I would also like to have the feedback from scientists who are experts in this area – I only consider myself as a beginner. May be we could also write a paper. In the past I worked together with one colleague from SAP UK who is also researcher at the University of Belfast. It contains a mathematical model that helps to understand the behavior of rule systems working with ambiguous data. Our paper was accepted KES-IDT-15 conference about intelligent decision making.
For me the participation was one highlight of the year and I learned a lot. The most important learning was that my mathematical skills became a little bit rusty so I appreciate any help. I am convinced the Decision Making and Decision Making Technologies is one of most promising and interesting areas and cornerstone of Next Generation ERP Systems. Today Enterprise Resource Planning is not so smart but with technologies like DSM and HANA SAP provides edge technologies. It is our task to use them to develop business applications that use these technologies to create amazing new solutions. I appreciate any help from students with skills in optimization and artificial intelligence.
very interesting topic. Unfortunately the link to the draft version of your paper is broken 🙁
Is the paper you contributed to the conference freely available e. g. on arXiv.org?
Thanks for the comment. Could you try the link again?
P.S.: At the moment the paper is a stub and I think I have to work on it until I can publish it on arXiv.org.
Thanks, works now.
Concerning the arXiv I think you misunderstood me: I meant the paper of the KES-IDT-15
You can find it on ResearchGate - Share and discover research and Academia.edu - Share research.
Really interesting, I've been thinking about the "Why?"-button quite a lot, but lack any mathematical affinity.
A pattern I would like to implement is to dump the state of things (the bigger the scope, the better) into a Rule Engine (HRF, BRFplus, ...) and get a list of Best Next Actions (or mandatory or probable actions). And the question pops up: why is this the Best Next Action?
So your research sounds pretty interesting.
concerning the mathematical background you have to know that the genrel question is very difficult but my little case study confirms the observation that real-world instances of abduction problems ususally are not that complex compared to the worst case results from theory. And if we restrict only to certain expression types like decision tables it is even more simple.
Yes, you mentioned a very challenging problem some scientists call it "goal driven process management". Your suggestion was that a rules engine should decide what to do next. And yes, I consider this a very promising approach, too. You can also find some examples in SAP standard:
I think more and more of those solutions will establish and I will blog about it as soon as soon as I will develop one. And yes, if teh system makes decisons to control a process those have to be transparent.
Tobias - an interesting topic. I would suggest contacting Jan Vanthienen at the University of Leuven in Belgium as he would know, I think, what research might be going on in this space.
I would also encourage you to look into decision modeling and the new DMN standard if you have not. Our experience is that it is much easier, and more valuable, to describe the behavior of a decision model than to explain the behavior of a large number of rules. Building a decision model to decompose the required decision-making before writing rules for each piece of this model results in much better rules but also allows the explanation to focus on things like "why did we decide this customer is a good one" or "what is wrong with the header information for this claim" instead of dumping all the explanation into a single result.
Decisions first, rules second. Even when explaining!
thanks for your feedback - much food for thought.
Hi Tobias, Not that can I help much... except confirm that we can be quite flexible with next step actions in DSM/BRFplus.... but I agree this is a very interesting area of research and fascinated to see where you take it.