Skip to main content

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.10
  • Ebi - 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)

Source distribution for skipalignments 0.2.1
File Size Uploaded
skipalignments-0.2.1.tar.gz 75.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skipalignments 0.2.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page