<!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>D. Chapela-Campa);</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Kronos: Discovery and Analysis of Waiting Time Causes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Katsiaryna Lashkevich</string-name>
          <email>katsiaryna.lashkevich@ut.ee</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fredrik Milani</string-name>
          <email>fredrik.milani@ut.ee</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Chapela-Campa</string-name>
          <email>david.chapela@ut.ee</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ihar Suvorau</string-name>
          <email>ihar.suvorau@ut.ee</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Tartu</institution>
          ,
          <addr-line>18 Narva mnt, Tartu, 51009</addr-line>
          ,
          <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>Waiting times often occur in business processes when a case transitions from one activity to another. Accordingly, analyzing the causes of waiting times in activity transitions can aid analysts in identifying opportunities for reducing process cycle time. To solve this task, we propose Kronos - a web-based tool that decomposes waiting times in activity transitions into their causes and analyzes their impact on the cycle time eficiency of the process. Thus, Kronos targets process analysts interested in optimizing the temporal eficiency of business processes.</p>
      </abstract>
      <kwd-group>
        <kwd>process mining</kwd>
        <kwd>waiting time</kwd>
        <kwd>cycle time eficiency</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        Waiting time is a common source of waste in business processes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Waiting times typically
arise during transitions between activities, i.e., when the execution of a case moves from one
activity to another. Process analysts benefit from understanding what causes waiting times
when exploring how to address such process ineficiencies.
      </p>
      <p>
        Process mining techniques enable analysis of data generated by business process executions,
a.k.a. event logs, and, in particular, to discover waiting times [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, while existing
techniques enable analysts to visualize activity transitions with high waiting time (i.e., bottlenecks),
they provide limited support for identifying causes of waiting times.
      </p>
      <p>In this paper, we present Kronos, an open-source web-based tool that discovers the causes
of waiting times in activity transitions. Kronos also assesses the impact each cause of waiting
time has on the process’s cycle time eficiency (CTE). This can aid analysts in identifying
improvement opportunities related to waiting times that, when addressed, can increase the
temporal eficiency of the process.</p>
      <p>The rest of the paper is structured as follows. Sec. 2 describes Kronos’s functionality and
components. Sec. 3 presents the maturity and availability of Kronos. Sec. 4 concludes the paper.
CEUR
Workshop
Proceedings</p>
    </sec>
    <sec id="sec-3">
      <title>2. Architecture &amp; Main Features</title>
      <p>Kronos takes an event log as input, identifies transitions, calculates their durations (waiting
times), discovers and quantifies the causes of the waiting times, measures their impact on
the process CTE and, finally, visualizes the results. Figure 1 gives an overview of Kronos’s
components. Below, we summarize the functionality of each component of Kronos.</p>
      <sec id="sec-3-1">
        <title>2.1. Uploading Event Log</title>
        <p>As input, Kronos takes an event log (CSV format) with at least a unique case identifier, activity
name, resource, start and end timestamps. These attributes are required. When the log is
uploaded, the user maps the columns to their respective attributes, and Kronos validates that all
mandatory attributes are included in the log. If so, Kronos proceeds to the activity transition
discovery.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Activity Transition Discovery</title>
        <p>
          In this component, Kronos identifies activity transitions, i.e., pairs of activities – composed
of a source and a target activity, where the source activity enables the execution of the target
activity – between which cases are transferred. With this purpose, Kronos first discovers
the concurrency relations between the process activities (using the concurrency oracle of the
Flexible Heuristics Miner [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]). Then, it builds the activity transitions by pairing each activity
instance with its preceding non-concurrent one, i.e., the activity instance enabling it. Finally,
Kronos calculates the duration of each transition – i.e., the waiting times they induce – as the
time from the end of its source activity to the start of its target one.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>2.3. Waiting Time Cause Discovery</title>
        <p>
          Once the activity transitions and their waiting times are discovered, Kronos discovers the
causes of waiting times. The waiting time within a given transition instance may stem from
one or multiple causes. If there are multiple causes, Kronos decomposes the waiting time into
non-overlapping time intervals and attributes each interval to one cause. Kronos identifies five
causes of waiting time in the following order:
• Waiting time due to batching occurs when an activity instance waits for another activity
instance to be enabled in order to be processed together as a batch. To identify batch
processing, Kronos uses the technique proposed in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
• Waiting time due to resource contention is observed when an activity instance waits to
be processed by an assigned resource that is busy processing other activity instances,
following a first-in-first-out (FIFO) order.
• Waiting time due to prioritization is identified when the assigned resource is busy with
an activity instance that was prioritized over the waiting one (not executed in the FIFO
order).
• Waiting time due to resource unavailability occurs when the assigned resource is
unavailable (of duty) due to their working schedules. Kronos discovers the working schedules
of each resource using the resource availability calendar miner proposed in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
• Waiting time due to extraneous factors covers waiting times caused by external efects that
cannot be identified from the event log – e.g., the resource is working on another process,
fatigue efects, or context switches.
        </p>
        <p>The order by which waiting time causes are identified in a given activity transition is
determined by the dominance relations between these causes. Batching dominates resource
contention, prioritization, and unavailability, because regardless of the availability status of
any given resource, an activity instance that is part of a batch is not ready to be assigned (and
started) until the batch is ready. Resource contention and prioritization dominate resource
availability, because if a resource has a work queue, they cannot start an activity instance until
the latter reaches the front of the queue, or until this activity instance has the highest priority in
the queue, regardless of the resource’s availability status. Extraneous factors are dominated by
all other causes, as they act as a “catch-all” cause for any waiting time that cannot be attributed
to other causes.</p>
      </sec>
      <sec id="sec-3-4">
        <title>2.4. Waiting Time Analysis</title>
        <p>In this component, Kronos analyzes how much each cause of waiting time contributes to the
temporal performance of the process (i.e., the percentage of time each cause induces in the
process) and their impact on the CTE. The impact of each cause of waiting time is calculated as
the diference between the original process CTE and the CTE if the waiting time is eliminated.
In this way, Kronos measures (1) the impact each waiting time cause has on the process CTE,
(2) the impact each transition has on the process CTE, and (3) the impact each waiting time
cause has in each transition. These metrics can indicate the potential CTE improvement if a
particular cause of waiting time is eliminated.</p>
      </sec>
      <sec id="sec-3-5">
        <title>2.5. Visualization of Analysis Results</title>
        <p>Finally, Kronos visualizes the analysis results in its user interface that has 3 tabs: (1) Overview
tab presents the key statistics of the process (e.g., number of cases, activities, and transitions),
total waiting time of the process, and how much each cause induces; (2) Transitions tab shows
the waiting time causes per transition; (3) CTE impact tab depicts potential CTE improvement if
the waiting time causes are eliminated in the whole process and per activity transition. Figure 2
illustrates an example of a real-life production process, where the graph shows waiting time
causes per activity transition. The analysis results can be downloaded in CSV and JSON formats.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Maturity &amp; Availability</title>
      <p>
        Kronos has been empirically evaluated with synthetic event logs where the causes of waiting
time were known [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The empirical evaluation showed that Kronos can accurately detect
waiting times and classify them into five causes.
      </p>
      <p>Kronos is developed as a React web application, publicly available at http://kronos.cloud.ut.ee.
The current server deployment accepts event logs with sizes up to 30 MB. A set of event logs
for testing is available at Owncloud1. The implementation of Kronos’s logic is available in a
GitHub repository2, along with instructions for its installation and command-line usage. A
screencast that describes the tool is available on YouTube3.</p>
      <p>
        In its current form, Kronos has several limitations in terms of method and implementation:
• Method limitations. First, the method considers only waiting times in transitions between
activity instances. Yet waiting times may also arise in at least two other settings: (i)
between case creation and the start of the first activity instance; and (ii) within an activity
instance due to interruptions (e.g., the resource interrupts their work and resumes it later).
The first of these waiting times could be analyzed by applying methods that estimate
the inter-arrival time of each case [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The second requires new methods for modeling
and inferring interruptions. Another limitation of the method is that it does not consider
multitasking. This could be addressed by inferring multitasking patterns from the log,
and using this data to estimate at what point in time a resource would normally have
started an activity instance, given their past multitasking behavior. Finally, the values of
potential CTE improvement depict a theoretical improvement achieved by eliminating
specific waiting times, without accounting for any potential side efects resulting from a
1https://owncloud.ut.ee/owncloud/s/rZ4dSoTzwpwfpci
2https://github.com/AutomatedProcessImprovement/waiting-time-analysis
3https://youtu.be/vvOY_hbOOh4
process redesign. This could be addressed by employing a simulation-based analysis to
explore various redesign options considering associated side efects.
• Implementation limitations. Kronos has limited capacity for processing extensive event
logs due to the prolonged processing time they require. Furthermore, the likelihood of
encountering errors is higher for larger logs, while Kronos has limited error-handling
support. Therefore, we have implemented an event log size limit of 30 MB. It allows
addressing the aforementioned challenges while maintaining the capability to process
intricate event logs, such as the event log from BPI Challenge 2012 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>4. Conclusion</title>
      <p>Kronos discovers five causes of waiting times (batching, resource contention, prioritization,
resource unavailability, and extraneous factors) from event logs, assesses their impact on
process CTE, and visualizes the analysis results. With Kronos, process analysts can identify
improvement opportunities related to increasing temporal eficiency by reducing waiting times.
In the future, we plan to address the method limitations, in particular, add a simulation-based
analysis, allowing analysts to experiment with redesign options.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>Work funded by the European Research Council (PIX project).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>P.</given-names>
            <surname>Delias</surname>
          </string-name>
          ,
          <article-title>A positive deviance approach to eliminate wastes in business processes: The case of a public organization</article-title>
          ,
          <source>Ind. Manag. Data Syst</source>
          . (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          , Process Mining: Data Science in Action, 2nd ed., Springer, Heidelberg,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>A. J. M. M. Weijters</surname>
            ,
            <given-names>J. T. S.</given-names>
          </string-name>
          <string-name>
            <surname>Ribeiro</surname>
          </string-name>
          ,
          <article-title>Flexible heuristics miner (FHM)</article-title>
          ,
          <source>in: Proceedings of the IEEE Symposium on CIDM, IEEE</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>K.</given-names>
            <surname>Lashkevich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Milani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chapela-Campa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Data-driven analysis of batch processing ineficiencies in business processes</article-title>
          ,
          <source>in: RCIS</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>247</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>O.</given-names>
            <surname>López-Pintado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Business process simulation with diferentiated resources: Does it make a diference?</article-title>
          ,
          <source>in: BPM</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>361</fpage>
          -
          <lpage>378</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>K.</given-names>
            <surname>Lashkevich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Milani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chapela-Campa</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Suvorau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <article-title>Why am i waiting? data-driven analysis of waiting times in business processes</article-title>
          , in: CAiSE, Springer,
          <year>2023</year>
          , pp.
          <fpage>174</fpage>
          -
          <lpage>190</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Depaire</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Caris</surname>
          </string-name>
          ,
          <article-title>Using event logs to model interarrival times in business process simulation</article-title>
          ,
          <source>in: Workshops of the 13th Intl. Conf. on BPM</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>255</fpage>
          -
          <lpage>267</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>B. van Dongen</surname>
          </string-name>
          ,
          <source>Bpi challenge</source>
          <year>2012</year>
          ,
          <year>2012</year>
          . URL: https://data.4tu.nl/articles/_/12689204/1. doi:
          <volume>10</volume>
          .4121/UUID:3926DB30-
          <fpage>F712</fpage>
          - 4394
          <string-name>
            <surname>-</surname>
          </string-name>
          AEBC- 75976070E91F.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>