This post will be about what the steps of a process analytics project should look like. In other words, the process of a process analytics project.
Note that these steps are not set in stone and may vary depending on the project needs, the organisation’s structure where the processes run, etc.
Decision
It could be that you have the signs or feedback that a specific process has room for improvement, or you may not have any initial information but want to check and be sure the processes run performantly as expected. Congratulations, you are about to start analysing your process(es) in both scenarios.
Planning
It starts with listing the business questions and defining the project’s scope. This step is notably important as it determines the course of the following steps. Here are some example questions to help you start and form the business questions:
- Which processes should be analysed?
- Which perspectives will be analysed?
- Do you want to check the conformance, meaning if the actual process flow is aligned with how it was designed?
- Are you interested in the timing performances of the processes?
- Which breakdowns would be meaningful to investigate?
- …
The other important thing in this step is to form the project team and set the roles and responsibilities of individuals. The team members can be named as follows,
- the process owner
- the analyst
- IT expert
- the sponsor
Data collection, preprocessing and enriching
The next step is the collection of the required data. The data required is the log records of the system on which the processes run. Log records are created and stored in the database of related systems. Usually, these records are at the most granular level unless they have been processed earlier. Checking the source tables in the DB, based on their structure, one will potentially see many fields that may or may not be relevant to analysis-related needs. The ones we are typically interested in for process analytics-related purposes could be a timestamp, activity name, activity ID, activity order ID, resource name, etc.. I’ll explain what an expected ideal analysis data set should look like in more detail in another post.
For this step, assistance can also be sought from a (business) analyst, a data engineer or a DB administrator, considering that prior knowledge of the source tables is needed to query the relevant data.
Often, the data you’ll receive or see on the source DB tables will probably be far away from the ideal format to start using for the analyses. For this reason, specific data preprocessing steps may be needed (such as cleaning, filtering, renaming, replacing, sorting, etc) based on the business questions in hand, the data structure or the DB system.
After collecting the primarily needed and the already available data from the database, it is a good practice to consider other variables that we think we can benefit from in the analysis and gather them as much as possible. Doing such a data enrichment will give the analyst flexibility and speed during the analysis phase. We can either manually create some of these additional data fields (based on the rules we may want to apply according to analysis needs) or obtain some directly from the database (by having them included in the SQL query). Often, the analyses can provide richer insights when additional filters or breakdowns are included. For instance, it could be the case that the process’s overall performance seems okay, but some of the subgroups are quite open to improvement.
Analyses
This step involves the actual analyses using specific techniques based on the needs defined in the planning phase. These analysis techniques are applied to the data set prepared in the preprocessing step. Examples and more in-depth information will be in separate posts.
Action plan and its execution
This step is about making action plans and implementing the necessary improvements based on the insights from the analyses and the final assessments. Depending on the complexity of the infrastructure where the process changes will be implemented, this step can also be considered as a separate IT project.
One-off or continuous analysis?
Instead of doing a one-off analysis, you may want to constantly monitor the performance of the process and be aware of possible future inefficiencies. In this case, you will need an automated reporting system, including metrics to track overall performance and perhaps early warning alarms for specific scenarios. For this purpose, reporting solutions can be developed with the help of commercial off-the-shelf software or programming tools such as R or Python. It is also possible to use the functionalities of R and Python inside some of the market-leading data visualisation/reporting tools, such as PowerBI.
Regularly measuring the performance of processes will not only help the process owner to ensure that things are under control in terms of cost, time, etc. but will also help to keep the satisfaction levels of the process users high.
The following posts will explain some of the common techniques of process analytics.
R programming will be used throughout the applications, along with bupaR, a highly effective process analytics package.