Return to User manual

Detect and characterize drifts

Authors: Alireza Ostovar, Abderrahmane Maaradji, Marcello La Rosa, Marlon Dumas, Arthur H.M. ter Hofstede

This plugin can detect and characterize business process drifts. A process drift is a statistically significant change in the process’ behavior, as recorded in an event log. The plugin can be launched by selecting an event log from the repository and pressing “Analyze>Detect process drifts”. Alternatively, if you click on the menu item without selecting a log first, the tool will ask to use a log from your local computer. This second option may be useful if you don’t want to store your log into the repository. 

The plugin performs statistical tests over the distributions of events or runs (sets of traces) observed in two consecutive time windows, shifting along the log.

Screen Shot 2018-04-02 at 8.52.25 pm

This plugin comes with two configuration options: event-based and trace-based.

Event-based option (default)

In this option, the plugin works with a stream of events produced by replaying the input log, and is able to detect intra-trace drifts (more accurate) as well as to characterize a detected drift via natural language statements explaining the differences between the process control-flow before and after the drift. In this option, there is also the possibility of filtering noise by setting a noise filtering threshold.

Screen Shot 2018-04-02 at 8.52.02 pm

Once the parsing of the log is complete, the tool shows a plot of the P-value of the statistical test, where the position of each detected drift is noted as a circle on the X axis. Intuitively, a drift is detected if the P-value stays below the value 0.05 “long enough” to avoid mixing up a drift with a sporadic change in the process, e.g. due to noise.


By clicking on each detected drift, one can inspect its characterization statements. Moreover, by pressing the Save Sublogs button, one can download the sublogs, each containing subtraces (event-based setting) or traces (set-based setting) between every two consecutive drifts.

Trace-based option

In this option, the plugin works with a stream of runs (groups of traces) by replaying the input log. As a result, the plugin is unable to detect intra-trace drifts but can detect both sudden and gradual drifts.

Screen Shot 2018-04-02 at 8.52.14 pm

For both options, by default the plugins employs an adaptive window which is used to sample the process’ control-flow, as the window slides over the log. The tool will adapt the window size in order to strike a trade-off between classification accuracy and drift detection delay. Alternatively, one can provide a fixed window, which equates to the number of traces (in case of runs) or the number of events (in case of Alpha+ relations).

A screencast of this plugin, used in the context of variants analysis, is available here.

Example logs to use with this plugin can be found in folder “Examples>Detect process drifts” of the Apromore repository.

A standalone version of this plugin under the “ProDrift” name is available here.