Event Log Specification¶
What is an event log?¶
Do you want to start with PAFnow and analyze, monitor and optimize your business processes, but don't know what you need in terms of data technology?
PAFnow is based on Process Mining Technology in which existing process data is objectively and automatically visualized and analyzed to create a fact-based foundation for the process analysis. To start with PAFnow you need a so-called event log.
The three essential components of an event log are:
- A case identifier connecting events to a unique business case.
- A timestamp that describes when something was done.
- An activity name that describes which work step was performed.
CaseId | Timestamp | ActivityName |
---|---|---|
1 | 2018-03-21 13:09:26 | Prepare Dough |
1 | 2018-03-21 13:14:42 | Preheat Oven |
1 | 2018-03-21 13:18:12 | Spread Tomato Sauce on Dough |
1 | 2018-03-21 13:20:08 | Add Toppings |
1 | 2018-03-21 13:25:49 | Bake Pizza |
2 | 2018-03-22 15:31:53 | Prepare Dough |
2 | 2018-03-22 15:37:26 | Preheat Oven |
2 | 2018-03-22 15:48:27 | Spread Tomato Sauce on Dough |
2 | 2018-03-22 15:50:08 | Add Toppings |
... | ... | ... |
Table 1: Example of an event log for the process Bake a Pizza
Additional attributes for the event log¶
The event log can also be extended by attributes to get more information about a process. An attribute is a type of specific characteristic, such as price, supplier, employee, country, etc.
A distinction is made between case attributes and event attributes.
Case attributes¶
A case attribute is a characteristic that describes a case/instance. In the example Bake a Pizza, the type of pizza or the selling price of the pizza are case attributes.
Event attributes¶
An event attribute is a characteristic that describes an activity. In the example Bake a Pizza, an example of an event attribute is the location at which an activity was executed.
Event log in a Microsoft SQL database¶
The PAFnow SSIS Package can automatically import and process your event log as a *.csv
-file into an SQL Database. If you already have your event log available in an SQL Database or want to run the import manually, the event log must be available in the following form in the database:
Required fields¶
The event log absolutely requires the following columns:
Column Name | Data Type |
---|---|
Timestamp | dateTime (date and time: YYYY-MM-DD HH:MM:SS) |
ActivityName | string |
CaseId | string |
Attention
The naming of the columns is mandatory as stated above.
Optional fields¶
The following fields are optional. If you have not created them in your event log, the PAFnow SSIS Package will do it for you and will fill the columns with NULL-values.
Column Name | Data Type |
---|---|
TimestampEnd | dateTime (date and time: YYYY-MM-DD HH:MM:SS) |
SortKey | int64 |
Cost | float |
Automatic | int64 (0 = manually, 1 = automatically) |
Resource | string |
Attention
The naming of the columns is mandatory as stated above.
Explanation of optional fields¶
TimestampEnd
describes the point in time where an activity/event ends. If additional information about durations, such as the duration of an activity or the idle time between activities is required, this field is crucial.
With SortKey
you determine the sorting of activities with simultaneous execution. If two process steps are carried out simultaneously, as in the example Bake a Pizza with preheat oven and spread tomato sauce on dough, you use the SortKey
to determine the order of process steps.
In Cost
you can specify the costs of individual activities (work steps). You cannot enter monetary units and have to divide costs with a full stop (e.g. 2.50).
Automatic
uses a 0 to indicate activities which are executed manually by an employee and 1 to indicate activities which are executed automatically by the system or a robot.
In Resource
you can store information about who executed an activity, for example the employee or department.
Event attributes¶
You can add as many event attributes as columns in your event log table as you want. You can define the attribute names yourself.
Column Name | Data Type |
---|---|
EventAttributeName | string |
Case attributes¶
You have two options to store case attributes. The first option is to embed them directly into your event log. For this to work you only need to add your case attribute in a new column in your event log table with the column prefix "c_", (e.g. "c_YourCaseAttribute").
Your second option is to store your case attributes in a separate table. You can freely define the attributes names and add as many case attributes as columns as you like.
The case attributes table absolutely requires the following columns:
Column Name | Data Type |
---|---|
CaseId | string |
CaseAttributeName | string |
Event log as a *.csv
-file¶
If you have your event log available as a *.csv
-file the PAFnow SSIS Package will import it into the SQL Database for you!
The event log as a *.csv
-file must be available in the following form:
Required fields¶
The event log absolutely requires the following columns:
Column Name | Data Type |
---|---|
Timestamp | dateTime (date and time: YYYY-MM-DD HH:MM:SS) |
ActivityName | string |
CaseId | string |
Attention
The naming of the columns and the data type is mandatory as stated above.
Optional fields¶
The following fields are optional:
Column Name | Data Type |
---|---|
TimestampEnd | dateTime (date and time: YYYY-MM-DD HH:MM:SS) |
SortKey | int64 |
Cost | float |
Automatic | int64 (0 = manually, 1 = automatically) |
Resource | string |
If you have not created them in your event log, the PAFnow SSIS Package will do it for you and will fill the columns with NULL-values.
Attention
The naming of the columns and the data type is mandatory as stated above.
Explanation of optional fields¶
TimestampEnd
describes the point in time where an activity/event ends. If additional information about durations such as the duration of an activity or the idle time between activities is wanted, this field is crucial.
With the SortKey
you determine the sorting of activities with simultaneous execution. If two process steps are carried out simultaneously, as in the example Bake a Pizza with preheat oven and spread tomato sauce on dough, you use the SortKey
to determine the order of process steps.
In Cost
you can specify the costs of individual activities (work steps). You cannot enter monetary units and have to divide costs with a full stop (e.g. 2.50).
Automatic
uses a 0 to indicate activities which are executed manually by an employee and 1 to indicate activities which are executed automatically by the system or a robot.
In Resource
you can store information about who executed an activity, for example the employee or department.
Event attributes¶
You can add as many event attributes as columns in your *.csv
-event log as you want. You can define the attribute names yourself.
Column Name | Data Type |
---|---|
EventAttributeName | string |
Case attributes in the event log *.csv
-file¶
You can add as many case attributes as columns in your event log as you want. To differentiate between case attributes and event attributes, you must mark case attributes by adding the prefix "c_", (e.g. "c_YourCaseAttribute") and a self-defined attribute name.
Column Name | Data Type |
---|---|
c_CaseAttributeName | string |
You can specify the case attributes for each line or only for the first activity of the case.
CaseId | ActivityName | Timestamp | SortKey | Cost | Automatic | Resource | c_TypeOfPizza |
---|---|---|---|---|---|---|---|
1 | Prepare Dough | 2018-03-21 13:09:26 | 1 | 3.50 | 0 | Anton | Pepperoni |
1 | Preheat Oven | 2018-03-21 13:09:26 | 2 | 4.00 | 0 | Anton | |
1 | Spread Tomato Sauce on Dough | 2018-03-21 13:18:12 | 3 | 2.00 | 0 | Bertha |
Table 2: Example of an event log with embedded case attributes.
Case attributes as an additional *.csv
-file¶
Alternatively, you can save your case attributes in a separate *.csv
-file. The case attributes do not have to be marked with the "c_" prefix. You can freely choose the attribute names and add as many case attributes as you want.
The case attributes table requires the following columns:
Column Name | Data Type |
---|---|
CaseId | string |
CaseAttributeName | string |
Save the case attributes as a *.csv
-file.
CaseId | c_TypeOfPizza | c_Cost |
---|---|---|
1 | Pepperoni | 7,50 |
2 | Cheese | 6,00 |
Table 3: Example of case attributes in a separate *.csv
-file