Skip to main content

Skip Probability Computation

PyPI

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 under 'results/' in the subfolders 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.2

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.2
File Size Uploaded
skipalignments-0.2.2.tar.gz 93.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skipalignments 0.2.2
File Interpreter ABI Platform
skipalignments-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 157.3 kB

Release files / skipalignments-0.2.2.tar.gz

Download URL skipalignments-0.2.2.tar.gz
Size 93.5 kB
Tags Source
SHA-256 checksum
How to use checksums
1f2361fad31aaccfb1809ba77674b3fdc2e67f7aafa59c74109dfdaac9f5b924
BLAKE2b-256 checksum
How to use checksums
4dab55528b3b957ef940a25001d224dff319bb03e916b9aa01c0fabbf20cfc4c
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.2-py3-none-any.whl

Download URL skipalignments-0.2.2-py3-none-any.whl
Size 63.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9167a69156ba9f394bd45dae377d29067297d86f9baf09830de31335996c129
BLAKE2b-256 checksum
How to use checksums
df54bb27a455e609fa90b22c0a5fcae8bf85868094495e7ba941588a1e10fedc
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

This release

0.2.2 This release

2 release files

0.2.1

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