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