To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Feature Question DecisionPointAnalysis

edited July 2010 in - Usage
[On behalf of Christoph Griesser]

Dear ProM users,

I am a student of computer science in Freiburg, Germany and I am looking for more detailed information on ProM's DecisionPointAnalysis plugin. I hope this is the right place for my question...

As I am about to write a thesis on process execution flows, I started looking for a tool which serves my purposes. What I need is a plugin which computes a decision tree from a process model and a log file. Taking the "Insurance" example from \examples\decisionMining\DecisionMinerExampleLog.xml I can apply the "Alpha algorithm plugin" and subsequently the "DecisionPointAnalysis" plugin, I can do a decision point analysis like stated in the online documentation.

However, what I'd like to be able to do is to predict the probable *outcome* (not only the next step) of the process at an arbitary decision point in the model. Let's say, "send approval letter" and "send rejection letter" would be 2 possible end states of the model. If I look now at an arbitary, earlier decision point in the model, is it possible to calculate the probability with which the process will arrive in the state "send approval letter", given all past process executions?

My problem is acutally very similar to what the DecisionPointAnalysis plugin does, however I cannot find a way to get it working with ProM. As I am not very familiar with the tool yet, I don't know whether it offers this functionality or not.

Any help would be appreciated!

Thanks a lot,



  • [On behalf of Anne Rozinat]

    Hi Christoph,

    If I understand you correctly, you would like to find out how earlier choices in the process influence some global process outcome? There are 3 things that come to my mind:

    1) The Decision Miner analyzes the possible choices at a decision point. So, the target concept to be learned is about the decision at such a choice point (the alternative branches are the target classes).
    If your target concept is something else, for example, some global outcome reflected in a data attribute (like: "success" vs. "no success"), then the Decision Miner cannot be directly used for your problem.

    However, you could try to tweak your data in such a way that you simply include your global outcome as (a) an audit trail entry at the end of the process instance, whereas the 'WorkflowModelElement' part says either "success" or "no success", and (b) include a corresponding choice construct in the process model that reflects the different data attribute values, so the choice between two transitions "success" and "no success" that match the audit trail entries from (a).

    2) If you do not want to analyze the impact of data attributes but the impact of the history of an instance itself, then you can try the 'Enhance Log with History' analysis plug-in, which adds data attributes reflecting the history of a case in each stage as a bag of actions. This is explained in the help text of the plug-in as follows:

    "This plugin adds counting measures to the data part of each audit trail entry. For example, if a log trace contains the sequence ABAC, then there will be a new data attribute "#A" = "1", "#B" = "0", and "#C" = "0" for log event B, data attributes "#A" = "1", "#B" = "1", and "#C" = "0" for the second log event A, and the data attributes "#A" = "2", "#B" = "1", and "#C" = "0" for log event C etc. So, the history is captured in a simplified way without including the current log event itself. The purpose of this plugin is to enable the analysis of the history via data mining techniques, e.g., in the Decision Miner."

    3) The goal of the Decision miner is to discover a decision tree, and to derive decision rules. So, inferring possible structural patterns to gain insight is the primary goal - but not prediction. However, if you can tweak your data to make the Decision Miner work for the rest of your problem, then you can export the data for each decision point to a format that can be analyzed by Weka, an open source Machine Learning workbench. There, you are likely to also find prediction algorithms that you might try?

    I hope this helps.

    Best regards,
  • [On behalf of Wil van der Aalst]

    Hi, Christoph.

    In addition to the excellent suggestions given by Anne, there are some alternative routes (depending on your question):

    - You may also look at the "case data extraction" plug-in. This allows you to generate a profile (vector) per case and then export this to e.g. WEKA for further analysis (e.g. decision trees).

    - You may use the (semantic) LTL checker to formulate queries, e.g., what are the cases that have property A and B. Then you can see how many instances match.

    - You may take a look at the work of Ronald Crooy. See "Boudewijn F. van Dongen, R. A. Crooy, Wil M. P. van der Aalst: Cycle Time Prediction: When Will This Case Finally Be Finished?. OTM Conferences (1) 2008: 319-336"and "Predictions in information systems : a process mining perspective / Ronald Crooy". He worked on predictions. The focus is on time, but also the outcome (i.e., final activity or data value) could be used.

    - You may take a look at the work on predictions based on transitions systems. See "W.M.P. van der Aalst, M.H. Schonenberg, and M. Song. Time Prediction Based on Process Mining. BPM Center Report BPM-09-04,, 2009." This has only been implemented for time and not for the outcome. The principle is however the same.

    - You should also know that we are working on a generic way to support prediction and recommendation at run-time. This work done by Maja Pesic and Helen Schonenberg. In the future we hope to offer more support for this.

    Cheers, Wil.
  • [On behalf of Christoph Giesser]

    Dear Anne, dear Wil,

    thanks a lot for your recommendations and hints! Yes, I am interested in how earlier choices in the process influence the global process outcome, e.g. I'd like to be able to predict the outcome ("probably yes" / "probably no") at a given point in the process, based on previous process executions.

    Tweaking the data so that it fits for ProM might be a solution, however, I'm rather interested whether a tool for this purpose already exists or not. Maybe Anne's proposal 2) is the right one for me, I'll have to check that. I already had a look at the proposed literature and find it very promising (esp. "Time Prediction based on Process Mining").

    I just wonder whether there really is no literature on outcome prediction in business processes as I am still not sure which methodology to apply. ..

    So, again, thanks a lot for your help! ProM still seems a useful tool for my thesis.

Sign In or Register to comment.