Process mining and analysis


Process mining

How much do we really know about our business processes:

  • Number of started / completed / aborted processes
  • Success / failure rate
  • Turnaround time
  • Root cause of failures

During my latest customer engagement i used some basic process mining and analysis techniques.  Process mining is a process management technique that allows for the analysis of business processes based on event logs. The basic idea is to extract knowledge from event logs recorded by an information system. Process mining aims at improving this by providing techniques and tools for discovering process, control, data, organizational, and social structures from event logs.

The customer faced some problems where processes failed for unknown reasons. Their TIBCO BPM engine logs all its BPM activity in a single database table. The documentation revealed the data structure and a hierarchical query was constructed to retrieve all events for a specific set of processes for the last month. The collected event log was imported into a process mining tool and analysed. This allowed me to find the root cause of the problem. More advanced applications can include can be found at the processmining website.

Process-mining

Process mining tool in action

Process mining usually operates on historic data, but for real situational awareness you need real-time data. Complex Event Processing allows to collect and process business process events in real time. This enables for building real-time business process dashboards.

For more information:

For those interested in the hierarchical query for TIBCO BPM on an Oracle database I provide this example:tibc

with events (“Session”, “Time”,”Proces”, “ID”, “Level”,”Path”,”Message”,”Type”,”Activity”,”Sub-Process”,”Sub-Process-ID”)
as
( select MANAGED_OBJ_ID, EVENT_TIMESTAMP, MANAGED_OBJ_NAME, MANAGED_OBJ_ID, 1, MANAGED_OBJ_NAME,message,managed_obj_type,app_act_name,SUB_PROC_NAME,SUB_PROC_INS_ID
from ec_event
where
MANAGED_OBJ_NAME = ‘MobileOrderProcess’
— and managed_obj_id = ‘pvm:0a124rrn’
union all
select m.”Session”, d.EVENT_TIMESTAMP, d.MANAGED_OBJ_NAME,d.MANAGED_OBJ_ID,m.”Level” + 1,concat(m.”Path”,CONCAT(‘/’,MANAGED_OBJ_NAME)),d.message,d.managed_obj_type,d.app_act_name,d.SUB_PROC_NAME,d.SUB_PROC_INS_ID
from ec_event d join events m
on (m.”Sub-Process-ID” = d.MANAGED_OBJ_ID)
)
select *
from events
order by “Session”,”Time”

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s