PM4Py — Process Mining for Python Algorithms and Features

Jump to category

164 features

Process Model Types

PM4Py features: Process Model Types
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Petri Nets (PN)Workflow Nets (WF-nets)–2.0.0 View
Maximal DecompositionSplits a net into smaller nets2.0.0 View
Reachability GraphAll reachable markings of a net2.0.0 View
Soundness Checking (WOFLAN)Checks whether a workflow net is sound2.0.0

Publication

Diagnosing workflow processes using Woflanby Verbeek et al.

View
Conversion from Process TreeTurns a process tree into a Petri net2.0.0 View
Conversion from BPMNTurns a BPMN model into a Petri net2.1.0 View
Conversion from POWLTurns a POWL model into a Petri net2.7.5.2
Reset and Inhibitor ArcsArcs that empty a place or block a transition–2.2.10.2 View
Data Petri NetsTransitions guarded by data attributes–2.2.10.2 View
VisualizationWith frequency or performance decoration2.0.0 View
Process TreeHierarchical, block-structured process model–2.0.0 View
Process Tree GeneratorRandom process trees for artificial data–2.0.0 View
Conversion from Petri NetTurns a block-structured net into a tree2.0.1 View
Conversion from POWLTurns a POWL model into a process tree2.7.14.1
VisualizationOperators and activities as a tree2.0.0 View
Business Process Model and Notation (BPMN)Import and export of BPMN 2.0 models–2.1.0

Publication

Business Process Model and Notation (BPMN)by Object Management Group (OMG)

View
Conversion from Process TreeTurns a process tree into a BPMN model2.1.0 View
Conversion from Petri NetTurns a workflow net into a BPMN model2.1.0
VisualizationBPMN 2.0 diagrams2.1.0 View
Partially Ordered Workflow Language (POWL)Process trees extended with partial orders–2.7.5.2
Conversion from Process TreeTurns a process tree into a POWL model2.7.10
Conversion from Petri NetTurns a workflow net into a POWL model2.7.14.1
VisualizationPOWL models with partial orders2.7.5.2
Directly-Follows Graph (DFG)Which activity directly follows which2.0.0 View
Filtering Activities and PathsKeeps the most frequent activities and paths2.0.0 View
VisualizationWith frequency or performance decoration2.0.0 View
Timeline DFGA DFG laid out along time2.7.22

Publication

Timeline-based Process Discoveryby Kaur, Mendling, Rubensson, and Kampik

View
Causal NetsActivities with input and output bindings2.0.0
Transition SystemStates and transitions abstracted from a log2.0.0

Publication

Process Mining - Data Science in Actionby van der Aalst

View
VisualizationStates and transitions as a graph2.0.0 View
Prefix TreeRepresents all activity prefixes in a log–2.0.0
VisualizationThe activity prefixes of a log as a tree2.2.5
Object-Centric DFG (OC-DFG)A DFG per object type, combined2.2.16 View
VisualizationObject-centric DFGs as a graph2.2.16 View
Object-Centric Petri Nets (OC-PN)A Petri net per object type, combined2.2.16

Publication

Discovering object-centric Petri netsby van der Aalst et al.

View
VisualizationObject-centric Petri nets as a graph2.2.16 View
Object-Centric Causal Nets (OC-CN)Causal nets across object types2.7.20

Publication

Object-Centric Causal Netsby Liss, Mensing, and van der Aalst

View

Event Data

PM4Py features: Event Data
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Event LogImport and export, with XES support–2.0.0 View
FilteringBy time, attributes, variants, paths, and more2.0.0 View
Differential PrivacyAnonymizes a log while keeping its context2.0.0 View
Label SplittingSplits activity labels by their context2.7.9

Publication

Context-Based Activity Label-Splittingby van Zelst et al.

View
Merging Related Logs (Case Relations)Two related logs merged into one2.2.16 View
Object-Centric Event Log (OCEL)Supports the OCEL 1.0 and OCEL 2.0 standards–2.2.15 View
Filtering OCELBy object types, attributes, counts, and more2.2.16 View
Statistics OCELObject counts, edge metrics, and more2.2.18 View
Feature ExtractionFeature tables for objects and events2.2.18
OCEL OLAP OperationsDrill-down, roll-up, unfold, and fold2.7.22.3 View
FlatteningA traditional event log for one object type2.2.15 View
ValidationChecks files against the OCEL schema2.2.17 View
Object GraphsRelations between objects, as graphs2.2.17.1 View
Timestamp-Based InterleavingsTwo related logs combined into one OCEL2.2.15 View

Process Discovery

PM4Py features: Process Discovery
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Alpha MiningPetri nets from directly-follows relations––2.0.0
Alpha MinerThe original algorithm2.0.0 View
Alpha Miner +Adds support for short loops2.0.0

Publication

Workflow Mining: Current status and future directionsby Alves de Medeiros et al.

View
Inductive MiningSound, block-structured models from logs––2.0.0 View
Inductive Miner (IM)The base variant, with perfect fitness2.0.0 View
Inductive Miner Infrequent (IMf)Filters infrequent behavior (noise)2.0.0 View
Inductive Miner DFG (IMd)Works on a DFG, for very large logs2.0.0

Publication

Scalable Process Discovery with Guaranteesby Leemans et al.

View
Heuristic MinerFrequency-based, robust to noise2.0.0

Publication

Flexible heuristics miner (FHM)by Weijters et al.

View
VisualizationWith dependency and frequency values2.0.0 View
ILP MinerPetri nets via integer linear programming2.6.0 View
Genetic MinerPetri nets by evolutionary search2.7.20 View
Split MinerSimple, accurate BPMN models2.7.22.4 View
DFG MinerTurns a DFG into a workflow net2.0.0 View
Correlation MinerDiscovery without case identifiers2.0.0 View
Prefix Tree ApproachPrefix tree of the traces in a log2.0.0
Declarative Process ModelsDeclare constraints between activities2.7.6 View
Log SkeletonOrdering and occurrence constraints2.2.11 View
Partially Ordered Workflow Language (POWL) MinerDiscovers POWL models from logs2.7.5.2

Publication

POWL: partially ordered workflow languageby Kourani et al.

View
Local Process ModelsFrequent patterns in parts of the process2.7.23.3

Publication

Local Process Modelsby Tax et al.

View

Conformance Checking

PM4Py features: Conformance Checking
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
FootprintsCompares the relations of log and model2.0.0

Publication

Process Mining - Data Science in Actionby van der Aalst

View
VisualizationThe footprint matrix as a table2.0.0 View
Token-Based ReplayReplays traces with tokens on a Petri net2.0.0 View
Throughput and Root Cause AnalysisDurations and root causes of deviations2.0.0 View
AlignmentsOptimal mapping of each trace to the model2.0.0 View
Approximate Alignments (Tandem Repeats)Compresses repeated patterns2.7.23.2 View
Approximate Alignments (Subset Selection and Edit Distance)Aligns a sample, estimates the rest2.7.23.2 View
Approximate Alignments (Sliding Window Top-k)Windowed alignment for very long traces2.7.23.2 View
Approximate Alignments (Sequential Fixed Horizon)Aligns a few events at a time2.7.23.2 View
Alignments (decomposed)Aligns the parts of a decomposed net2.0.0 View
Anti-alignmentsModel runs far from the log, for precision2.0.0 View
Multi-alignmentsAligns several traces at once2.0.0 View
Alignments on a DFGAligns traces against a DFG2.0.0 View
Alignments between Logs (Edit Distance)Matches the traces of one log to another2.0.0 View
Process Tree Alignment ApproximatedFast approximation on process trees2.0.0

Publication

Alignment approximation for process treesby Schuster et al.

Process Tree Alignment MILPOptimal, via mixed-integer programming2.0.0

Publication

Process Tree Alignmentsby Schwanen et al.

Process Tree Alignment Dynamic ProgrammingOptimal, via dynamic programming2.0.0
Extended Marking EquationHeuristic for fast optimal alignments2.0.0

Publication

Efficiently computing alignmentsby van Dongen

Alignment TableThe alignments of all variants as a table2.7.4
Log SkeletonChecks a log against its constraints2.0.0 View
Declare ConformanceChecks a log against Declare constraints2.7.6
LTL CheckingRules such as the four-eyes principle2.0.0 View
Temporal ProfileFlags unusual times between activities2.0.0 View

Model Evaluation

PM4Py features: Model Evaluation
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Replay FitnessHow much of the log the model can replay––2.0.0
Fitness (Token-Based Replay)Fast, from missing and remaining tokens2.0.0 View
Fitness (Alignment-Based)Exact, from the alignment costs2.0.0 View
PrecisionHow little extra behavior the model allows––2.0.0
Precision (ETConformance Token)Based on token-based replay2.0.0 View
Precision (Align-ETConformance)Based on alignments2.0.0

Publication

Measuring precision of modeled behaviorby Adriansyah et al.

View
Precision (Automaton After Alignments)Builds an automaton from the alignments2.0.0 View
Generalization (Token-Based)How well the model handles unseen behavior2.0.0 View
SimplicityStructural complexity of the model––2.0.0
Simplicity (Arc Degree)Average number of arcs per node2.0.0 View
Simplicity (Extended Cardoso)Complexity from splits and joins2.0.0

Publication

Complexity Metrics for Workflow Netsby Lassen and van der Aalst

View
Simplicity (Extended Cyclomatic)Complexity from the reachability graph2.0.0

Publication

Complexity Metrics for Workflow Netsby Lassen and van der Aalst

View
Earth Mover Distance (EMD)Compares log and model as distributions2.0.0 View

Process Enhancement and Analysis

PM4Py features: Process Enhancement and Analysis
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
StatisticsDurations, arrivals, frequencies, and more2.0.0 View
Case Arrival and DispersionHow often new cases start2.0.0 View
Concurrent ActivitiesActivities running at the same time2.0.2 View
Eventually-Follows GraphWhich activity eventually follows which2.0.2 View
ReworkRepeated activities, per activity and case2.2.8 View
Partially Ordered VariantsVariants that keep parallel events2.7.23 View
Batch DetectionActivities handled in batches2.2.9 View
Process CubesTwo-dimensional slices of a log2.0.0 View
Decision MiningAttribute rules behind the choices2.0.0 View
VisualizationTrees from decision mining or ML2.0.0 View
Concept Drift DetectionChanges of the process over time2.7.17 View
Network AnalysisAggregated event links, for object-centric data2.2.16 View
Link AnalysisEvent links in detail, for object-centric data2.2.16 View

Organizational Mining

PM4Py features: Organizational Mining
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Social Network AnalysisNetworks between the resources of a log2.0.0

Publication

Discovering social networks from event logsby van der Aalst et al.

View
Handover of WorkWho passes work to whom2.0.0 View
SubcontractingWho works between two steps of another2.0.0 View
Working TogetherWho works in the same cases2.0.0 View
Similar ActivitiesWho performs similar activities2.0.0 View
VisualizationResource networks as graphs2.0.0 View
Organizational RolesGroups resources by their activities2.0.0 View
Resource ProfilesWorkload and behavior of each resource2.2.4 View
Group-Based Organizational MetricsMetrics on groups of resources2.2.4 View

Process Simulation

PM4Py features: Process Simulation
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Monte Carlo SimulationSimulates cases with timing from the log2.0.0 View
Play OutEvent logs from process models–2.0.0

Publication

Process Mining - Data Science in Actionby van der Aalst

DFGEvent log generation from a DFG2.0.0 View
Petri NetEvent log generation from a Petri net2.0.0 View
Process TreeEvent log generation from a process tree2.0.0 View

Machine Learning

PM4Py features: Machine Learning
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Feature ExtractionFeature tables from the cases of a log2.2.7.2 View
Temporal Feature ExtractionTime series of process indicators2.3.4 View
Trace EncodingsTraces as numeric vectors2.7.22.4 View
One-hot EncodingBinary occurrence vectors over trace tokens2.7.22.4 View
Count2Vec EncodingTrace-token frequency count vectors2.7.22.4 View
N-gram EncodingCounts of contiguous activity sequences2.7.22.4 View
TF-IDF EncodingTF-IDF weighted token or n-gram vectors2.7.22.4 View
Doc2Vec EncodingEach trace embedded as a document2.7.22.4 View
Word2Vec EncodingAveraged activity embeddings2.7.22.4 View
BERT EncodingSentence-transformer embeddings of traces2.7.22.4 View
Token Replay EncodingToken replay diagnostics as features2.7.22.4 View
Alignment EncodingAlignment diagnostics as features2.7.22.4 View
Trace Clustering (hierarchical)Groups cases by their attributes2.3.0
Predict Next ActivityLSTM model for predicting the next activity2.0.0
Predict Remaining TimeLSTM model for the remaining cycle time2.0.0

Streaming Process Mining

PM4Py features: Streaming Process Mining
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Streaming ImportersRead logs as a stream of events––2.0.1
XES (Trace-by-Trace)Streams an XES file, trace by trace–2.0.1 View
XES (Event-by-Event)Streams an XES file, event by event–2.0.1 View
CSV (Event-by-Event)Streams a CSV file, event by event–2.0.1 View
Streaming DFG DiscoveryUpdates a DFG with every event2.0.1 View
Streaming Conformance CheckingChecks every event as it arrives––2.0.1 View
Token-Based ReplayToken-based replay, event by event2.0.1 View
FootprintsFootprint checks, event by event2.0.1 View
Temporal ProfileTemporal profile checks, event by event2.1.4.1 View
Approximate Online Alignments (IWS)Online alignments with decay time2.7.23.2 View
OCEL StreamingOne event stream per object type2.2.16 View

LLM Integration

PM4Py features: LLM Integration
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Textual AbstractionsLogs and models as text for an LLM prompt2.7.5 View
LLM ConnectorsSends a prompt to an LLM2.7.5 View

Visual Analytics

PM4Py features: Visual Analytics
FeatureInputOutputAdded InScientific
Publication
Source
Code
Examples
Dotted ChartEvery event as a dot over time2.2.7 View
Distribution GraphsDurations, events over time, attributes2.0.0 View
Performance SpectrumDurations between steps, case by case2.2.7 View