Skip to content
DivyeshJayswalPublic

About

No-code web workbench for predictive process monitoring, model explainability, and evaluation on event logs.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

PPMx Logo

release license status FastAPI React TensorFlow PyTorch

Python platform

PPMx is a no-code platform for Predictive Process Monitoring (PPM). It provides an end-to-end pipeline from event log preprocessing to model training, explainability, and evaluation supporting Transformer and Graph Neural Network (GNN) architectures through a browser-based dashboard with no scripting required. The tool supports the publication 'PPMx: a Predictive Process Monitoring Workbench'.

🌐 Live: https://ppmx.app/


PPMx Architecture PPMx Workflow

Key Features

  • No-code workflow for training and explainability.
  • Transformer and GNN support for next activity, event time, and remaining time.
  • Explainability and evaluation in one pipeline.
  • Frontend dashboard powered by a FastAPI backend

Tech Stack

  • Frontend: Vite + React + TypeScript
  • Backend: FastAPI + Python
  • ML: TensorFlow, PyTorch, PyTorch Geometric

PPMx System Structure and APIs This diagram summarizes the frontend-backend structure and the APIs used across the system. System Structure

Requirements

  • Python 3.10+ recommended
  • Node.js 18+ recommended

Quickstart (Frontend + Backend) Clone the repository first and then follow the steps:

  1. Create and activate a Python virtual environment inside PPMx dir.
#Create Virtual environment
python -m venv .venv

# Activate Environment 
# Windows PowerShell
.venv\Scripts\Activate.ps1
# macOS/Linux
source .venv/bin/activate
  1. Install dependencies.
pip install -r requirements.txt
  1. Install frontend dependencies.
cd frontend
npm install
  1. Configure the frontend API base URL.
# Windows PowerShell
Copy-Item .env.example .env.local -ErrorAction SilentlyContinue
# macOS/Linux
cp .env.example .env.local 2>/dev/null || true

Add the following to frontend/.env.local:

VITE_API_BASE_URL=http://localhost:8000
  1. In the New Teminal (T2), Start the backend API.
uvicorn backend.main:app --reload --port 8000
  1. In the previous Terminal (T1), Start the frontend dev server.
npm run dev

[Note: The program runs frontend and backend in 2 seperate Terminals (T1 & T2) Simultaneosly]

Frontend will be available at http://localhost:5173.

Starting Dashboard PPMx Dashboard

Sample Datasets These sample event logs are available from the Dataset Setup step in the UI and can be downloaded from here:

Usage Workflow

  1. Preprocess the event log: upload raw CSV/XES or a preprocessed CSV. Optionally skip preprocessing by uploading pre-split datasets via the GUI. Map required columns (case ID, activity, timestamp; resource optional). For standardized BPI 2017/2020 logs, automatic column detection is supported in batch/CLI.
  2. Train and predict: choose Transformer or GNN and select a task. Classification supports next-activity and custom target prediction; regression supports event-time and remaining-time. Configure hyperparameters in the GUI or use defaults, then run training and generate test-set predictions.
  3. Explainability analysis: for Transformers, use SHAP (feature importance bar + beeswarm) and LIME (local explanation plots). For GNNs, the current path uses a PROPHET-style heterogeneous GAT with GNNExplainer-style local node/edge explanations and global view-importance aggregation.
  4. Evaluation: compute faithfulness, comprehensiveness, sufficiency, monotonicity, and method agreement to compare explanation quality.
  5. Export artifacts: each run is packaged as a ZIP containing the trained model, prediction CSVs, explainability plots, and evaluation summary for reproducibility.

Project Structure

  • frontend/ Frontend app (Vite + React).
  • backend/ FastAPI service for training and inference.
  • BPI_dataset/ Sample datasets used for experiments.
  • explainability/ Explainability methods and reports.
  • gnns/ GNN training and prediction pipeline.
  • transformers/ Transformer training and prediction pipeline.

Troubleshooting

  • If you see port conflicts, change the backend port and update VITE_API_BASE_URL.
  • If training is slow, reduce dataset size or use a GPU-enabled environment.

License This project is licensed under the MIT License - free to use, modify, and distribute with attribution.

About

No-code web workbench for predictive process monitoring, model explainability, and evaluation on event logs.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages