Introduction
MATE is a self-hosted platform for process mining: it turns event logs into process models, performance figures, conformance results, and drift reports, and it treats every analysis as an installable module.
Audience#
| Role | What MATE gives you |
|---|---|
| Analyst | A guided path from an uploaded log to charts, models, and dashboards — no code. |
| Researcher | A runtime for your method: scheduling, progress, caching, isolation, a settings UI, dashboard cards, and citations that travel with the code. |
| Operator | One compose stack to deploy, back up, and monitor. |
How a log becomes a result#
fileXES, CSV, XML, or OCEL 2.0import jobparse, normalise, write ParquetParquet logthe event table plus cached case aggregates
module runsone per (log, module), started when a module is first openedfilters & editscommitting a filter re-runs the modules you have already openedmodule resultscached per (log, module)
panels, widgets, and datasets
MATE AIaggregates only, behind the data walldashboardscards from any module, on one canvasThree properties shape everything else in this manual:
- Local-first. Logs, results, and metadata stay on your host. Nothing is sent anywhere unless you configure an external service on purpose.
- Modular. The bundled analyses use the same SDK, loader, and gating rules as modules you install later. There are no privileged hooks.
- Typed end to end. Pydantic defines the API, one OpenAPI schema generates the web app's types, and module authors program against Protocols.
Reading paths#
| Goal | Read |
|---|---|
| Run MATE | Install and start |
| See it work once | Your first analysis |
| Import and explore real logs | Using MATE |
| Build a module | Your first module |
| Call MATE from a script or an agent | REST API · MCP server |
| Run a deployment | Deployment · Troubleshooting |
| Work on the platform itself | How MATE works · Contributing |
Glossary#
Process mining has its own vocabulary; MATE adds a few terms.
| Term | Meaning |
|---|---|
| Event log | A table of events: what happened, when, and in which case. |
| Case | A process instance (an order, a claim) identified by a case id; its events form a trace. |
| Activity | The label of what happened — Registered, Approved. |
| Variant | The sequence of activities a case followed. Cases that took the same path share one. |
| Directly-follows graph (DFG) | Activities as nodes, observed successions as edges. |
| Petri net · process tree · BPMN | Model notations. Discovery produces them; conformance replays a log against one. |
| Conformance | Fitness (was every trace replayable), precision, and the deviations found. |
| Concept drift | A change in the process over time: a new branch, a vanishing activity, shifted timing. |
| OCEL | Object-centric event log: events relate to many objects of different types, so there is no single case notion. |
| Module | The unit of extension: a folder with a manifest, a handler class, and optionally a frontend. |
| Manifest | manifest.yaml — identity, log requirements, dependencies, capabilities, frontend, citations. |
| Precompute | The job a module runs for a log to fill its cache. It starts the first time the module is opened (or right after import, for the few eager modules), so every later open is instant. |
| Capability | A named request/response function one module publishes for another. |
| Event bus | In-process pub/sub; modules emit and subscribe to declared topics. |
| Job | A persisted, observable long operation: import, precompute, install, re-import. |
| Dataset | A typed data output (table, graph, kpi, tree, blob) the platform renders itself. |
| Widget | A dashboard card a module ships as a React component. |
| Guidance | Cached, module-scoped AI explanation, generated on demand. |
| Data wall | The rule that raw event rows never reach an AI model — MATE AI or MCP. |