PM4Py Feature Overview

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.

AreaConcept/AlgorithmDescription/ReferenceObjectLinks  
Process
Modeling
Petri Nets (PN)
Workflow Nets (WF-nets)
The Application of Petri Nets to Workflow Management by van der Aalst Petri NetCode
  • Conversion to Process Tree
Translating workflow nets to process trees: an algorithmic approach by van Zelst et al. Petri NetProcess TreeCode
Example
  • Soundness Checking (WOFLAN)
Diagnosing workflow processes using woflan by Verbeek et al. Petri NetCode
Example
  • Object-Centric Petri Nets (OC-PN)
Discovering object-centric Petri nets by van der Aalst et al. LogOC-Petri NetCode
Example
Causal Nets Causal Nets: A Modeling Language Tailored towards Process Discovery by van der Aalst et. al. DFGCausal NetCode
Directly-Follows Graph (DFG)A practitioner’s guide to process mining: Limitations of the directly-follows graph by van der Aalst DFGCode
Code (Discovery)
Example
  • DFG Miner
Directly Follows-Based Process Mining: Exploration & a Case Study by Leemans et al. DFGPetri NetCode
  • Object-Centric-DFG (OC-DFG)
OC-PM: analyzing object-centric event logs and process models by Berti et al. LogOC-DFGCode
Example
Business Process Modeling Notation (BPMN) Business Process Model and Notation (BMPN) by Object Management Group (OMG) BPMNPetri NetCode
Example
Transition SystemProcess Mining - Data Science in Action by van der Aalst LogTransition SystemCode
Example
Process Tree Process TreeCode
Example
  • Process Tree Generator
PTandLogGenerator: A generator for artificial event data by Jouck et al. Process TreeCode
Prefix Tree Prefix TreeCode
Example
Event DataEvent LogImport/Export event logs. XES supportLogCode
  • Filtering
based on, e.g., LTL formulas, prefixes, attributes, DFG-paths, rework, temporal constraints, and many more LogAttributesCasesActivitiesCode
Example
  • Statistics
including various temporal process performance statisticsLogAttributesActivitiesTimesCode
  • Temporal Feature Extraction
Supporting automatic system dynamics model generation for simulation in the context of process mining by Pourbafrani et al. LogFeaturesCode
Example
Object-Centric Event Log (OCEL)supporting the standards OCEL 1.0 and OCEL 2.0OCELCode
  • Filtering OCEL
based on, e.g., object types, event attributes, object counts, and many moreOCELActivitiesEventsObjectsEndpointsCode
Example
  • Statistics OCEL
including, object count statistics, edge metrics, and many moreOCELActivitiesObjectsCode
  • Feature Extraction
Graph-based feature extraction on object-centric event logs by Berti et al. OCELFeaturesCode
Example
Trace Clustering (hierarchical)A generic framework for attribute-driven hierarchical trace clustering by van Zelst et al. LogTrace AttributesHierarchical Cluester TreeCode
Example
Process
Discovery
Alpha Mining
  • Alpha Miner
Workflow Mining: Discovering Process Models from Event Logs by van der Aalst et al. LogPetri NetCode
Example
  • Alpha Miner +
Workflow Mining: Current status and future directions by Alves De Medeiros al. LogPetri NetCode
Inductive MiningVarious Inductive Mining algorithms are availableCode
  • Inductive Miner (IM)
Discovering block-structured process models from event logs - A constructive approach by Leemans et al. LogPetri NetProcess TreeCode
Example
  • Inductive Miner Infrequent (IMf)
Discovering block-structured process models from event logs containing infrequent behaviour by Leemans et al. LogProcess TreePetri NetCode
Example
  • Inductive Miner DFG (IMD)
Scalable Process Discovery with Guarantess by Leemans et al. DFGProcess TreePetri NetCode
Example
Heuristic MinerFlexible heuristics miner (FHM) by Weijters et al. LogPetri NetCode
Example
ILP MinerILP-based process discovery using hybrid regions by van Zelst et al. LogPetri NetCode
Example
Correlation MinerCorrelation miner: Mining business process models and event correlations without case identifiers by Pourmirza et al. LogDFGCode
Example
Prefix Tree ApproachSkeletal algorithms in process mining by Przybylek LogPrefix TreeCode
Example
Declarative Process ModelsUser-guided discovery of declarative process models by Maggi et al. LogCode
Example
Log skeletonThe log skeleton visualizer in prom 6.9 by Verbeek LogLog Skeleton ModelCode
Example
Partially Ordered Workflow Language (POWL) MinerPOWL: partially ordered workflow language by Kourani et al. LogCode
Example
Conformance CheckingFootprintsProcess Mining - Data Science in Action by van der Aalst LogPetri NetFootprint TableCode (Discovery)
Code (Conformance)
Example
Token-Based ReplayA novel token-based replay technique to speed up conformance checking and process enhancement by Berti et al. LogPetri NetDiagnosticsCode
Example
AlignmentsConformance checking using cost-based fitness analysis by Adriansyah et al. LogPetri NetAlignmentsCode
Example
  • Alignments (decomposed)
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
Anti-alignments - measuring the precision of process models and event logs by Chatain et al. LogPetri NetAnti-AlignmentsCode
Example
  • Multi-alignments
Optimized SAT encoding of conformance checking artefacts by Boltenhagen et al. LogPetri NetMulti-AlignmentsCode
Example
  • Process Tree Alignment Approximated
Alignment approximation for process trees by Schuster et al. Process TreeAlignmentsCode
  • Process Tree Alignment MILP
Process Tree alignments by Schwanen et al. Process TreeAlignmentsCode
  • Process Tree Alignment Dynamic Programming
A Dynamic Programming Approach for Alignments on Process Trees by Schwanen et al. Process TreeAlignmentsCode
  • Extended Marking Equation
Efficiently computing alignments by van Dongen LogCode
Example
Log skeletonThe log skeleton visualizer in PROM 6.9 by Verbeek LogLog Skeleton ModelAlignmentsCode
Example
Earth Mover Distance (EMD)Stochastic process mining: Earth movers' stochastic conformance by Leemans et al. LogPetri NetCode
Example
LTL CheckingProcess mining and verification of properties: An approach based on temporal logic by van der Aalst et al. LogCode
Temporal ProfileTemporal Conformance Checking at Runtime based on Time-infused Process Models by Stertz et al. LogCode
Example
Evaluation of
Log-Model
FitnessToken-based replay, Alignment basedLogPetri NetFitnessCode
Example
PrecisionToken-based replay, Alignment basedLogPetri NetPrecisionCode
Example
Generalization Quality dimensions in process discovery: The importance of fitness, precision, generalization and simplicity by Buijs et al. LogPetri NetGeneralization Code
Example
SimplicityProDiGen: Mining complete, precise and minimal structure process models with a genetic algorithm by Vázquez-Barreiros et al. LogPetri NetSimplicityCode
Example
Process
Simulation
Monte Carlo SimulationLogPetri NetCode
Example
Play OutProcess Mining - Data Science in Action by van der Aalst LogPetri NetCode
  • DFG
Event log generation from a DFGDFGLogCode
Example
  • Petri Net
Event log generation from a Petri netPetri NetLogCode
Example
  • Process Tree
Event log generation from a process treeProcess TreeLogCode
Example
Organizational MiningSocial Network AnalysisDiscovering social networks from event logs by van der Aalst et al. LogNetwork AnalysisCode
Example
Organizational RolesBusiness models enhancement through discovery of roles by Burattin et al. LogRolesCode
Example
Resource ProfilesMining resource profiles from event logs by Pika et al. LogCode
Example
Operational SupportPredict Next ActivityLSTM model for predicting the next activityLogExample
Predict Remaining TimeLSTM model for predicting the remaining cycle timeLogExample
Process EnhancementDecision MiningData-aware process mining: discovering decisions in processes using alignments by de Leoni et al. LogPetri Net (Decision points)Code
Example
OtherPerformance SpectrumThe performance spectrum miner: Visual analytics for fine-grained performance analysis of processes by Denisov et al.  Code
Example
Differential PrivacyPRIPEL: privacy-preserving event log publishing including contextual information by Fahrenkrog-Petersen et al. LogCode
Example
Batch DetectionBatch processing: Definition and event log identification by Martin et al. LogBatchesCode
Example
Label SplittingContext-Based Activity Label-Splitting by van Zelst et al. LogCode
Example
VisualizationPetri NetPetri NetCode
Example
OC-PNOC-PNCode
Example
DFGDFGCode
Example
OC-DFGOC-DFGCode
Example
BPMNBPMNCode
Example
Transition SystemTransition SystemCode
Example
Process Tree Process TreeCode
Example
Prefix TreePrefix TreeCode
Example
POWLPOWLCode
Example
Dotted ChartLogCode
Example
Heuristics NetHeuristics NetCode
Example
FootprintsFootprint TableCode
Example
Alignment TableLogAlignmentsCode
Example
Decision TreeDecision TreeCode
Example
Social Network AnalysisNetwork AnalysisCode
Example