Skip Probability Computation
In process mining, alignments are a core concept to synchronize actual process executions with a process model. This repository contains the code to compute skip probabilities for a given log and process tree. We provide all source code and references to replicate the results of skip probabilities from the paper "Skip Probabilities for Subprocesses".
This implements the techniques from the following two papers:
Philipp Bär, Sander J.J. Leemans, Moe T. Wynn (2025). A Full Picture in Conformance Checking: Efficiently Summarizing All Optimal Alignments. International Conference on Business Process Management (BPM) 2025.
Philipp Bär, Adam T. Burke, Moe T. Wynn, Sander J.J. Leemans (2025). Skip Probabilities for Subprocesses. International Conference on Process Mining (ICPM) 2025.
Library Usage
The project can also be installed and used as a Python library.
After installing the package, the skip alignments and skip
probability functionality can be imported directly with
from skipalignments import *,
Requirements
Python ≥ 3.10Ebi- requires separate installation- Libraries listed under pyproject.toml (immediate dependencies) and requirements.txt (output of pip freeze)
Installation
The project is packaged with setuptools (see pyproject.toml), with the
package source living under src/skipalignments.
pip install -e .
This installs the skipalignments package and its dependencies
(pandas, pm4py, tqdm).
Structure of This Repository
This repository contains everything needed to compute skip alignments and to recreate the evaluation from the paper.
You can recreate the models and probabilities with im_models.ipynb, indulpet_models.ipynb, and random_models.ipynb. This might take a few days.
The .py files carry the algorithms to compute skip alignments and skip probabilities, and they box the PM4py calls.
Running Example
An introduction to compute skip probabilities for subprocesses is given in the notebook examples/example.ipynb. Is discusses the tree and log from the running example in the paper. A pure Python version of the same example is in examples/quickstart.py.
Required Event Logs
You need to download the event logs used in this repository to recreate the evaluation results. Download, extract, and save the .xes files to disk. You need to provide the paths to these files in each notebook.
Precomputed Results
We provide the computational results used in our evaluation in the folders im_results, indulpet_results, and rand_results. They are equivalent to the files obtained by running the three notebooks again.
Ebi
Querying the stochastic path languages in the derivation process requires Ebi. Follow the instructions of Ebi to setup the environment. For skip probabilities, we expect ebi or ebi.exe to be available on the
PATH. The exact path used can be overridden by setting the variable
skipalignments.probabilities.EBI_EXECUTABLE.
The Ebi CLI's argument shape has changed between versions; the calls in
probabilities.py are known to work against Ebi 0.3.14. If Ebi rejects a
call with a usage error, its CLI arguments may have moved on since.
Third Party Dependencies and licenses
This project is licensed under the AGPL 3.0. This is mainly due to the dependency on pm4py, which is an AGPL project. This project uses pm4py as a library, and includes adapted code from that source.
The code for computing alignments in alignall.py is adapted from pm4py, specifically
pm4py/algo/conformance/alignments/petri_net/variants/state_equation_a_star.py
Metadata
Release files for skipalignments 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skipalignments-0.2.1.tar.gz | 75.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skipalignments-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.0 kB
Release files / skipalignments-0.2.1.tar.gz
| Download URL | skipalignments-0.2.1.tar.gz |
|---|---|
| Size | 75.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b4c4b4e211aa0194e4c52c27276e4154a61981046e9b5392d11a4541f8ba7e0
|
|
BLAKE2b-256 checksum How to use checksums |
13d8d8002f7c78699d57f2a9a52d2873ac11f9f5b7daa285246a64a3d37656ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|
Release files / skipalignments-0.2.1-py3-none-any.whl
| Download URL | skipalignments-0.2.1-py3-none-any.whl |
|---|---|
| Size | 58.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4b18b61487e582eb9e3001b2252dcbafa94580a9bddd48dc355c7ae925c52f42
|
|
BLAKE2b-256 checksum How to use checksums |
fe0fca8edc3e878ac4ac890b8cd677bfc3fc28fbd567aa4863eee0cf0f787457
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.3
|