Want to keep learning?

This content is taken from the Eindhoven University of Technology's online course, Introduction to Process Mining with ProM. Join the course to learn more.

Skip to 0 minutes and 10 seconds Hi and welcome back. In this lecture, I will show you the heuristics miner in ProM. So the heuristics miner is an improvement of the alpha miner and still tries to bridge the gap between the event log and the process model discovery. So how does the heuristics miner improve on the alpha miner? Well, it takes frequencies into account. Therefore, it can filter out infrequent behavior. And it is able to detect short loops and skipping of activities. However, it still does not guarantee sound process models.

Skip to 0 minutes and 40 seconds So on the input data, it constructs internally these two matrices and discovers the Petri net shown on the top and this Petri net has certain issues such as unsoundness, and it’s not able to replay all the behavior that we put in. So now, let’s replicate this result in ProM, and after that, apply the heuristics miner on some real data. So with ProM open, let’s load the partial event log that we used in example. And let’s run the heuristics miner on this. Mine for heuristics net using heuristics miner. And when we apply this, we get several settings. For instance, this one is the frequency threshold, so now we only see things that we’ve observed at least five times.

Skip to 1 minute and 30 seconds And the dependency measure needs to be at least 90%. And there are some other metrics that you can change. When we do this, we get this as a heuristics net. We can convert this to a Petri net. And then we get exactly the result as we’ve seen in the lecture before. So we have a parallel split between activity D. And here is the unsound part where both branches can be enabled. So let’s see how the heuristics miner does on real data. So let’s delete this. And let’s import the BPI challenge 2012 event log. Now, we can again run the heuristics miner.

Skip to 2 minutes and 19 seconds Let’s keep the settings as they are by default. And then we get a slightly bigger process model. So in the heuristics net, you also see frequencies being added. And when you click an activity, you see its relation from the input. So it has only one activity as input. A submitted. And it has four possible output activities. And here, you can see in which pattern they occur. This gives you a bit more information on the different combinations of behavior that are observed. But let’s convert it to a Petri net, and see what the behavior is that this heuristics net describes.

Skip to 3 minutes and 5 seconds So what this shows is that it’s a rather big and complex process model with a lot of silent transitions moving the tokens around. So let’s zoom in a little bit and then you see a lot of behavior, a lot of silent transitions, moving tokens around. But it’s not easy to see what the actual behavior is. So let’s try and filter this event log again before we apply the heuristics miner for a second run. So let’s filter the log using the simple heuristics. And now, we can continue this. The only thing we actually want to do is only keep the activities that are part of the A and the O processes. So we keep shift, we click.

Skip to 3 minutes and 56 seconds We now only take those events that relate to activities in the A or O subprocesses. So let’s give it a meaningful name.

Skip to 4 minutes and 15 seconds So I did some simple filtering. And if we now, again, apply the heuristics miner, heuristics miner using the same default settings, and then convert it to a Petri net– we get, although it’s a smaller model, we still have a lot of silent transitions moving tokens around. And it’s hard to see where they take a token from and where they put it back. So in the couple of next lectures, I will again show you other process discovery algorithms on the same data and I’ll show you that there is actually a far simpler process model that can be discovered that still describes most of the behavior correctly. So the heuristics miner can produce a process model.

Skip to 4 minutes and 59 seconds It is able to filter some behavior away. But it still shows you a rather complex process model.

Skip to 5 minutes and 10 seconds So now that you’ve seen the heuristics miner being applied on real life data, you’ve seen that although it produces reasonable models, it also has some issues regarding soundness, mainly. So in the next lecture, I will show you another process discovery algorithm that’s able to better cope with real data and is also able to produce sound process models. So I hope to see you again in the next lecture.

Heuristics miner in ProM

In this lecture we show how to apply the Heuristics miner in ProM, as well as some basic settings and how to read heuristic nets.

We use the ‘Artificial - Loan Process - Partial.xes.gz’ event log in this video.


  • In ProM Lite 1.2, please use the “Interactive Data-aware Heuristics Miner (iDHM)”. This plug-in has a different Look+Feel as the plug-in used in the video. To show the process model as a Petri net, please select “Petri net” as the process model (See the section labeled “OUTPUT: PROCESS MODEL”). As the plug-in is slightly different, it may result in a different Petri net than the one shown in the video. You can also export the shown Petri net into your workspace by selecting the “Export model” button.
  • The inputs and outputs of an activity can be obtained by right-clicking an activity in the iDHM and selecting either “Show input bindings” or “Show output bindings”. This opens a new window with the selected bindings.

Share this video:

This video is from the free online course:

Introduction to Process Mining with ProM

Eindhoven University of Technology

Get a taste of this course

Find out what this course is like by previewing some of the course steps before you join: