A process miner pointed at the maintenance workflow. 850 synthetic work orders, 7,558 events, mined in your browser into the as-is process map with an abstraction slider and a performance view. Four deterministic rules then name every case that was closed before anyone verified it, bounced between technicians, sat in a parts queue for days, or had its priority lowered shortly before the SLA clock ran out. Same seeded log, byte-identical on every run.
LIVE DEMO · SYNTHETIC OR PUBLIC DATA · LOADS HEREOpen full page →
Every maintenance contract I have worked with reports an SLA percentage, and the number is usually good. What the number cannot show is how it was achieved. A work order closed on the system before the technician verified the fix counts as met. A P1 downgraded to P2 forty minutes before breach counts as met. A case that bounced between three technicians before anyone touched it still counts, as long as the final clock landed. The event log underneath the CMMS holds all of that, timestamp by timestamp, and almost nobody mines it. This demo does, on synthetic data, so the method can be shown without a client's log.
The event log is generated by a seeded script I wrote, and the generator plants the four behaviours only as timestamps and event order, the way a real log carries them, and writes no labels. No client data and no real CMMS export is involved. The rules are deterministic and every flagged case is listed by name; no model is used anywhere in this demo. A real engagement adds the hard part: getting a clean event export out of a CMMS, agreeing what "verified" means with the contractor, and deciding which findings change the contract. The thresholds (three days for parts, the last fifth of the clock for downgrades) are visible constants and would be set with the owner.
I trust event logs over summary KPIs, and I would rather show an owner four named lists of cases than one percentage. This miner was recycled from a finance process-mining engine, which is the point: the method works on any process where every step left a timestamp.