An overview of key process mining concepts, algorithms, and approaches implemented in PM4Py.
A detailed and complete introduction to the various functions, algorithms and their variants can be found in the API documentation.
Area | Concept/Algorithm | Description/Reference | Object | Links |
---|---|---|---|---|
Process Modeling | Petri Nets (PN) Workflow Nets (WF-nets) | The Application of Petri Nets to Workflow Management by van der Aalst | Petri Net | Code |
| Translating workflow nets to process trees: an algorithmic approach by van Zelst et al. | Petri NetProcess Tree | Code Example | |
| Diagnosing workflow processes using woflan by Verbeek et al. | Petri Net | Code Example | |
| Discovering object-centric Petri nets by van der Aalst et al. | LogOC-Petri Net | Code Example | |
Causal Nets | Causal Nets: A Modeling Language Tailored towards Process Discovery by van der Aalst et. al. | DFGCausal Net | Code | |
Directly-Follows Graph (DFG) | A practitioner’s guide to process mining: Limitations of the directly-follows graph by van der Aalst | DFG | Code Code (Discovery) Example | |
| Directly Follows-Based Process Mining: Exploration & a Case Study by Leemans et al. | DFGPetri Net | Code | |
| OC-PM: analyzing object-centric event logs and process models by Berti et al. | LogOC-DFG | Code Example | |
Business Process Modeling Notation (BPMN) | Business Process Model and Notation (BMPN) by Object Management Group (OMG) | BPMNPetri Net | Code Example | |
Transition System | Process Mining - Data Science in Action by van der Aalst | LogTransition System | Code Example | |
Process Tree | Process Tree | Code Example | ||
| PTandLogGenerator: A generator for artificial event data by Jouck et al. | Process Tree | Code | |
Prefix Tree | Prefix Tree | Code Example | ||
Event Data | Event Log | Import/Export event logs. XES support | Log | Code |
| based on, e.g., LTL formulas, prefixes, attributes, DFG-paths, rework, temporal constraints, and many more | LogAttributesCasesActivities | Code Example | |
| including various temporal process performance statistics | LogAttributesActivitiesTimes | Code | |
| Supporting automatic system dynamics model generation for simulation in the context of process mining by Pourbafrani et al. | LogFeatures | Code Example | |
Object-Centric Event Log (OCEL) | supporting the standards OCEL 1.0 and OCEL 2.0 | OCEL | Code | |
| based on, e.g., object types, event attributes, object counts, and many more | OCELActivitiesEventsObjectsEndpoints | Code Example | |
| including, object count statistics, edge metrics, and many more | OCELActivitiesObjects | Code | |
| Graph-based feature extraction on object-centric event logs by Berti et al. | OCELFeatures | Code Example | |
Trace Clustering (hierarchical) | A generic framework for attribute-driven hierarchical trace clustering by van Zelst et al. | LogTrace AttributesHierarchical Cluester Tree | Code Example | |
Process Discovery | Alpha Mining | |||
| Workflow Mining: Discovering Process Models from Event Logs by van der Aalst et al. | LogPetri Net | Code Example | |
| Workflow Mining: Current status and future directions by Alves De Medeiros al. | LogPetri Net | Code | |
Inductive Mining | Various Inductive Mining algorithms are available | Code | ||
| Discovering block-structured process models from event logs - A constructive approach by Leemans et al. | LogPetri NetProcess Tree | Code Example | |
| Discovering block-structured process models from event logs containing infrequent behaviour by Leemans et al. | LogProcess TreePetri Net | Code Example | |
| Scalable Process Discovery with Guarantess by Leemans et al. | DFGProcess TreePetri Net | Code Example | |
Heuristic Miner | Flexible heuristics miner (FHM) by Weijters et al. | LogPetri Net | Code Example | |
ILP Miner | ILP-based process discovery using hybrid regions by van Zelst et al. | LogPetri Net | Code Example | |
Correlation Miner | Correlation miner: Mining business process models and event correlations without case identifiers by Pourmirza et al. | LogDFG | Code Example | |
Prefix Tree Approach | Skeletal algorithms in process mining by Przybylek | LogPrefix Tree | Code Example | |
Declarative Process Models | User-guided discovery of declarative process models by Maggi et al. | Log | Code Example | |
Log skeleton | The log skeleton visualizer in prom 6.9 by Verbeek | LogLog Skeleton Model | Code Example | |
Partially Ordered Workflow Language (POWL) Miner | POWL: partially ordered workflow language by Kourani et al. | Log | Code Example | |
Conformance Checking | Footprints | Process Mining - Data Science in Action by van der Aalst | LogPetri NetFootprint Table | Code (Discovery) Code (Conformance) Example |
Token-Based Replay | A novel token-based replay technique to speed up conformance checking and process enhancement by Berti et al. | LogPetri NetDiagnostics | Code Example | |
Alignments | Conformance checking using cost-based fitness analysis by Adriansyah et al. | LogPetri NetAlignments | Code Example | |
| Recomposing conformance: Closing the circle on decomposed alignment-based conformance checking in process mining by Lee et al. | LogPetri NetAlignments (decomposed) | Code Example | |
| Anti-alignments - measuring the precision of process models and event logs by Chatain et al. | LogPetri NetAnti-Alignments | Code Example | |
| Optimized SAT encoding of conformance checking artefacts by Boltenhagen et al. | LogPetri NetMulti-Alignments | Code Example | |
| Alignment approximation for process trees by Schuster et al. | Process TreeAlignments | Code | |
| Process Tree alignments by Schwanen et al. | Process TreeAlignments | Code | |
| A Dynamic Programming Approach for Alignments on Process Trees by Schwanen et al. | Process TreeAlignments | Code | |
| Efficiently computing alignments by van Dongen | Log | Code Example | |
Log skeleton | The log skeleton visualizer in PROM 6.9 by Verbeek | LogLog Skeleton ModelAlignments | Code Example | |
Earth Mover Distance (EMD) | Stochastic process mining: Earth movers' stochastic conformance by Leemans et al. | LogPetri Net | Code Example | |
LTL Checking | Process mining and verification of properties: An approach based on temporal logic by van der Aalst et al. | Log | Code | |
Temporal Profile | Temporal Conformance Checking at Runtime based on Time-infused Process Models by Stertz et al. | Log | Code Example | |
Evaluation of Log-Model | Fitness | Token-based replay, Alignment based | LogPetri NetFitness | Code Example |
Precision | Token-based replay, Alignment based | LogPetri NetPrecision | Code Example | |
Generalization | Quality dimensions in process discovery: The importance of fitness, precision, generalization and simplicity by Buijs et al. | LogPetri NetGeneralization | Code Example | |
Simplicity | ProDiGen: Mining complete, precise and minimal structure process models with a genetic algorithm by Vázquez-Barreiros et al. | LogPetri NetSimplicity | Code Example | |
Process Simulation | Monte Carlo Simulation | LogPetri Net | Code Example | |
Play Out | Process Mining - Data Science in Action by van der Aalst | LogPetri Net | Code | |
| Event log generation from a DFG | DFGLog | Code Example | |
| Event log generation from a Petri net | Petri NetLog | Code Example | |
| Event log generation from a process tree | Process TreeLog | Code Example | |
Organizational Mining | Social Network Analysis | Discovering social networks from event logs by van der Aalst et al. | LogNetwork Analysis | Code Example |
Organizational Roles | Business models enhancement through discovery of roles by Burattin et al. | LogRoles | Code Example | |
Resource Profiles | Mining resource profiles from event logs by Pika et al. | Log | Code Example | |
Operational Support | Predict Next Activity | LSTM model for predicting the next activity | Log | Example |
Predict Remaining Time | LSTM model for predicting the remaining cycle time | Log | Example | |
Process Enhancement | Decision Mining | Data-aware process mining: discovering decisions in processes using alignments by de Leoni et al. | LogPetri Net (Decision points) | Code Example |
Other | Performance Spectrum | The performance spectrum miner: Visual analytics for fine-grained performance analysis of processes by Denisov et al. | Code Example | |
Differential Privacy | PRIPEL: privacy-preserving event log publishing including contextual information by Fahrenkrog-Petersen et al. | Log | Code Example | |
Batch Detection | Batch processing: Definition and event log identification by Martin et al. | LogBatches | Code Example | |
Label Splitting | Context-Based Activity Label-Splitting by van Zelst et al. | Log | Code Example | |
Visualization | Petri Net | Petri Net | Code Example | |
OC-PN | OC-PN | Code Example | ||
DFG | DFG | Code Example | ||
OC-DFG | OC-DFG | Code Example | ||
BPMN | BPMN | Code Example | ||
Transition System | Transition System | Code Example | ||
Process Tree | Process Tree | Code Example | ||
Prefix Tree | Prefix Tree | Code Example | ||
POWL | POWL | Code Example | ||
Dotted Chart | Log | Code Example | ||
Heuristics Net | Heuristics Net | Code Example | ||
Footprints | Footprint Table | Code Example | ||
Alignment Table | LogAlignments | Code Example | ||
Decision Tree | Decision Tree | Code Example | ||
Social Network Analysis | Network Analysis | Code Example |