<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>European Research Council (PIX
Project).
* Corresponding author.
$ kateryna.kubrak@ut.ee (K. Kubrak)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Kairos: A Tool for Prescriptive Monitoring of Business Processes⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kateryna Kubrak</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lana Botchorishvili</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fredrik Milani</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marlon Dumas</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Nolte</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahmoud Shoush</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zhaosi Qu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Carnegie Mellon University</institution>
          ,
          <addr-line>Pittsburgh, PA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Tartu</institution>
          ,
          <country country="EE">Estonia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Kairos is a web-based tool that uses prescriptive process monitoring techniques to provide recommendations for ongoing cases based on execution data (event logs). Upon uploading an event log and specifying the recommendation parameters, Kairos provides the users with several recommendations for ongoing cases that are aimed at achieving positive case outcomes. The target users of Kairos are process analysts, operational workers, and tactical managers of business processes. In this paper, we describe the functionality of Kairos for process analysts.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;process mining</kwd>
        <kwd>prescriptive process monitoring</kwd>
        <kwd>user interface</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Prescriptive process monitoring is a family of techniques that recommend actions during the
execution of a case that, if followed, increase the probability of positive case outcomes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Examples of such actions could be the next activity to execute or a resource to allocate to a
specific case. Prescriptive process monitoring techniques difer in their algorithms that produce
recommendations [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. For instance, some techniques are guiding (e.g., prescribe next best
activity based on KNN-algorithm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), others are correlation-based (e.g., use predictive models
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), or causality-based (e.g., use causal inference [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]).
      </p>
      <p>
        In this paper, we present Kairos, a prescriptive monitoring tool for business processes that
provides users with recommendations for ongoing cases. In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], a wireframe concept of the tool
was developed and evaluated with process mining experts. The findings of the evaluation
suggested that three distinct user groups could benefit from the tool (process analysts, operational
users, and tactical managers). Currently, Kairos supports functionality for process analysts. The
process analysts can review completed and ongoing cases in the process, get an overview of
prescribed recommendations, and explore the details of recommendations given for each case.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Architecture</title>
      <p>Kairos is a web-based tool for prescriptive process monitoring. It consists of two main layers:
PrCore (the engine that generates the prescriptions) and a visualization layer for the generated
prescriptions (see Figure 1).</p>
      <p>The backend logic (VL3) in the visualization layer coordinates the connection between
the database (VL4), PrCore, and the frontend (VL1). The visualization layer receives data from
PrCore using API endpoints (PC1). The data is processed by the backend logic (VL1), and
recorded in the database (VL4), and sent to the frontend (VL1) when requested.</p>
      <p>The visualization layer takes the output of PrCore as input for constructing visualizations. To
support the construction of visualizations (which takes place in frontend), a backend is built as
a middleware that connects to PrCore and a database to receive and store all the necessary data.</p>
      <p>Visualization layer
VL1
PC1</p>
      <p>Frontend
PrCore
&lt;API&gt;</p>
      <p>Core
VL2
&lt;API&gt;</p>
      <p>VL3 Backend
logic</p>
      <p>VL4</p>
      <p>Database
PC2
PC5</p>
      <p>Event log processor</p>
      <p>PC3
PC4</p>
      <p>Database</p>
      <p>Message broker</p>
      <p>Plugin 1 (guiding)
Plugin 2 (correlation-based)
Plugin 3 (causality-based)</p>
      <p>The core application (PC2) coordinates PrCore. The core also utilizes an event log
preprocessor (PC5) to preprocess the uploaded event log, and the message broker (PC4) to communicate
with the three plugins that return recommendations based on diferent prescriptive techniques.</p>
      <p>
        As such, plugin #1 provides guiding recommendations, i.e., it predicts the next best activity to
execute based on a KNN algorithm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Plugin #2 predicts an outcome of the ongoing case and
triggers an alarm when the probability of a negative outcome hits the user-specified threshold
value [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. An alarm informs the user that an action is required. However, the specific action to
take is not specified. Plugin #3 provides a causality-based recommendation. Specifically, the
algorithm calculates the treatment efect of a user-specified action and prescribes it when the
efect is positive (above zero) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Each plugin necessitates data encoding to generate a fixed-size
feature vector for training distinct predictive models. Consequently, PrCore is equipped with
three established encoding methods, as emphasized by [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]: boolean encoding, frequency-based
encoding, and simple index encoding. However, this feature is currently not user-configurable.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Functionality</title>
      <p>Below, we elaborate on the main functionalities of Kairos. We describe event log upload,
specifying parameters, overview of completed cases, overview of ongoing cases, and a detailed
view of separate cases and recommendations.</p>
      <p>
        • Event Log Upload. To start using Kairos, the user must upload an event log. The accepted
ifle types are .csv, .xes, and .zip, with the file size limited to 100 Mb. The user can choose
to either upload one event log (which is then split into train and test sets) or two event
logs: one for training (that contains only completed cases), and the other for testing
(that contains not completed cases). In the first option, the data is streamed, and in the
second, it is delivered as a single response. More specifically, in the first option, we
employ an 80%-20% temporal partitioning of the log. The initial 80% is used for training
and validation of predictive models for all plugins, while the remaining 20% is reserved
for streaming data. Conversely, in the second option, streaming data can be sourced
from either temporal partitioning or user input. It is important to note that during the
operational phase, we assume that new events from ongoing cases (streamed from the
streaming data) continuously arrive, thus requiring recommendations from each plugin.
With the streaming, we simulate how new cases would be constantly appearing in real-life
scenarios. After the file upload, the user must specify data column types (e.g., case ID,
text, numerical, etc.)
• Parameters Definition. Next, the user defines the parameters required for the plugins in
PrCore. These parameters are: 1) The activity that marks the completion of a case. 2)
A condition marking the positive outcome of a case. The outcome types are extracted
from the event log by PrCore. The outcome types can be one of the columns in the event
log (such as cost, specific activity, resource) or the duration of a case. For example, if
a positive outcome is specified as equal to “duration less than or equal to 10 days”, all
cases lasting 10 or fewer days are marked to have a positive outcome, while the rest are
marked as negative. 3) An intervention for plugin #3 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], where the list of options is
also provided by PrCore. For example, if the intervention is specified as “Activity equals
[Contact_Customer]”, then an algorithm estimates the causal efect of performing the
activity [Contact_Customer] at a given point in time. 4) The threshold for the probability
of a negative outcome, used to trigger an alarm for plugin #2 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
• Completed Cases Overview. Kairos provides users with an overview of completed cases.
      </p>
      <p>Here, three graphs are displayed. The first graph is a pie chart that shows the ratio
of recommendations leading to positive or negative outcomes. The second one is a
table indicating the number of positive outcomes for each recommendation type in the
given process. The third graph displays the acceptance rate (by operational workers) of
past recommendations, i.e., how many past recommendations were followed or rejected.</p>
      <p>Additionally, the user is presented with a table of completed cases.
• Ongoing Cases Overview. The aggregated view for ongoing cases contains two graphs:
the first depicts the current distribution of the types of recommendations in all ongoing
cases, and the other presents the current acceptance rate for the three types. Additionally,
in the Cases Overview Table, the user can gain an overview of ongoing cases and select
the one(s) they wish to inspect in detail.
• Individual Ongoing Case. In this view (Figure 2), the user is presented with case-specific
attributes and current case performance (w.r.t. to the target measure). The list of
recommendations on the left displays information about available recommendations for
the case in its current state. Each recommendation is marked with its type (guiding
as “next activity”, correlation-based as “alarm”, and causality-based as “intervention”).
The user can read about the diferent types by clicking on the info button above the
recommendations. The recommendations of diferent types are shown when they are
applicable. The recommendations are depicted on the process model to the right. The
recommendation types have the same color as in the list on the left. The user can also
see the past prescribed recommendations by toggling the “Show past recommendations”
button. For these, it is also indicated if the recommendation was accepted or discarded
by an operational worker. Last, the basic description of the machine learning models is
accessible when clicking on Calculation Details.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Maturity &amp; Availability</title>
      <p>
        We evaluated the performance of PrCore engine on BPIC2012 and Road Trafic Fine Management
Process event logs. For plugins #1 and #2, their accuracy scores serve as evaluation metrics (the
number of accurate predictions made by a model relative to the total predictions). We report on
the average prediction accuracy across the entire simulation for these plugins. Conversely, for
plugin #3, ground truth estimates for the causal efect are unavailable, making it impossible to
estimate model accuracy. Instead, we report the average CATE throughout the entire simulation.
Kairos utilizes a process pool for parallel processing (the dataset is partitioned based on available
CPU cores, and a process pool is employed for concurrent processing). However, the log size
influences both training and recommendation times. For instance, for BPIC2012 log, training
takes circa 10 s, while recommendation circa 20 s. Conversely, for the larger BPIC2017 log,
training and recommendation times extend to circa 35 s. On the user interface side, we evaluated
the relevancy of the content included in the tool [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In future work, we plan to evaluate the
usefulness and usability of the tool with potential end users and incorporate the suggestions
that emerge from the evaluation in an improved version of the tool. In addition, we plan to
implement and evaluate the functionality for operational workers and tactical managers [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
bpic2012
trafic
      </p>
      <p>Plugins
Plugin #1
Plugin #2
Plugin #3
Plugin #1
Plugin #2
Plugin #3</p>
      <p>Kairos can be accessed as a cloud service at https://kairos.cloud.ut.ee/. Examples of
event logs and configurations to test with Kairos are available at https://github.com/
AutomatedProcessImprovement/kairos-frontend/blob/master/README.md. In the same github
space, documentation and source code of PrCore, and frontend and backend of the visualization
layer are available. A demo video of Kairos is available at https://youtu.be/51zgZw40ZzA</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>K.</given-names>
            <surname>Kubrak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Milani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nolte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , Prescriptive process monitoring: Quo vadis?,
          <source>PeerJ Comput. Sci. 8</source>
          (
          <year>2022</year>
          )
          <article-title>e1097</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Le</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Gabrys</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Nauck</surname>
          </string-name>
          ,
          <article-title>A hybrid model for business process event and outcome prediction, Expert Syst</article-title>
          .
          <source>J. Knowl. Eng</source>
          .
          <volume>34</volume>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>I.</given-names>
            <surname>Teinemaa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Tax</surname>
          </string-name>
          , M. de Leoni,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <article-title>Alarm-based prescriptive process monitoring</article-title>
          ,
          <source>in: BPM (Forum)</source>
          ,
          <source>volume 329 of Lecture Notes in Business Information Processing</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>107</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Z. D.</given-names>
            <surname>Bozorgi</surname>
          </string-name>
          , I. Teinemaa,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Rosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyvyanyy</surname>
          </string-name>
          ,
          <article-title>Prescriptive process monitoring based on causal efect estimation</article-title>
          ,
          <source>Inf. Syst</source>
          .
          <volume>116</volume>
          (
          <year>2023</year>
          )
          <fpage>102198</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Kubrak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Milani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nolte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Design and evaluation of a user interface concept for prescriptive process monitoring</article-title>
          ,
          <source>in: CAiSE</source>
          , volume
          <volume>13901</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2023</year>
          , pp.
          <fpage>347</fpage>
          -
          <lpage>363</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Leontjeva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Conforti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. D.</given-names>
            <surname>Francescomarino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Maggi</surname>
          </string-name>
          ,
          <article-title>Complex symbolic sequence encodings for predictive monitoring of business processes</article-title>
          ,
          <source>in: BPM</source>
          , volume
          <volume>9253</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2015</year>
          , pp.
          <fpage>297</fpage>
          -
          <lpage>313</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>