<!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 />
    <article-meta>
      <title-group>
        <article-title>Discovering Customer Journey Maps using a Mixture of Markov Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthieu Harbich</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>Gaël Bernard</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pietro Berkes</string-name>
          <email>pietro.berkes@nagra.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Benoît Garbinato</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Periklis Andritsos</string-name>
          <email>periklis.andritsos@utoronto.ca</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>NAGRA Kudelski</institution>
          ,
          <country country="CH">Switzerland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Lausanne, Faculty of Business and Economics (HEC)</institution>
          ,
          <country country="CH">Switzerland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Toronto, Faculty of Information</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>3</fpage>
      <lpage>7</lpage>
      <abstract>
        <p>Customer Journey Maps (CJMs) summarize the behavior of customers by displaying the most common sequences of steps they take when engaging with a company or product. In many practical applications, the challenge lies in automatically discovering these prototypical sequences from raw event logs for thousands of customers. We propose a novel, probabilistic approach based on a mixture of Markov models and show it can reliably extract CJMs with just one input parameter (and potentially none).</p>
      </abstract>
      <kwd-group>
        <kwd>markov models</kwd>
        <kwd>customer journey mapping</kwd>
        <kwd>event logs</kwd>
        <kwd>customer journey analytics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Managing customer experience is becoming increasingly complex. The plethora
of ways in which a customer can consume a service, the acceleration of media and
channel fragmentation, and the increase in customer-to-customer interactions
through social media create opportunities, but also present major challenges
to companies [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Customer Journey Maps (CJMs) respond by proposing an
intelligible visualization that makes it possible to understand, discuss, or improve
the main paths (i.e., journeys) in the usage of a service.
      </p>
      <p>
        In practice, one is usually faced with a log of raw events generated from
thousands of users interacting with a system. Each of these events symbolizes a
step a customer takes when using a service, while a single customer’s journey
might be composed by several steps (i.e., events). This yields the following
challenge: how to build a CJM that summarizes well the journeys observed in
the event logs? Figure 1 illustrates this challenge by using an event log composed
of five journeys Ê. As shown in Fig. 1, displaying all individual journeys on a
single CJM leads to an unreadable model Ë. One option, proposed by Bernard
and Andritsos [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], is to summarize individual journeys with a few representative
journeys, and assign each journey to its closest representative Ì. To this end, they
G
time
time
take advantage of hierarchical clustering to organize the journeys and, then, they
apply a frequent sequence mining algorithm to define representative journeys.
      </p>
      <p>
        We contribute by proposing the first probabilistic approach that converts
event logs in a CJM. We first describe our approach and, then, we illustrate
its most appealing features – missing in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] – using the Chicago activity survey
dataset.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Approach</title>
      <p>The starting point for our approach is to assume that the customers belong to a
small number of groups, each having a similar behavior in the sense of having
the same probability of transitioning from one event to the next.</p>
      <p>We describe our approach in more details below: 1) the input, 2) the Markov
model, and 3) the use of an Expectation-Maximization (EM) algorithm on a
mixture of Markov models.</p>
      <p>
        Input. Event logs are the input data for our algorithm. For example, logs can be
provided in the XES format, a standard representation used in Process Mining
to model processes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which can be mapped to store customer journeys [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
The only other input is the number of representative journeys one would like to
discover, k .
      </p>
      <p>Markov Model as an internal representation. Our model for event
sequences is a Markov model: according to the model, each sequence is generated
by choosing the first event in the sequence, X1, with probability P (X1 = i) = fi.
The probability of every successive event in the sequence depends only on the
event preceding it, i.e. P (Xt = ijXt 1; Xt 2; :::; X1) = P (Xt = ijXt 1 = j) = Tij.
By choosing the parameters f and T to match the probability of the first event
and the probability of event transitions for a group of observed sequences, the
model captures our assumption that journeys belonging to the same group share
the same probability of transitioning between events.
Expectation-Maximization on a mixture of Markov models. Computing
one Markov model for the entire dataset would only describe one generic type
of behavior. Our assumption is that we have a set of k groups of customers,
each with its own model, i.e., we have a mixture of k Markov models. Given
a set of journeys, and the set of k pairs of parameters (Tk, fk) for each group,
the probability of the data given the parameters (known as the likelihood of the
parameters) can be written as</p>
      <p>N K
LH(Tk; fk; k) = Y X P (XnjCk; Tk; fk)P (Ck; k)
n=1 k=1
(1)
where</p>
      <p>N : The set of sequences
K : The number of Markov models
P(Xn|Ck) : The probability of sequence Xn under model Ck
P(Ck) : The probability of model k (one group of behavior might be more
likely than another</p>
      <p>
        The parameters Tk, fk, and k are learned by Maximum Likelihood, i.e., by
maximizing the probability of the data under the mixture, LH(Tk; fk; k). An
efficient way of achieving that is using the Expectation-Maximization algorithm [
        <xref ref-type="bibr" rid="ref5 ref6">5,6</xref>
        ].
The expectation part evaluates the models’ responsibilities for the behavior using
the current parameters. In the maximization part, the algorithm re-computes
the parameters using the responsibilities of the different models computed in the
expectation part. The algorithm loops until the likelihood converges [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The K discovered models, each composed by a transition matrix and a first
probability vector, represent the K different types of behaviors the dataset
contains. Our approach offers interesting features that will be illustrated in the
next section.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Case study</title>
      <p>
        The probabilistically-grounded nature of the algorithm offers many advantages
compared to the approach described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which is based on hierarchical
clustering of edit distances of the underlying journeys. We illustrate the advantages of
our approach by applying our algorithm to a real, publicly available dataset. We
first describe the dataset and then list four interesting features of this probabilistic
approach.
      </p>
      <p>The dataset consists of an activity survey for the city of Chicago 1. It comprises
29,542 journeys (2,381 are unique). Typically, one journey might be: “being at
home” ! “going to school” ! “having a meal” ! “being at home”. Such a journey
has a length of four events. The average length for the dataset is 4.817 events
and there are 16 types of event. Fig. 2 shows the resulting CJM with k=3.
1 http://www.cmap.illinois.gov/data/transportation/travel-survey
Activities:</p>
      <p>Work</p>
      <p>Entertainment
Routine / shopping</p>
      <p>Feature 1. The first interesting feature resides in the ability to determine the
likelihood of a given journey under each model (see Fig. 2). Each journey is
assigned to a model k with a given probability, P (XjCk). The journey with the
highest probability becomes the representative. It should be noted that this also
means that we can return other alternatives (e.g., the second most likely journeys
as seen on Fig. 2), which can be useful for investigating how a journey might
deviate from the most likely representative journey.</p>
      <p>
        Feature 2. The next interesting feature is the limited number of parameters.
The work proposed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] includes numerous parameters that must be chosen from
(e.g., the distance between journeys, and the method for finding the representative
or computing the distance between clusters), which can have a substantial impact
on the representative journeys that are returned. In contrast, our algorithm
requires us to provide only the number of groups, k. Even this parameter can be
removed by using standard model selection techniques (e.g., using a Bayesian
Information Criterion (BIC) penalty), but such a technique is outside the scope
of this short paper.
      </p>
      <p>Feature 3. The next most probable event of an incomplete journey can be
computed on the fly by checking the most probable transition parameter under
its most likely model (see Fig. 3). Moreover, one can also use the transition matrix
to generate new journeys that have never been seen but that are still likely to
happen according to the mixture of models. Generating such data journeys can
be useful for training or analysis purposes.</p>
      <p>
        Feature 4. One of the interesting features of our probabilistic-approach is the
way it handles shifting customers’ behavior. For example, an incomplete journey
is assigned to a Markov model with a given probability. The most probable
Markov Model might change when new events are observed. Hence, it allows us
to dynamically cope with shifting behaviors. A customer’s behavior is complex
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and, therefore, we argue that assigning the customer to a continuum between,
Activities:
      </p>
      <p>Visiting friends
Entertainment
lh: 2%
(others) lh: 56% time
potentially several different models is more appropriate than using a discrete
classification.</p>
      <p>Our algorithm scales well as it has been applied – as part of the collaboration
with Kudelski – on a real dataset consisting of more than 7 million events for
more than half a million customers. It results in the discovery of several customer
behavioral patterns that enable marketers to design more personalized campaigns.</p>
      <p>Overall, a probabilistic approach offers a robust alternative based on a small
number of assumptions and with a small number of parameters. The four features
we presented in this paper might serve as a starting point for studying alternative
probabilistic approaches to discovering sets of journeys to be displayed on CJMs
using standardized event logs.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgement</title>
      <p>This research was conducted at NAGRA Kudelski (Lausanne, Switzerland). We
would like to thank the Kudelski Group for the fruitful collaboration and support.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.: Process Mining: Data Science in Action. Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bernard</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andritsos</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Cjm-ex: Goal-oriented exploration of customer journey maps using event logs and data analytics</article-title>
          .
          <source>In: 15th International Conference on Business Process Management (BPM2017)</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bernard</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andritsos</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A process mining based model for customer journey mapping</article-title>
          .
          <source>In: Proceedings of the Forum and Doctoral Consortium Papers Presented at the 29th International Conference on Advanced Information Systems Engineering (CAiSE</source>
          <year>2017</year>
          ) (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bishop</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          :
          <article-title>Pattern recognition and machine learning</article-title>
          .
          <source>Information science and statistics</source>
          , Springer, New York (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dempster</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laird</surname>
            ,
            <given-names>N.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rubin</surname>
            ,
            <given-names>D.B.</given-names>
          </string-name>
          :
          <article-title>Maximum likelihood from incomplete data via the EM algorithm</article-title>
          .
          <source>Journal of the Royal Statistical Society</source>
          . Series B (methodological) pp.
          <fpage>1</fpage>
          -
          <lpage>38</lpage>
          (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kiran</surname>
            ,
            <given-names>P.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rao</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ratnamala</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>An efficient approach for filling incomplete data http://citeseerx</article-title>
          .ist.psu.edu/viewdoc/download?doi
          <source>=10.1.1.735.3758&amp; rep=rep1&amp;type=pdf</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Lemon</surname>
            ,
            <given-names>K.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verhoef</surname>
            ,
            <given-names>P.C.</given-names>
          </string-name>
          :
          <article-title>Understanding customer experience throughout the customer journey</article-title>
          .
          <source>Journal of Marketing</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>