Process Mining Concepts: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
Process mining and QPR ProcessAnalyzer uses the basic concepts that are defined and described in this page.
The process mining concepts that are used by QPR ProcessAnalyzer, are defined in this page and their relations are shown in the diagram.
 
[[File:Process mining concepts.png|right|800px]]


== Case ==
== Case ==
Case is an instance in the process which flow is analyzed. Cases can be chosen differently depending on the analysis.


A case consist of a sequence of events describing how the case flowed through the process.
Case is an instance in the process which flow is analyzed. Cases can be chosen differently depending on the analysis. A case consist of a sequence of events describing how the case flows through the process.
 
Case has a starting time, which is the timestamp of the first event of the case, and an ending timestamp, which is the timestamp of the last event of the case. Case has a duration which is the difference between the last and first timestamps. Case belongs to a specific variation.


== Event ==
== Event ==
Consists of an Event Type and the transition to another Event Type. Therefore includes a time component.
Event describes that something happened in a specific time. In QPR ProcessAnalyzer, event represent a specific timestamp and thus it does not have a duration. Still, it's possible to store duration information as an event attribute to be used in the analyses. Each event belongs to a specific case. Each event has an event type which describes what what happened in the event. Events may have following event attributes, for example:
An event is a change in the state of matters that has happened or is expected to happen, having a meaning in a particular context. The word event is also used to mean a software object inside a computer program that represents such an occurrence in a computing system, typically causing a state transition.
An event does not have a duration. Durations are expressed in terms of the time between two events. An event typically signifies the beginning or completion of an activity or the state change of a business object. Process mining typically deals with these events.
Relevant attributes of an event can be derived from the context and corresponding activity. Mandatory attributes for an event include a timestamp and an identifier associating it with a process case. Several optional attributes can be identified, depending on the context, for example:
* Person and work role that triggered the event
* Person and work role that triggered the event
* Location where it was done
* Location where it was done
Line 17: Line 17:
* Environmental conditions
* Environmental conditions
* Any activity specific factor that might affect the outcome
* Any activity specific factor that might affect the outcome
A process case may contain different types of events. Each event type has a special meaning related to the particular activity and business object state transition it is associated with.
In computerized or digital transaction systems, event logs typically contain the end events only and the start events of activities are not necessarily recorded. Durations are calculated from the time between the end events. Flows are used to represent both the causality and the duration.


== Event type ==
== Event type ==
The individual activities or organizations that are named in the process flow chart.
Event type describes the type of activity that an event represents. All events have a specific type, e.g. ''Order sent'', ''Goods received'' or ''Invoice paid''. In a flowchart, the process is shown as a flow from event types to other. Each event has specific number of starting and ending flows, i.e. transitions to and from other events (which is visualized in the flowchart).
 
An activity is the basic building block of a process model. All human work is modeled as being performed within activities. An activity is executed by a work role. The purpose of an activity is to produce value adding output. Input from preceding activities and output to succeeding activities are provided in the form of business objects in well-defined states. In a digitalized business process, execution of an activity results in changing the state of business objects.
 
An activity has a duration, and there may be waiting time or slack between the end of an activity and the start of the next activity.


== Variation ==
== Variation ==
Line 36: Line 29:


== Flow ==
== Flow ==
In process mining context, a flow represents an identified causal relationship between state changes in a process model or business object. Typically, it signifies the transition from one state to the next state of a transaction. The duration of a flow is defined as the time between the events it connects. Note that in process mining, the analyst may choose the events included in the analysis using selection and filtering features of the tool, and the flows will be identified based on the included events only. In terms of a sate model, this equals to skipping uninteresting intermediate states in favor of a simpler or more focused analysis model.
Flow is a transition from an event type to other event type, and it describes all transitions that have occurred in all cases in the eventlog. There are also start and end flows, meaning case start and case end, and thus in the starting flow there is no starting point and in the end flow there is no ending point. Flow means that there are no other events occurred between the start and end event, thus the ending event occurred directly after the start event. Note also that flows always has a direction: flow from A to B is different than flow from B to A. Starting and ending event types can be the same.
 
Flow occurrence is a historical fact or actual instance of a flow. A timestamp and identifiers of the related events are needed for distinct identification. Note that the flow occurrence is an artificial concept. It is the events that actually occur, and the flow is just a relationship between the events.
 
A case has a flow between events A and B means that the case has both events A and B and there are no other events between them. A case may have the same flow multiple times. '''Flow duration''' is the event B timestamp minus A timestamp. Note also that flows always has a direction: flow from A to B is different than flow from B to A.


== Flow occurrence ==
== Flow occurrence ==
Flow occurrence means a transition from an event to other within a certain case. Flow occurrences are thus related to a unique case and have unique starting and ending events. The first and last flow occurrences of a case are special, as the first flow occurrence does not have a starting event and the last flow occurrences does not have an ending event. There are thus always one more flow occurrences in a case than there are events. Flow occurrences has a duration which is the difference between the starting and ending event timestamps (first and last flow occurrences are again exceptions). Note that the type of the starting and ending events can be same, and in that case there is a direct loop in the process. Note also that flow occurrences with the same starting and ending events may occur several times in a case, that is called an indirect loop.


== Path ==
== Path ==
Path is a sequence of events of specific types that a case goes through. In contrast to a variation (which contains all events in a case), a path only contains part of the event sequence. For example case with a variation A->B->C->D->E contains e.g. paths A->B->C, B->C->D and D->E.


== Case and Event attribute ==
== Case and Event attribute ==
Cases usually have additional information related to it. For example, a case in a sales process might have customer, region, sales revenue, sold items as case attributes. In QPR ProcessAnalyzer case attributes are stored to a datatable, where there is a row for each case and column for each case attributes. Case attributes may have different data types depending on the data, such as string, integer, decimal number, date, boolean or duration.
In addition to the eventlog, cases and events can have additional information related to them. For example, a case in a sales process might have information about customer, region, sales revenue, sold items, or an event might contain information who performed the event and what was the geographical position of the event. These are examples of case and event attributes.


Case Attributes hold the same attribute value for all event types in a case. For example, you can show the top three order types, product categories, or manufacturing plants for each alternative process flow in the Flowchart Analysis.
In QPR ProcessAnalyzer, case attributes are stored to a datatable, where there is a row for each case and column for each case attributes. There needs to be one column for the case id to identify the row. Case attributes have a certain data type, such as string, integer, decimal number, date, boolean or duration. Event attributes are stored as additional columns in the events (eventlog) datatable. Note that also event type and event timestamps can also be perceived as event attributes, but in QPR ProcessAnalyzer these basic information of the eventlog are not part of the event attributes.


Event attributes: Event Attribute values can vary from event to event inside a case. For example, you can have the Flowchart Analysis show the top three users in each separate event type to see easily which users are part of which event types.
== Project==
 
Project is a collection of related dashboards, models, datatables, scripts and secure strings, e.g. they belong to the same analyzed process. Projects can also be created hierarchically by adding child projects to a project. Projects are also import for the access control, because user rights are set in the project level.
When using Event Attributes in Profiling Analysis, you can show which values are found for an event attribute, and also create a filtered view based on an event attribute. For example, you can show processes where a particular user has been involved.
[[File:ProcessAnalyzer concepts.png|right|700px]]
 
== Event attribute ==


== Model ==
== Model ==
In an organizational context, a process is the way that people work together and apply methods and tools, to accomplish predefined common objectives. The objectives include the value that the output of the process is expected to produce to its stakeholders.
Model consists of a list of events and cases, forming an eventlog. Separate models should be created for each analyzed process. Processes can be e.g. Purchase-to-pay, Quote-to-cash, Request-to-resolution or Idea-to-product. Models belong to projects in QPR ProcessAnalyzer, helping to organize content.
A process model is an abstraction representing a process. It is the organization of work in terms of a functionally cohesive or causally connected set of activities triggered by a common event, executed by work roles, and creating or altering the state of some business object(s).
A process case is a particular execution instance or an execution trace of a process. In process modeling context, a simple case contains a linear sequence of activities. A more complex case may contain parallel execution paths. In process mining context, the case contains only the end events of activities, not the activities themselves.
Relevant attributes of a process case depend on the context. They apply to a case and the contained events as a whole. For example, in insurance claims processing, relevant case attributes could include:
* Customer
* Insurance policy
* Vehicle registration id
* Location of accident
* Claims handler
Every case attribute has a type, which defines what kind of data can be represented by the attribute, for example:
* Integer
* Logical truth (TRUE or FALSE)
* Date and time
Among different process categories, transactional processes are of particular interest, for example:
* Purchase-to-pay
* Quote-to-cash
* Request-to-resolution
* Idea-to-product


== Filter and Filter Rule ==
== Filter and Filter Rule ==
Filters are used to choose specific parts of a model for more detailed analysis, i.e. slice the model in a smaller part. Filter consist of one or more filter rules.


There are two kinds of filter rules: case filter rules and event type filter rule. Case filter rules filter out cases, and the number of cases decreases. The event type filters filter out events, so the number of cases doesn't decrease but the process flow in individual cases may change as event types are left out. Note that event type filter rules may filter out all events of a case, which results in cases that don't have events at all. It's not possible to show those cases in flowcharts or calculated durations for them.
There are two kinds of filter rules: case filter rules and event type filter rule. Case filter rules filter cases, and thus the number of cases in the eventlog decreases. The event type filters filter events of specific types, and thus the number of cases don't decrease but the process flow in individual cases may change as some events are left out. Note that event type filter rules may filter out all events of a case, which results in cases that don't have events at all. Cases that don't have events, are not shown as cases in the analysis.
 
Filters are used to slice the eventlog, to create smaller eventlogs to be used in the analysis. Filter consist of one or more filter rules.


* The filter rules are targeted either to cases or events.
Details about filter rules:
* For a filter to match all the filter rules need to match, i.e. there is an AND logic between the filter rules.
* For a filter to match, all the filter rules need to match, i.e. there is an AND logic between the filter rules.
* There are include and exclude type of filter rules, i.e. the filter rule can either include the matched cases/events or exclude them from the resulting eventlog.
* There are include and exclude type of filter rules, i.e. the filter rule can either include the matched cases/events or exclude them from the resulting eventlog.
* Filter rules are applied in the order they are defined.
* Filter rules are applied in the order they are defined.
* Each filter rule modifies the eventlog affecting the next filter rules.
* Each filter rule modifies the eventlog affecting the next filter rules.
* Case count only covers cases which have events in the eventlog.


Note that filters are only for filtering eventlogs. The expression language provides more generic filtering capabilities for any objects.
Note that filters are only for filtering eventlogs. The expression language provides more generic filtering capabilities for any objects.
== Script ==
Scripts are programmed routines to perform e.g. ETL tasks, e.g fetch data from source systems and store to datatables.
== Datatable ==
Datatables are a generic storage of tabular data. Datatables can be used to store events (eventlog) and cases (case attributes), and in addition any intermediate results needed by ETL. Also additional data needed by dashboards can be stored to datatables.
== Secret ==
Secrets are texts which need to be kept secret, and passwords to be used to login to the datasources for data extraction can be stored as secure strings. Secure strings can be added, changed and used in scripts, but their contents cannot be viewed, keeping the data secure.

Latest revision as of 08:53, 3 October 2024

The process mining concepts that are used by QPR ProcessAnalyzer, are defined in this page and their relations are shown in the diagram.

Process mining concepts.png

Case

Case is an instance in the process which flow is analyzed. Cases can be chosen differently depending on the analysis. A case consist of a sequence of events describing how the case flows through the process.

Case has a starting time, which is the timestamp of the first event of the case, and an ending timestamp, which is the timestamp of the last event of the case. Case has a duration which is the difference between the last and first timestamps. Case belongs to a specific variation.

Event

Event describes that something happened in a specific time. In QPR ProcessAnalyzer, event represent a specific timestamp and thus it does not have a duration. Still, it's possible to store duration information as an event attribute to be used in the analyses. Each event belongs to a specific case. Each event has an event type which describes what what happened in the event. Events may have following event attributes, for example:

  • Person and work role that triggered the event
  • Location where it was done
  • Cost incurred by the event
  • Work effort expended
  • Environmental conditions
  • Any activity specific factor that might affect the outcome

Event type

Event type describes the type of activity that an event represents. All events have a specific type, e.g. Order sent, Goods received or Invoice paid. In a flowchart, the process is shown as a flow from event types to other. Each event has specific number of starting and ending flows, i.e. transitions to and from other events (which is visualized in the flowchart).

Variation

Variation (or variant) means the sequence of events that a case goes through. If another case has different events or they are in different order, the case belongs to a different variation. Duration between the events or occurrence timestamps don't matter in regards to which variation a case belongs to. In theory, in an eventlog there is a minimum of one variation and maximum number of variations equals the case count.

Usually, the more there are event types, the more there are variations comparing to the case count. Analyzing variations might be challenging if there are lot of them. One methods to reduce the number of variations, is to exclude event types that are less important from the analysis point of view.

Variations are important in the conformance analysis point of view, because the conformance analysis classifies each variation either as a conformant or nonconformant against a certain BPMN model.

Flow

Flow is a transition from an event type to other event type, and it describes all transitions that have occurred in all cases in the eventlog. There are also start and end flows, meaning case start and case end, and thus in the starting flow there is no starting point and in the end flow there is no ending point. Flow means that there are no other events occurred between the start and end event, thus the ending event occurred directly after the start event. Note also that flows always has a direction: flow from A to B is different than flow from B to A. Starting and ending event types can be the same.

Flow occurrence

Flow occurrence means a transition from an event to other within a certain case. Flow occurrences are thus related to a unique case and have unique starting and ending events. The first and last flow occurrences of a case are special, as the first flow occurrence does not have a starting event and the last flow occurrences does not have an ending event. There are thus always one more flow occurrences in a case than there are events. Flow occurrences has a duration which is the difference between the starting and ending event timestamps (first and last flow occurrences are again exceptions). Note that the type of the starting and ending events can be same, and in that case there is a direct loop in the process. Note also that flow occurrences with the same starting and ending events may occur several times in a case, that is called an indirect loop.

Path

Path is a sequence of events of specific types that a case goes through. In contrast to a variation (which contains all events in a case), a path only contains part of the event sequence. For example case with a variation A->B->C->D->E contains e.g. paths A->B->C, B->C->D and D->E.

Case and Event attribute

In addition to the eventlog, cases and events can have additional information related to them. For example, a case in a sales process might have information about customer, region, sales revenue, sold items, or an event might contain information who performed the event and what was the geographical position of the event. These are examples of case and event attributes.

In QPR ProcessAnalyzer, case attributes are stored to a datatable, where there is a row for each case and column for each case attributes. There needs to be one column for the case id to identify the row. Case attributes have a certain data type, such as string, integer, decimal number, date, boolean or duration. Event attributes are stored as additional columns in the events (eventlog) datatable. Note that also event type and event timestamps can also be perceived as event attributes, but in QPR ProcessAnalyzer these basic information of the eventlog are not part of the event attributes.

Project

Project is a collection of related dashboards, models, datatables, scripts and secure strings, e.g. they belong to the same analyzed process. Projects can also be created hierarchically by adding child projects to a project. Projects are also import for the access control, because user rights are set in the project level.

ProcessAnalyzer concepts.png

Model

Model consists of a list of events and cases, forming an eventlog. Separate models should be created for each analyzed process. Processes can be e.g. Purchase-to-pay, Quote-to-cash, Request-to-resolution or Idea-to-product. Models belong to projects in QPR ProcessAnalyzer, helping to organize content.

Filter and Filter Rule

Filters are used to choose specific parts of a model for more detailed analysis, i.e. slice the model in a smaller part. Filter consist of one or more filter rules.

There are two kinds of filter rules: case filter rules and event type filter rule. Case filter rules filter cases, and thus the number of cases in the eventlog decreases. The event type filters filter events of specific types, and thus the number of cases don't decrease but the process flow in individual cases may change as some events are left out. Note that event type filter rules may filter out all events of a case, which results in cases that don't have events at all. Cases that don't have events, are not shown as cases in the analysis.

Details about filter rules:

  • For a filter to match, all the filter rules need to match, i.e. there is an AND logic between the filter rules.
  • There are include and exclude type of filter rules, i.e. the filter rule can either include the matched cases/events or exclude them from the resulting eventlog.
  • Filter rules are applied in the order they are defined.
  • Each filter rule modifies the eventlog affecting the next filter rules.

Note that filters are only for filtering eventlogs. The expression language provides more generic filtering capabilities for any objects.

Script

Scripts are programmed routines to perform e.g. ETL tasks, e.g fetch data from source systems and store to datatables.

Datatable

Datatables are a generic storage of tabular data. Datatables can be used to store events (eventlog) and cases (case attributes), and in addition any intermediate results needed by ETL. Also additional data needed by dashboards can be stored to datatables.

Secret

Secrets are texts which need to be kept secret, and passwords to be used to login to the datasources for data extraction can be stored as secure strings. Secure strings can be added, changed and used in scripts, but their contents cannot be viewed, keeping the data secure.