· 8 years ago · Aug 04, 2018, 07:06 PM
1
2%% bare_conf.tex
3%% V1.4b
4%% 2015/08/26
5%% by Michael Shell
6%% See:
7%% http://www.michaelshell.org/
8%% for current contact information.
9%%
10%% This is a skeleton file demonstrating the use of IEEEtran.cls
11%% (requires IEEEtran.cls version 1.8b or later) with an IEEE
12%% conference paper.
13%%
14%% Support sites:
15%% http://www.michaelshell.org/tex/ieeetran/
16%% http://www.ctan.org/pkg/ieeetran
17%% and
18%% http://www.ieee.org/
19
20%%*************************************************************************
21%% Legal Notice:
22%% This code is offered as-is without any warranty either expressed or
23%% implied; without even the implied warranty of MERCHANTABILITY or
24%% FITNESS FOR A PARTICULAR PURPOSE!
25%% User assumes all risk.
26%% In no event shall the IEEE or any contributor to this code be liable for
27%% any damages or losses, including, but not limited to, incidental,
28%% consequential, or any other damages, resulting from the use or misuse
29%% of any information contained here.
30%%
31%% All comments are the opinions of their respective authors and are not
32%% necessarily endorsed by the IEEE.
33%%
34%% This work is distributed under the LaTeX Project Public License (LPPL)
35%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
36%% distributed and modified. A copy of the LPPL, version 1.3, is included
37%% in the base LaTeX documentation of all distributions of LaTeX released
38%% 2003/12/01 or later.
39%% Retain all contribution notices and credits.
40%% ** Modified files should be clearly indicated as such, including **
41%% ** renaming them and changing author support contact information. **
42%%*************************************************************************
43
44
45% *** Authors should verify (and, if needed, correct) their LaTeX system ***
46% *** with the testflow diagnostic prior to trusting their LaTeX platform ***
47% *** with production work. The IEEE's font choices and paper sizes can ***
48% *** trigger bugs that do not appear when using other class files. *** ***
49% The testflow support page is at:
50% http://www.michaelshell.org/tex/testflow/
51
52
53
54\documentclass[conference]{IEEEtran}
55% Some Computer Society conferences also require the compsoc mode option,
56% but others use the standard conference format.
57%
58% If IEEEtran.cls has not been installed into the LaTeX system files,
59% manually specify the path to it like:
60% \documentclass[conference]{../sty/IEEEtran}
61
62
63
64
65
66% Some very useful LaTeX packages include:
67% (uncomment the ones you want to load)
68
69
70% *** MISC UTILITY PACKAGES ***
71%
72%\usepackage{ifpdf}
73% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
74% compilation based on whether the output is pdf or dvi.
75% usage:
76% \ifpdf
77% % pdf code
78% \else
79% % dvi code
80% \fi
81% The latest version of ifpdf.sty can be obtained from:
82% http://www.ctan.org/pkg/ifpdf
83% Also, note that IEEEtran.cls V1.7 and later provides a builtin
84% \ifCLASSINFOpdf conditional that works the same way.
85% When switching from latex to pdflatex and vice-versa, the compiler may
86% have to be run twice to clear warning/error messages.
87
88
89
90
91
92
93% *** CITATION PACKAGES ***
94%
95%\usepackage{cite}
96% cite.sty was written by Donald Arseneau
97% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
98% \cite{} output to follow that of the IEEE. Loading the cite package will
99% result in citation numbers being automatically sorted and properly
100% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
101% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
102% \cite will automatically add leading space, if needed. Use cite.sty's
103% noadjust option (cite.sty V3.8 and later) if you want to turn this off
104% such as if a citation ever needs to be enclosed in parenthesis.
105% cite.sty is already installed on most LaTeX systems. Be sure and use
106% version 5.0 (2009-03-20) and later if using hyperref.sty.
107% The latest version can be obtained at:
108% http://www.ctan.org/pkg/cite
109% The documentation is contained in the cite.sty file itself.
110
111
112\usepackage{subfig}
113
114
115
116% *** GRAPHICS RELATED PACKAGES ***
117%
118\ifCLASSINFOpdf
119 % \usepackage[pdftex]{graphicx}
120 % declare the path(s) where your graphic files are
121 % \graphicspath{{../pdf/}{../jpeg/}}
122 % and their extensions so you won't have to specify these with
123 % every instance of \includegraphics
124 % \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
125\else
126 % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
127 % will default to the driver specified in the system graphics.cfg if no
128 % driver is specified.
129 % \usepackage[dvips]{graphicx}
130 % declare the path(s) where your graphic files are
131 % \graphicspath{{../eps/}}
132 % and their extensions so you won't have to specify these with
133 % every instance of \includegraphics
134 % \DeclareGraphicsExtensions{.eps}
135\fi
136% graphicx was written by David Carlisle and Sebastian Rahtz. It is
137% required if you want graphics, photos, etc. graphicx.sty is already
138% installed on most LaTeX systems. The latest version and documentation
139% can be obtained at:
140% http://www.ctan.org/pkg/graphicx
141% Another good source of documentation is "Using Imported Graphics in
142% LaTeX2e" by Keith Reckdahl which can be found at:
143% http://www.ctan.org/pkg/epslatex
144%
145% latex, and pdflatex in dvi mode, support graphics in encapsulated
146% postscript (.eps) format. pdflatex in pdf mode supports graphics
147% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
148% that all non-photo figures use a vector format (.eps, .pdf, .mps) and
149% not a bitmapped formats (.jpeg, .png). The IEEE frowns on bitmapped formats
150% which can result in "jaggedy"/blurry rendering of lines and letters as
151% well as large increases in file sizes.
152%
153% You can find documentation about the pdfTeX application at:
154% http://www.tug.org/applications/pdftex
155
156\usepackage[colorinlistoftodos]{todonotes}
157\usepackage{amsmath}
158
159
160
161% *** MATH PACKAGES ***
162%
163%\usepackage{amsmath}
164% A popular package from the American Mathematical Society that provides
165% many useful and powerful commands for dealing with mathematics.
166%
167% Note that the amsmath package sets \interdisplaylinepenalty to 10000
168% thus preventing page breaks from occurring within multiline equations. Use:
169%\interdisplaylinepenalty=2500
170% after loading amsmath to restore such page breaks as IEEEtran.cls normally
171% does. amsmath.sty is already installed on most LaTeX systems. The latest
172% version and documentation can be obtained at:
173% http://www.ctan.org/pkg/amsmath
174
175
176
177
178
179% *** SPECIALIZED LIST PACKAGES ***
180%
181%\usepackage{algorithmic}
182% algorithmic.sty was written by Peter Williams and Rogerio Brito.
183% This package provides an algorithmic environment fo describing algorithms.
184% You can use the algorithmic environment in-text or within a figure
185% environment to provide for a floating algorithm. Do NOT use the algorithm
186% floating environment provided by algorithm.sty (by the same authors) or
187% algorithm2e.sty (by Christophe Fiorio) as the IEEE does not use dedicated
188% algorithm float types and packages that provide these will not provide
189% correct IEEE style captions. The latest version and documentation of
190% algorithmic.sty can be obtained at:
191% http://www.ctan.org/pkg/algorithms
192% Also of interest may be the (relatively newer and more customizable)
193% algorithmicx.sty package by Szasz Janos:
194% http://www.ctan.org/pkg/algorithmicx
195
196
197
198
199% *** ALIGNMENT PACKAGES ***
200%
201%\usepackage{array}
202% Frank Mittelbach's and David Carlisle's array.sty patches and improves
203% the standard LaTeX2e array and tabular environments to provide better
204% appearance and additional user controls. As the default LaTeX2e table
205% generation code is lacking to the point of almost being broken with
206% respect to the quality of the end results, all users are strongly
207% advised to use an enhanced (at the very least that provided by array.sty)
208% set of table tools. array.sty is already installed on most systems. The
209% latest version and documentation can be obtained at:
210% http://www.ctan.org/pkg/array
211
212
213% IEEEtran contains the IEEEeqnarray family of commands that can be used to
214% generate multiline equations as well as matrices, tables, etc., of high
215% quality.
216
217
218
219
220% *** SUBFIGURE PACKAGES ***
221%\ifCLASSOPTIONcompsoc
222% \usepackage[caption=false,font=normalsize,labelfont=sf,textfont=sf]{subfig}
223%\else
224% \usepackage[caption=false,font=footnotesize]{subfig}
225%\fi
226% subfig.sty, written by Steven Douglas Cochran, is the modern replacement
227% for subfigure.sty, the latter of which is no longer maintained and is
228% incompatible with some LaTeX packages including fixltx2e. However,
229% subfig.sty requires and automatically loads Axel Sommerfeldt's caption.sty
230% which will override IEEEtran.cls' handling of captions and this will result
231% in non-IEEE style figure/table captions. To prevent this problem, be sure
232% and invoke subfig.sty's "caption=false" package option (available since
233% subfig.sty version 1.3, 2005/06/28) as this is will preserve IEEEtran.cls
234% handling of captions.
235% Note that the Computer Society format requires a larger sans serif font
236% than the serif footnote size font used in traditional IEEE formatting
237% and thus the need to invoke different subfig.sty package options depending
238% on whether compsoc mode has been enabled.
239%
240% The latest version and documentation of subfig.sty can be obtained at:
241% http://www.ctan.org/pkg/subfig
242
243
244
245
246% *** FLOAT PACKAGES ***
247%
248%\usepackage{fixltx2e}
249% fixltx2e, the successor to the earlier fix2col.sty, was written by
250% Frank Mittelbach and David Carlisle. This package corrects a few problems
251% in the LaTeX2e kernel, the most notable of which is that in current
252% LaTeX2e releases, the ordering of single and double column floats is not
253% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
254% single column figure to be placed prior to an earlier double column
255% figure.
256% Be aware that LaTeX2e kernels dated 2015 and later have fixltx2e.sty's
257% corrections already built into the system in which case a warning will
258% be issued if an attempt is made to load fixltx2e.sty as it is no longer
259% needed.
260% The latest version and documentation can be found at:
261% http://www.ctan.org/pkg/fixltx2e
262
263\usepackage{algorithm}
264\usepackage{algorithmic}
265
266%\usepackage{stfloats}
267% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
268% the ability to do double column floats at the bottom of the page as well
269% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
270% LaTeX2e). It also provides a command:
271%\fnbelowfloat
272% to enable the placement of footnotes below bottom floats (the standard
273% LaTeX2e kernel puts them above bottom floats). This is an invasive package
274% which rewrites many portions of the LaTeX2e float routines. It may not work
275% with other packages that modify the LaTeX2e float routines. The latest
276% version and documentation can be obtained at:
277% http://www.ctan.org/pkg/stfloats
278% Do not use the stfloats baselinefloat ability as the IEEE does not allow
279% \baselineskip to stretch. Authors submitting work to the IEEE should note
280% that the IEEE rarely uses double column equations and that authors should try
281% to avoid such use. Do not be tempted to use the cuted.sty or midfloat.sty
282% packages (also by Sigitas Tolusis) as the IEEE does not format its papers in
283% such ways.
284% Do not attempt to use stfloats with fixltx2e as they are incompatible.
285% Instead, use Morten Hogholm'a dblfloatfix which combines the features
286% of both fixltx2e and stfloats:
287%
288% \usepackage{dblfloatfix}
289% The latest version can be found at:
290% http://www.ctan.org/pkg/dblfloatfix
291
292\usepackage{dblfloatfix} % To enable figures at the bottom of page
293
294
295% *** PDF, URL AND HYPERLINK PACKAGES ***
296%
297%\usepackage{url}
298% url.sty was written by Donald Arseneau. It provides better support for
299% handling and breaking URLs. url.sty is already installed on most LaTeX
300% systems. The latest version and documentation can be obtained at:
301% http://www.ctan.org/pkg/url
302% Basically, \url{my_url_here}.
303
304
305
306
307% *** Do not adjust lengths that control margins, column widths, etc. ***
308% *** Do not use packages that alter fonts (such as pslatex). ***
309% There should be no need to do such things with IEEEtran.cls V1.6 and later.
310% (Unless specifically asked to do so by the journal or conference you plan
311% to submit to, of course. )
312
313
314% correct bad hyphenation here
315\hyphenation{op-tical net-works semi-conduc-tor}
316
317
318\begin{document}
319%
320% paper title
321% Titles are generally capitalized except for words such as a, an, and, as,
322% at, but, by, for, in, nor, of, on, or, the, to and up, which are usually
323% not capitalized unless they are the first or last word of the title.
324% Linebreaks \\ can be used within to get better formatting as desired.
325% Do not put math or special symbols in the title.
326\title{Introducing an order-aware approach for the mining of customer journeys}
327
328
329% author names and affiliations
330% use a multiple column layout for up to three different
331% affiliations
332\author{\IEEEauthorblockN{Submitted for blind revision}
333\IEEEauthorblockA{-\\
334-\\
335-\\
336}
337\and
338\IEEEauthorblockN{Submitted for blind revision}
339\IEEEauthorblockA{-\\
340 -\\
341 -\\
342}
343\and
344\IEEEauthorblockN{Submitted for blind revision}
345\IEEEauthorblockA{-\\
346 -\\
347 -\\
348}}
349
350% conference papers do not typically use \thanks and this command
351% is locked out in conference mode. If really needed, such as for
352% the acknowledgment of grants, issue a \IEEEoverridecommandlockouts
353% after \documentclass
354
355% for over three affiliations, or if they all won't fit within the width
356% of the page, use this alternative format:
357%
358%\author{\IEEEauthorblockN{Michael Shell\IEEEauthorrefmark{1},
359%Homer Simpson\IEEEauthorrefmark{2},
360%James Kirk\IEEEauthorrefmark{3},
361%Montgomery Scott\IEEEauthorrefmark{3} and
362%Eldon Tyrell\IEEEauthorrefmark{4}}
363%\IEEEauthorblockA{\IEEEauthorrefmark{1}School of Electrical and Computer Engineering\\
364%Georgia Institute of Technology,
365%Atlanta, Georgia 30332--0250\\ Email: see http://www.michaelshell.org/contact.html}
366%\IEEEauthorblockA{\IEEEauthorrefmark{2}Twentieth Century Fox, Springfield, USA\\
367%Email: homer@thesimpsons.com}
368%\IEEEauthorblockA{\IEEEauthorrefmark{3}Starfleet Academy, San Francisco, California 96678-2391\\
369%Telephone: (800) 555--1212, Fax: (888) 555--1212}
370%\IEEEauthorblockA{\IEEEauthorrefmark{4}Tyrell Inc., 123 Replicant Street, Los Angeles, California 90210--4321}}
371
372
373
374
375% use for special paper notices
376%\IEEEspecialpapernotice{(Invited Paper)}
377
378
379
380
381% make the title area
382\maketitle
383
384% As a general rule, do not put math, special symbols or citations
385% in the abstract
386\begin{abstract}
387Recently the analysis of customer journeys is a subject undergoing an intense study. The increase in understanding of customer behaviour brings serves as an important source of success to many organizations. Current research is however mostly focussed on visualizing these customer journeys to allow them to be more interpretable by humans. A deeper use of customer journey information in prediction and recommendation processes has not been achieved. This paper aims to take a step forward into that direction by introducing the Order Aware Recommendation Approach (OARA). The main scientific contributions showcased by this approach are (i) increasing performance on prediction and recommendation tasks by taking into account the explicit order of actions in the customer journey, (ii) showing how a visualization of a customer journey can play an important role during predictions and recommendations, and (iii) introducing a way of maximizing recommendations for any tailor-made Key Performance Indicator (KPI) instead of the accuracy-based metrics traditionally used for this task. An extensive experimental evaluation then highlights the potential of AORA against state-of-the-art approaches using a real dataset representing a customer journey of upgrading with multiple products.
388
389% One of the main improvements OARA offers is, as the name suggests, taking the explicit order of the actions in a customer journey into account. This is not done in most of the current systems which simply view the past as an unordered bag of events. Aside from this it is shown how to utilize a visualization
390
391%It will be shown that OARA is able to use the information created in a visualization of a customer journey to ultimate increase performance on both of the prediction and recommendation tasks by using the explicit order
392
393% which allows for both predictions and recommendations on customer journeys.
394
395% paper showcases the advantages of taking into account the order in which these events occur during the predictions and recommendations tasks, where the recommendations are based on maximizing a value of choice instead of the traditional accuracy-based metrics.
396\end{abstract}
397
398% no keywords
399
400% For peer review papers, you can put extra information on the cover
401% page as needed:
402% \ifCLASSOPTIONpeerreview
403% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
404% \fi
405%
406% For peerreview papers, this IEEEtran command inserts a page break and
407% creates the second title. It will be ignored for other modes.
408\IEEEpeerreviewmaketitle
409
410
411
412\section{Introduction}
413% no \IEEEPARstart
414%In today's society the collection of data has been proceeding at a rapid pace. One area which has attracted attention for this reason is that of the Internet of Things, which has for example allowed for a large amount of information to be collected on the daily lives of consumers of smart devices in smart homes. This well of knowledge which has become available can be used in numerous ways, and the application covered in this paper is one where the individual actions of a user are strung together into a cohesive journey.
415%More concretely, the term customer journey will be used to describe a sequence of observed events stemming from a single user in a specific time period.
416
417In today's society, the interactions a customer with an organization are quite plentiful thanks to the myriad of ways in which these customers are now able to interact with the organizations. These interactions can be seen as a sequence, where each time the customer achieves a certain goal with a specific interaction. Such a sequence of observed events which belongs to a single customer is referred to here as a customer journey. The analysis of such customer journeys can be a huge boon towards improving the organizations, as the key objective is to get an understanding of how the experiences of the customer can be enriched though what marketers call their decision-making process~\cite{lemon2016understanding}.
418
419To properly interpret the customer journey data that organizations possess it is helpful to create a visualization of this information to get an idea of which steps are usually taken in the journeys. Such a representation is called a customer journey map. These artefacts often possess a non-linear structure while reflecting behavioural, emotional and cognitive drives~\cite{wolny2014mapping}. A mapping in this paper is obtained by means of process mining. The result is known as a process model, of which an example is shown in Figure~\ref{fig:procmod3}. The example shown here is from the website of a music festival. Firstly, a customer will have to register themselves. Upon completing the registration, they go on to either buy tickets or merchandise from a band. In case tickets are bought, it might occur that the customer wishes to also buy tickets from another band, which is indicated by the arrow to and from itself. A customer is able to end their journey after taking either of these actions, but it might also be the case that they still need to change part of their information, for example their payment credentials. This information can then be altered and afterwards everything is in order to deliver the tickets and/or merchandise, leading to the customer journey end. Note that in this example customers are only doing a single purchase, but it might also be the case that one wishes to model all purchases made by a single customer in which case the process model would be different and more complex.
420
421\begin{figure}
422 \centering
423 \includegraphics[width=0.28\textwidth]{figures/ProcModExample3}
424 \caption{Example process model of a customer journey.}
425 \label{fig:procmod3}
426\end{figure}
427
428% Here upon having started the customer journey, action B is performed, after which a choice is available to do either action R or P where the majority of the customers prefer action P. Upon having reached action P or M, the customer can decide to take the same action again, and from any of the actions R, P and M the customer can decide to finish his customer journey. Here the customer journey would often consist out of only a small number of actions, which can correlate to the real world example of
429
430%Upon having created an overview of the customer journeys one wishes to consider, one can use the patterns observed in these customer journeys for both predictions of future events in the customer journey and recommendations aimed at maximizing a specific Key Performance Indicator(KPI). In this paper this will be done using OARA, which stands for the Order Aware Recommendation Approach.
431
432%To provide some intuition with regard to what a customer journey can entail an example can be found in Figure ???????. Here a relatively small customer journey exists where the customer .
433
434Now that it has been made clear what customer journey information can be included in the process models, the goals are introduced. The approach proposed in this paper is called the Order Aware Recommendation Approach, shortened to OARA, and aims to improve upon the current state of the art in three areas.
435Firstly, the extraction of a customer journey map by means of process mining is a technique which hs been recently contributed in~\cite{bernard2017process}. However, the approach proposed here aims to go beyond simply extracting a model. The extracted model is now used by OARA to also do predictions and recommendations for future steps in the customer journeys in a tailor-made manner. This allows for the value of customer journey data to rise as a result, as one can now rely on machine learning techniques for these tasks which would otherwise involve a large amount of manual labour.
436Furthermore predictions and recommendations on the customer journeys can also be done by other predictor algorithms and recommendation systems since one still would like to obtain information on the future based on the past. OARA however aims to improve upon the existing methods as they do not take the explicit order information into account which is present in the customer journeys. This loss of contextual information can then lead to a decrease in quality compared to when this context is applied to the predictions and recommendations.
437There is also the issue that currently the evaluation of recommender systems is mainly focused around prediction accuracy, while other evaluation properties such as novelty are less explored~\cite{shani2011evaluating}. This is a mismatch with reality as the goal organizations usually have when recommending the customer with an action is the maximization of a Key Performance Indicator (KPI). This is a value which measures how well an organization is performing on a specific key objective. To provide a solution to the current situation it is shown how one can take KPI maximization into account by using OARA.
438
439To summarize, the contributions made by this paper are showing how it is possible to:
440\begin{itemize}
441 \item Use a process model to do predictions and recommendations.
442 \item Explicitly use the order of events during predictions and recommendations.
443 \item Optimize recommendations for any chosen KPI.
444\end{itemize}
445
446%\todo{This is pretty much what i'm doing in next alinea}
447%The performance of OARA on these two tasks is then compared against both a more traditional, general purpose machine learning approach as well as different approach specifically built for recommendations in scenarios which involve usage information. Finally, conclusions regarding the performance fo OARA are given as well as avenues which were discovered to be of interest for future research.
448
449The rest of this paper consists of the following sections: Firstly some related work for the rest of the paper is presented in Section II. In section III the context and problems tackled in the paper are concretely defined, in section IV it is explained in detail how OARA allows for the recommendations to be created. In section V a real dataset is used for an evaluation of the quality of both the predictions and recommendations provided by OARA and to wrap everything in section VI the conclusions and future research opportunities are given.
450
451%\todo{Add summary other chapters once known and add some stuff in general. tbd.}
452
453% An example of a floating figure using the graphicx package.
454% Note that \label must occur AFTER (or within) \caption.
455% For figures, \caption should occur after the \includegraphics.
456% Note that IEEEtran v1.7 and later has special internal code that
457% is designed to preserve the operation of \label within \caption
458% even when the captionsoff option is in effect. However, because
459% of issues like this, it may be the safest practice to put all your
460% \label just after \caption rather than within \caption{}.
461%
462% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
463% option should be used if it is desired that the figures are to be
464% displayed while in draft mode.
465%
466%\begin{figure}[!t]
467%\centering
468%\includegraphics[width=2.5in]{myfigure}
469% where an .eps filename suffix will be assumed under latex,
470% and a .pdf suffix will be assumed for pdflatex; or what has been declared
471% via \DeclareGraphicsExtensions.
472%\caption{Simulation results for the network.}
473%\label{fig_sim}
474%\end{figure}
475
476% Note that the IEEE typically puts floats only at the top, even when this
477% results in a large percentage of a column being occupied by floats.
478
479
480% An example of a double column floating figure using two subfigures.
481% (The subfig.sty package must be loaded for this to work.)
482% The subfigure \label commands are set within each subfloat command,
483% and the \label for the overall figure must come after \caption.
484% \hfil is used as a separator to get equal spacing.
485% Watch out that the combined width of all the subfigures on a
486% line do not exceed the text width or a line break will occur.
487%
488%\begin{figure*}[!t]
489%\centering
490%\subfloat[Case I]{\includegraphics[width=2.5in]{box}%
491%\label{fig_first_case}}
492%\hfil
493%\subfloat[Case II]{\includegraphics[width=2.5in]{box}%
494%\label{fig_second_case}}
495%\caption{Simulation results for the network.}
496%\label{fig_sim}
497%\end{figure*}
498%
499% Note that often IEEE papers with subfigures do not employ subfigure
500% captions (using the optional argument to \subfloat[]), but instead will
501% reference/describe all of them (a), (b), etc., within the main caption.
502% Be aware that for subfig.sty to generate the (a), (b), etc., subfigure
503% labels, the optional argument to \subfloat must be present. If a
504% subcaption is not desired, just leave its contents blank,
505% e.g., \subfloat[].
506
507
508% An example of a floating table. Note that, for IEEE style tables, the
509% \caption command should come BEFORE the table and, given that table
510% captions serve much like titles, are usually capitalized except for words
511% such as a, an, and, as, at, but, by, for, in, nor, of, on, or, the, to
512% and up, which are usually not capitalized unless they are the first or
513% last word of the caption. Table text will default to \footnotesize as
514% the IEEE normally uses this smaller font for tables.
515% The \label must come after \caption as always.
516%
517%\begin{table}[!t]
518%% increase table row spacing, adjust to taste
519%\renewcommand{\arraystretch}{1.3}
520% if using array.sty, it might be a good idea to tweak the value of
521% \extrarowheight as needed to properly center the text within the cells
522%\caption{An Example of a Table}
523%\label{table_example}
524%\centering
525%% Some packages, such as MDW tools, offer better commands for making tables
526%% than the plain LaTeX2e tabular which is used here.
527%\begin{tabular}{|c||c|}
528%\hline
529%One & Two\\
530%\hline
531%Three & Four\\
532%\hline
533%\end{tabular}
534%\end{table}
535
536
537% Note that the IEEE does not put floats in the very first column
538% - or typically anywhere on the first page for that matter. Also,
539% in-text middle ("here") positioning is typically not used, but it
540% is allowed and encouraged for Computer Society conferences (but
541% not Computer Society journals). Most IEEE journals/conferences use
542% top floats exclusively.
543% Note that, LaTeX2e, unlike IEEE journals/conferences, places
544% footnotes above bottom floats. This can be corrected via the
545% \fnbelowfloat command of the stfloats package.
546
547%\begin{figure*}[!t]
548% \centering
549% \includegraphics[width=0.90\textwidth]{figures/ProcessModelExample}
550% \subfloat[]{figures/ApproachOverviewV2[width=2.5in]{box}}%
551% \caption{An example of a process modelled as a process model.}
552% \label{fig:procModeExample}
553%\end{figure*}
554
555\section{Related Work}
556In this section some related work from different areas is introduced. Firstly some more context is given regarding the concept of customer journeys, after which process mining is discussed. Following upon this some related stream data mining approaches are presented. Lastly the Recency, frequency and monetary value is introduced, which is later used for segregating the customer base.
557
558\subsection{Customer journeys}
559As described in \cite{CustJournLitReview}, the term customer journey is one which is quite widely used in scientific literature with yet no common understanding exists with regard to what a customer journey exactly entails. Descriptions used in the past include that a customer journey is the cumulation of repeated interactions between the service provider and customer~\cite{meroni2016design}, an "engaging story" based on the interactions of a customer with the service~\cite{stickdorn2011service}, or a "walk in the customer's shoes"~\cite{holmlid2008bringing}. What all of the descriptions have in common is that a high importance is placed on the experience of the customer. The approach proposed in this paper aims to use the logged events to recreate this experienced journey and use the distinguishing qualities which lie inside them to achieve high quality predictions and recommendations.
560
561%\todo{This one can get axed real smoothly if need be. If not, fix reference. Main use is to show a link between customer journeys and process mining}
562As was mentioned in the introduction a combination of research between the research fields of process mining and customer journeys has occurred in the past~\cite{bernard2017process}, where the goals was to extract customer journey mappings. These are a visualization of the customer journey, and in that research the events which were relevant to the customer journey scenario were retained such that a process model could be created upon them. This process model was in turn used both for further analysis tailored to process mining as well the creation of the customer journey mapping. The research in this paper also uses such a mapping towards a customer journey, while also taking care of two tasks in the proposed future research of this paper: finding techniques for clustering customer journeys and facilitating predictions on future behaviour in these journeys.
563
564\subsection{Process mining}
565%Process Mining Section: I do not love this explanation of process mining. For me, too much is assumed and/or undefined. For example, the underlying model is probably a Petri Net, though it could be a state space – nothing is defined. Similarly, the word “trace†is simply introduced without context. I am aware that some excellent papers on process mining have these same properties. And yet … I do not love this particular explanation.
566
567Process mining is a research area which combines the domain of process modelling and analysis with the domain of data mining and machine learning. The goal of this combination is to discover, monitor and improve processes based on knowledge from data which is stored in event logs regarding the process in question~\cite{van2011process}. Event logs show the occurrence of events at a designated point in time, where the event is an action logged by an information system such as the sale of a product. This event is then specified to have come from a specific process or instance, also known as case~\cite{van2007process}. One such instance or case then encompasses all events belonging to a single customer which can be identified based on an ID.
568
569% An instance or case relates to all of the events which belong to a single customer based on an ID by which they can be distinguished.
570
571To the approach described in this paper process mining mainly plays a role in helping to determine which information and activities should be included during the predictions and recommendations on the customer journeys. Ideally one is able to find an easy to understand model which shows the process from a high level, as exemplified in Figure ~\ref{fig:procmod3}. Here the overall process is short and intuitive, but there are also cases where the number of events per instance is very large while there are also connections between almost all of such events. In this case the model becomes entangled and as a result hard to interpret which can be counteracted by taking the most representative samples and segregating the customer base.
572
573% Here from the start event A has to be executed, after which either B or C gets chosen as the next action. In case C is chosen a linear path follows where E gets executed next and afterwards the endpoint is reached. If B is chosen then D is executed next, which can be done multiple times, and after executing D an arbitrary number of times event F is observed and after that the end.
574
575The notation for the customer journeys will be borrowed from the process mining domain, since as was shown by~\cite{bernard2017process}, a customer journey can be formed based on an event log. The examples on notation given here is based on~\ref{fig:procmod3}. Firstly, a single event in the customer journey called for example $Register$ has the following combination of information in it: $Register = (c,a,t)$. $c$ here stands for the case, which is a specific customer, $a$ is the action performed, registering, and $t$ the time at which the action was performed. A customer journey consists of multiple such events and is then denoted as $CJ = \langle Register, BuyTickets \rangle$, where $Register$ and $BuyTickets$ are events. The entire collection of journeys is here equivalent to an event log and is denoted as $Log = \langle Register, BuyTickets \rangle, \langle Register, BuyMerchandise, \\ \noindent ChangeInfo \rangle, \langle Register, BuyTickets, BuyTickets, \\ \noindent ChangeInfo \rangle$. Note that based on the presence of a loop there is no exhaustive $Log$ which covers all possible customer journeys and that this is an example of journeys which could be included in it.
576
577\subsection{Stream data mining}
578The environment described in this paper is one where the information is obtained by means of data streams, which can be characterized as continuous and typically non-constant~\cite{chaudhry2006stream}. There are two main issues which arise from such data streams. Firstly these streams produce massive, potentially infinite, amounts of data which can make it hard to use more time consuming operations on such data. Secondly the information in the data can change rapidly, which makes it important to facilitate an option for fast updates. This also does not suit the 'normal' data mining approaches either, as the multiple passes they require over the data are not possible in a streaming setting~\cite{han2011data}. OARA aims to cover these issues by taking a collection of 'base' information on which it builds while having parts which can be updated with new information.
579%\todo{determing how what we're doing does help combat this exactly...} \todo{Also long and can be killed if needed}
580
581Several solutions to these issues have been proposed in the stream data mining domain, one of which is called the OCuLaR algorithm~\cite{heckel2017scalable}. The aim of the creation of this algorithm was to generate recommendations which are easily interpretable by the customers based on data where there is implicit feedback, i.e. no information is supplied by the customers regarding their enjoyment on or motivations for choosing certain products. One thing to note about this approach is that it does not use any features, it only considers relationships based on the products customers bought, and as such does not explicitly use any context information during the recommendation. The approach proposed in this paper will on the other hand do this based on the hypothesis that there lies important knowledge in the context which can be used to amplify the predictive qualities.
582%It does this by creating tuples of information between the customers and products and then using these tuples to identify overlapping co-clusters. From these overlapping co-clusters new products can then be proposed to the users based on which products were bought by the other, similar, users in that co-cluster.
583
584\subsection{Recency Frequency Monetary Value}
585The Recency, Frequency and Monetary values, often shortened to RFM, is a KPI based on how well a customer performs in the recency, frequency and monetary dimensions which has been introduced in~\cite{bult1995optimal}. Recency here means the time interval which has passed between the previously observed interaction of the customer and the present, Frequency involves how often a customer has interacted with the organization, possibly within a specified time period, and Monetary value is based on the cumulated amount of money the customer has spent at the organization. The RFM values are used in the case study of this paper to segregate the customer base, which was inspired by earlier successes such as reported in~\cite{khajvand2011estimating} and~\cite{birant2011data}. More specifically, the usage of the K-Means++ algorithm~\cite{arthur2007k} in~\cite{birant2011data} to create the RFM groups is used. The notation for the groups here will be as follows: \textit{XYZ}, where \textit{X} signifies if the Recency was relatively high or low, and the same is signified by \textit{Y} with regard to the Frequency and \textit{Z} for the Monetary value. As such, for example one can have the \textit{HLH} group where an event was recently observed, relatively few events were observed in total and the monetary value of the steps taken by the customer is relatively high due to the few purchases which were observed involving more expensive products.
586
587%To facilitate segregation in the customer base for improved predictions quality, the customer base is split based on these RFM values. Splitting the userbase on these values has been utilized in combination with the usage of the K-Means++ algorithm~\cite{arthur2007k} in the past in~\cite{birant2011data} for this same purpose and has been adopted and adapted for the data in this case study.
588
589\begin{figure*}[!t]
590 \centering
591 \includegraphics[width=0.85\textwidth]{figures/ApproachOverviewV3}
592 %\subfloat[]{figures/ApproachOverviewV2[width=2.5in]{box}}%
593 \caption{A general overview of the components in the proposed approach.}
594 \label{fig:approachOverview}
595\end{figure*}
596
597\section{Problem description}
598Firstly the type of customer journey is described here to get a good feel for what kind of environments the approach explained in this paper is applicable. A distinction can be made between journeys which are considered to have clear start and end points~\cite{foster1991improving}, such as an appeal for tax returns which is either granted or rejected at the end, and those which can be considered open-ended~\cite{nichita2013knowledge}, such as the purchasing behaviour of a customer at a convenience store. The emphasis will lie on the latter type of customer journey in this paper, where one is never certain if the actor will remain engaged in the process or not. In this case there is no clear endpoint to a customer journey. To circumvent this a solution is borrowed from~\cite{hassani2015efficient} where a customer journey is considered finished if there has been a significant period of inactivity. This level of significance is here determined by a time period being longer than the 85th percentile of the periods of inactivity between events.
599
600Taking this limitation into account, the following main statistics apply to the data used during the case study: There are 35060 cases which contain a total of 141510 events made up out of 271 possible activities that lead to 9127 different variants. The environment is one where customers firstly buy a certain base product which allows for them to install upgrades and expansions in the future. These further purchases are entirely optional and solely conducted based on the interest the customer has in the product. A real life example which would fit such a scenario is the purchase of a laptop, where the customer can additionally buy items such a mouse, carrying bag, or a new battery afterwards.
601
602%\todo{Not entirely sold on this example, feel free to mention a different one}.
603
604In the scenario of this paper a relatively large number of the customer journeys end early, with 38\% buying only the bare necessity and finding out that the product doesn't fit them well enough. A consequence of this is that almost all of the 9127 variants are then contained in the remaining 62\% of the journeys, which makes them rather heterogeneous and this will lead to some difficulties in their predictions, as will be showcased in Section ~\ref{Eval}.
605
606Given these circumstances the aim is to strive towards the following two main goals:
607\begin{enumerate}
608 \item Maximize metrics during the predictions of each of the events in the customer journeys. These predictions are done regarding future events in the customer journeys based on what has been observed in the past in them.
609 \item Maximize a customizable KPI during the recommendations. This KPI can be any value which is integral to the success of an organization in a specific area, such as sales or customer interaction. Examples of KPIs are the average purchase value, monthly sales bookings, and the customer engagement index.
610\end{enumerate}
611
612Of particular interest to this paper is then determining how useful it can be to take into account the inherent order which is contained in the customer journeys while achieving these goals. The reason for this is that from an intuitive standpoint this additional information should be helpful for doing the correct predictions and recommendations. As such the main research question being answered by this paper is:
613%\todo{Not too happy on this part yet, feels kinda... short/weak.}
614
615\textit{What influence does taking into account the inherent order in which events occur inside customer journeys have on both predictions and recommendations?}
616%\todo{Kind of redundant given the previous paragraph where this is also stated, but I'm not sure if that's really an issue}
617
618To properly answer this question firstly the approach is explained in more detail in the next section.
619%To quantify this all periods of inactivity between events were measured and the 85th percentile was taken as the bar to elapse for it to be considered a long enough period of inactivity that the journey can be considered finished. The 85th percentile came out at 98 days, and the reason it was chosen was that the 75th percentile left the time period at less than a month due to there sometimes being events executed in rapid succession, which was on the low end, while the 95th percentile gave customers more than 8 months of leeway to work with, which was too large of a time frame given the regular customer behaviour.
620%\todo{Determine if long explanation needed here, can be cut out if needed. If place exists sure, but shouldnt be too needed.}
621
622\section{OARA Overview}
623Now that the goals and context of the paper are clear, a deeper look at the proposed approach is given. In Figure~\ref{fig:approachOverview} a general overview can be observed which covers the main components. The starting point is doing an optional exploratory data analysis to gain further insights into the dataset, for example by means of process mining or other visualization means. This only needs to be conducted in case the data scientist is not yet familiar with the data. Afterwards the baseline customer information is determined, which is the information on which future predictions and recommendations are based. As was mentioned in the previous section, at this step one should take care that customer journeys have an appropriate time to finish in scenarios where there is no clear-cut end point to the customer journey as likely the only real indicator of a finished customer journey in such a case is a prolonged period during which no events are monitored. Once the data to be used has been determined some preprocessing is needed for the baseline customer information to reach its maximal potential during the next two phases, the predictions and recommendations. The predictions are used during the recommendations in OARA and as such these activities cannot be conducted in parallel once the preprocessing has finished.
624
625%\todo{Determine what to with this stuff as it's kinda left unexplored...?}
626%Once the predictions and recommendations for the customers have been completed, new information on the behaviour of these customers can be collected, after which there is a choice between doing a smaller or larger update to parts of the system. In case the smaller update is used the new behaviour is compared to the predictions and recommendations and following this updates are conducted based on the observed performance to try and improve the predictions and recommendations which are given for the next batch of customers. If on the other hand the larger update is the appropriate course of action then a new baseline set of information is chosen on which all steps in the approach will need to be taken anew.
627
628%In this paper the aspects of the approach which are most innovative and given explicit attention are the preprocessing, prediction, recommendation and evaluation processes. These are showcased in the following subsections and section.
629
630%\begin{figure*}[!t]
631% \centering
632% \includegraphics[width=0.85\textwidth]{figures/ApproachV2}
633% %\subfloat[]{figures/ApproachOverviewV2[width=2.5in]{box}}%
634% \caption{A general overview of the components in the proposed approach.}
635% \label{fig:approachOverview}
636%\end{figure*}
637
638\subsection{Preprocessing}
639%\todo{Check how much space is available might have to just put these two alineas into 2 sentences}
640Preprocessing part firstly involves the segregation of the set of customer journeys into smaller segments. The goal of this segregation, which should be kept in mind while doing it, is to allocate either specific types of customers, which can be identified by domain knowledge, or customers which exhibit similar behaviour into their own groups such that overall there is less behaviour to be kept in mind during the predictions and recommendations for a single group. As was mentioned in the Preliminary Knowledge section, one way of segregating the customer used in this case study in this paper is based on the RFM values where customers who score similarly in each of the dimensions are grouped together.
641
642%\todo{While this is done it isn't really interesting :/}
643Secondly during the preprocessing the chosen KPI is calculated for each of the customer journeys to determine which have scored better on it. During this stage it is important the chosen KPI is one that is suitable to the domain in which the scenario is deployed. Since this is a domain specific task, the only concrete advice which can be given in this regard is that the chosen KPI should be properly quantifiable for each of the customer journeys.
644
645Another important aspect of the preprocessing of OARA is obtaining the customer journey mapping by creating a process model as mentioned in the introduction. There are many scientific tools available to do this, most notably ProM~\cite{van2005prom} and RapidMiner~\cite{hofmann2013rapidminer}, and the way in which this is done comes down to the preferences of the data scientist. The main important point here is to strike a good balance between interpretability and complexity. The model should not be overly simplistic to the point where important parts of the customer journey are left out, while also making sure that the included events are common enough that they can be learned and predicted properly by a machine learning algorithm. The optional exploratory data analysis can help a great deal here, as this will aid in finding a proper balance since there is no ideal guideline to follow here. Upon having collected the process model, only those journeys which fit into the process model should be used from the baseline customer information.
646
647Apart from these tasks the main interesting part of the preprocessing is the creation of representative customer journeys. The goal of these representative customer journeys is, as the name implies, to act as an artefact which represents most of the experiences encountered in the customer journeys between different customers. These are used during the recommendations, where they are used as a sanity check to make sure that the recommended action is both optimal and reasonable based on how well the observed actions match between the representative customer journey and the one which requires a recommendations. Two types of representative customer journeys are proposed in this paper, which are the subset-based representative customer journeys (SRCJ) and aggregated representative customer journeys (ARCJ) that are discussed in the following subsections.
648
649\subsubsection{Subset-based representative customer journey}
650The SRCJ should be used whenever a reasonably sized subset of all the distinct customer journeys is able to represent a satisfactory amount of the entire population. If this is possible, the most frequently observed customer journeys variants are then selected to be SRCJs. It may however be the case that the customer journeys differ wildly between the different customers, requiring the subset-based approach would either require a vast amount of SRCJs to be included or only a small margin of the customer base to be represented. In such a case, using SRCJs is a rather poor course of action.
651
652%What constitutes a reasonable number of variants depends on the concrete set of customer journeys, but based on preliminary tests allowing a maximum of 5\% of all variants which need to cover at least 50\% of the customer base seemed like a good starting point
653
654\subsubsection{Aggregated representative customer journey}
655The ARCJ acts as an alternative option to the SRCJs if large differences between the customer journeys are present. For the creation of the ARCJs all customer journeys are divided into groups based on how well they score according to the KPI which is to be maximized. Upon having determined the groups, averages are obtained with regard to how likely certain actions are in the customer journeys contained in this group, leading to a collection of averaged actions based on the aggregated information contained in the group. As the usage of ARCJs is generally less precise than the usage of SRCJs, it is discouraged to use it if SRCJs are also a valid option.
656
657As a final note here both the SRCJ and ARCJ can be updated based on new information smoothly to fit into a streaming setting. For the SRCJ one only needs to check if a different sequence has become more common than the current least common SRCJ, and at the ARCJ the averages can be changed based on a new journey which has a similar KPI value. If one desires this can also be configured to give preference to the newer customer journeys to make sure recent trends are taken into account during recommendations.
658
659\subsection{Predictions}
660Predictions are conducted with regard to the next event which occurs in the customer journey. Note that the predictions also include the option of predicting a customer journey to end. This is primarily interesting for journeys which do not have a set ending point, as in that case one predicts at which point the customer loses interest in continuing their journey. This is an avenue usually left unexplored for recommendation systems, where the main focus lies on monitoring the events actually logged by the system, which is a shame since knowledge of a customer losing interest can be useful by for example sending them a special offer to rekindle their interest.
661
662The predictions should be conducted using an algorithm that allows for multiple options to be returned with a certain likelihood, as very often there is a vast range of options in the available paths which lie inside the customer journey and in these cases only providing a single option can lead to poor predictive qualities. In such cases it is valuable to take a larger number of predictions into account which all have a relatively high potential of being useful to the customer.
663%\todo{Not essential can be left out if place needed}
664
665Now that the conditions under which the predictions are conducted have been made clear, the way in which OARA does predictions is delved into deeper. As the name indicates, the order in which the events have occurred inside the customer journey is taken into account here. This means that the past is not considered to be a bag of unordered events such as for example in the OCuLaR algorithm. This added structure improves distinguishability of the information used for predictions based on the assumption that customers who have followed the same trail in their customer journey have a high likelihood of taking similar actions in the future as well.
666
667%\todo{This next part might be a bit better at problem description or even introduction I think!}
668An example of how taking the order into account can help is given in Figure~\ref{fig:orderExample}. Here the order in which \textit{B} and \textit{D} are conducted has a high influence on what occurs after event \textit{E}. If for example $\langle B,D,E \rangle$ is observed then the next event is $F$ with a probability of 65\%, while observing $\langle D,B,E \rangle$ lowers this to only 10\%. Here the order clearly influences future choices, as without the order one would only observe that events $B,D$ and $E$ occurred and have a harder time determining if $F$ or $G$ will follow.
669
670\begin{figure}
671 \includegraphics[width=0.5\textwidth]{figures/OrderExample}
672 \caption{Example of order influencing event probability.}
673 \label{fig:orderExample}
674\end{figure}
675
676\begin{algorithm}[H]
677 \caption{ObtainPredictors}
678 \begin{algorithmic}[1]
679 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
680 \renewcommand{\algorithmicensure}{\textbf{Output:}}
681 \REQUIRE Training customer journeys $n$
682 \ENSURE Predictors $predictorsArray$
683 \\ \textit{Initialisation} :
684 \STATE Initialize $sequencesArray, featuresArray, \newline outcomesArray, predictorsArray$
685 \FOR {$i=0$ to $len(n)$}
686 \FOR{$j=0$ to $len(sequence(i))-1$}
687 \STATE $presequence = $ first $j$ events of $sequence(i)$
688 \IF {$presequence$ not in $sequencesArray$}
689 \STATE Add $presequence$ to $sequenesArray$
690 \ENDIF
691 \STATE Obtain $features(presequence)$ and add to $featuresArray$
692 \STATE Add $nextEvent(presequence)$ to $outcomesArray$
693 \ENDFOR
694 \ENDFOR
695 \FOR {$seq$ in $sequencesArray$}
696 \STATE Fit $predictor$ to $featuresArray(seq)$ and $outcomesArray(seq)$
697 \STATE Add $predictor$ to $predictorsArray$
698 \ENDFOR
699 \RETURN $predictorsArray$
700 \end{algorithmic}
701\label{alg:ObtainPreds}
702\end{algorithm}
703
704
705
706\begin{algorithm}[H]
707 \caption{OARA Prediction method}
708 \begin{algorithmic}[1]
709 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
710 \renewcommand{\algorithmicensure}{\textbf{Output:}}
711 \REQUIRE Predictors $P$, Customer journeys $n$
712 \ENSURE Predictions $predictionsArray$
713 \\ \textit{Initialisation} :
714 \STATE Initialize $sequencesArray, featuresArray, \newline predictionsArray$
715 \FOR {$i=0$ to $len(n)$}
716 \STATE Add $sequence(i)$ to $sequencesArray$
717 \STATE Obtain $features(i)$ and add to $featuresArray$
718 \ENDFOR
719 \FOR {$j=0$ to $len(sequencesArray)$}
720% \STATE $currentSequence$ = $sequencesArray[j]$
721 \STATE Obtain $prediction(j)$ based on predictor $P[sequencesArray[j]]$ using $featuresArray[j]$ and add $prediction(j)$ to $predictionsArray$
722 \ENDFOR
723 \RETURN $predictionsArray$
724 \end{algorithmic}
725\label{alg:DoPreds}
726\end{algorithm}
727
728\begin{algorithm}[H]
729 \caption{OARA Recommendation method}
730 \begin{algorithmic}[1]
731 \renewcommand{\algorithmicrequire}{\textbf{Input:}}
732 \renewcommand{\algorithmicensure}{\textbf{Output:}}
733 \REQUIRE Representative journeys $RCJ$, Predictions $P$, Prediction Sequences $PS$, Conditions $C$
734 \ENSURE Recommendations $recommendationsArray$
735 \\ \textit{Initialisation} :
736 \STATE Initialize $distanceArray, recommendationsArray$
737 \FOR {$i=0$ to $len(P)$}
738 \STATE Initialize $distancesArray$
739 \FOR {$j=0$ to $len(RCJ)$}
740 \STATE Obtain $distance(i)(j)$ between $PS(i)$ and $RCJ(j)$
741 \STATE Append $distance(i)(j)$ to $distancesArray$
742 \ENDFOR
743 \STATE Initialize $foundRecc = False$
744 \FOR {$k = len(RCJ)$ to $0$ }
745 \IF {$foundRecc == False$}
746 \STATE $currentDist = distancesArray(i)(k)$
747 \IF {$C$ based on $currentDist$ are met}
748 \STATE Get $recommendation$ based on $P(i)$ and $RJC(k)$ and add to $recommendationsArray$
749 \STATE $foundRecc = True$
750 \ENDIF
751 \ENDIF
752 \ENDFOR
753 \ENDFOR
754 \RETURN $recommendationsArray$
755 \end{algorithmic}
756 \label{alg:DoReccs}
757\end{algorithm}
758
759To properly do predictions for any sequence observed, OARA employs predictors for each of these sequences. As such, predictors need to be trained for all these sequences before proper predictions can be conducted for new customer journeys. This process is described in pseudocode in Algorithm~\ref{alg:ObtainPreds}. Here the sequence is the current path of a customer journey, e.g. $\langle A,B,C \rangle$. In that case there are two presequences to take into account, namely $\langle A \rangle$ and $\langle A,B \rangle$. For these presequences the features are then extracted based on the data available at those points of the journey, and the following event is stored as well. Once all customer journeys have been checked in this manner a predictor is trained on the features and outcomes of the sequences in the base customer data. Something to note here is that in cases where the journeys contain a large number of events which are heterogeneous that it can be useful to not take into the longer subsequences as there will be too little training information available for them to properly train the classifiers. Based on preliminary tests in these cases performance will increase if the subsequence is decreased in size.
760
761Once these predictors are obtained the predictions using OARA can be conducted on new samples, which is described in Algorithm~\ref{alg:DoPreds}. Here the current sequence of the new customer journeys is obtained as well as their features, and then the prediction is conducted based on the pre-learned predictor which was tailored towards that sequence to give a prediction optimized for the order of events observed.
762
763
764\begin{table}[b]
765 \begin{tabular}{|c|c|c|}
766 \hline
767 \textbf{Distance Tier} & \textbf{Distance\%} & \textbf{Conditions} \\ \hline
768 Best & 0-15 & \begin{tabular}[c]{@{}c@{}}Recommend 2 most likely events \\ based on representative journey\end{tabular} \\ \hline
769 Good & 16-50 & \begin{tabular}[c]{@{}c@{}}Recommend any of the top 2 predictions\\ that match the representative journey\end{tabular} \\ \hline
770 Decent & 51-85 & \begin{tabular}[c]{@{}c@{}}Recommend the top prediction if it\\ matches the representative journey\end{tabular} \\ \hline
771 Poor & 86-100 & Do not recommend based on this \\ \hline
772 \end{tabular}
773 \caption{Example of conditions on the recommendations}
774 \label{table:ConditionsExample}
775\end{table}
776
777\subsection{Recommendations}
778%In the literature recommendations have historically primarily been used as an implementation of the predictions in the sense that they aim to recommend items to the user which he is then likely to approach in later stages of the customer journey. In this paper a slightly different approach is proposed, in the sense that while the recommendations should indeed be likely to be of use to a customer, they should also be aimed at maximizing a KPI such that an organization to optimize towards a specific important aspect.
779
780As has been previously mentioned, the recommendations are here aimed at maximizing a previously chosen KPI. This does however not mean that only the most profitable action is recommended for all customer journeys, as it is also taken into account how likely a customer is to take the recommended action. This is where the previously created representative customer journeys come into play, as it provides insights into which customer journeys led to higher KPI values and it is possible to check how well a new customer journey aligns to the representative ones.
781
782% based on what has been observed in previous customer journeys.
783
784The general outline of how the recommendations using OARA are done is given in the pseudocode of Algorithm~\ref{alg:DoReccs}. The two most interesting points here are the $distance$ and conditions($C$) parameters. The $distance$ between the representative journey and the new customer journey is here measured based on how well the events in the new customer journey match up with the representative journey. One way of doing this is by first using one-hot-encoding for all types available at each of the observed events in the customer journey. After that the differences in value between the representative customer journey and the current customer journey can be calculated. It should however be noted that this can naturally be adapted to whatever preferred distance measure one might want to use.
785
786
787%The other important parameter was the conditions, which specifies the constraints put on basing the recommendation on a specific representative journey based on its distance to the journey which requires a recommendation.
788
789The other important parameter is the conditions, which specifies the constraints to which a recommendation needs to adhere. These are based on the relative distance of a customer journey to the representative journey. An example of such conditions can be found in Table \ref{table:ContextData}. Here there are 4 tiers, where the actual values of the percentiles can for example be based on the distances observed between the representative journeys and all journeys in the baseline customer information. This then creates a baseline for the distances on which new journeys can be judged. The exact conditions are tunable based on the context in which OARA is employed. In the example if a new journey falls into the 'Best' distance tier for a representative customer journey then the top 2 most likely events in the representative one are recommended. Going down the list, in the 'Good' distance tier if any of the top 2 predictions for the new journey match with what occurs in the representative journey then they are recommended, and in the next tier the same holds for the topmost prediction. In case the journey is not similar to the representative one at all then the recommendation will not be based on it since the chance that they will follow something which aligns so poorly with their behaviour is negligible.
790
791To give three final notes on this, firstly these conditions are tested in the order from the highest ranked customer journey to the lowest ranked one, to try and route the customer on a path that maximizes the KPI.
792Secondly, it is never recommended for a customer to stop their journey as removing contact with the customer is only of use to an organization based on very specific conditions.
793The third, and final thing to take into account is that in the unlikely event that none of the conditions can be met, that the most often observed action from the highest scoring representative journey is recommended to still give some sort of advice which can lead to an advancement of the KPI.
794
795Now that it is clear how the predictions and recommendations come to fruition, an assessment of their quality is provided in the experimental evaluation section.
796
797\section{Experimental Evaluation} \label{Eval}
798%The setting in which the approach was deployed is one where events from a specific part of a smart home system was being logged. The main dataset involves data which signifies the connection of a device to the smart home system. One row of information here includes the timestamp of the connection, the types of products being added, and the number of products of being added of each type.
799
800%
801%\begin{itemize}
802% \item \textbf{Connection:} These events indicate that a new product or item has been connected to the smart home system. Information which is involved in such an event includes for example the type and number of products which are connected at some point in time.
803% \item \textbf{Usage:} These events indicate that the user has interacted with one of the IOT devices which log information of the user. These events are aggregated to a daily level, and as such their evolution over time can be monitored.
804%\end{itemize}
805
806%These events were then used to create the customer journey of the users for which predictions and recommendations were conducted.
807
808%The customer journey here proceeds in what can be considered different 'upgrade stages', which occur in a sequential manner. In each stage a customer is able to purchase a multitude of products from varying types, and based on which purchases were made in a specific order in each of these stages the customer base can be segregated. An example of a process which fits this concept is the purchase of a laptop and matching accessories. The customer journey would here start with the purchase of a laptop, after which accessories such as a mouse, external keyboard and stickers can either be bought concurrently or separately over multiple purchases.
809
810%To facilitate further segregation, the customer base is split based on their Recency, Frequency and Monetary values. This approach has been utilized in combination with the usage of the K-Means++ algorithm~\cite{arthur2007k} in the past in~\cite{birant2011data} for this same purpose and has been adopted and adapted for the data in this case study. Once the customers have been split up, those who either fall into the group which scores well on Recency and poorly on Frequency and Monetary or which scores well on all three fronts are used. The former here signifies a customer who has only recently started their customer journey that bought a small number of products to test it out, while the latter includes customers who generally have been active over a longer period of time and which during that time have bought multiple upgrades, serving as a more experienced counterpart.
811
812As was previously mentioned, the customer journeys on which the evaluation was conducted involved firstly the purchase of a base product to which upgrades and expansions can be attached in the future. The customer journeys were as previously mentioned split on the RFM values, and here the \textit{HLL} and \textit{HHH} groups are considered. Process mining was used to extract customer journey maps for these groups, which helped filter out the very rare journeys which would be very hard to predict. The \textit{HLL} group covers the customers who only recently started their journey and still have to determine if they appreciate the product, while the \textit{HHH} group involves the 'best' customers who already have purchased a relatively large number of products and that still hold an interest based on continued recent purchases. Aside from this there are a number of events which exist in the customer journeys, and the ones used for predictions here are the 4th, 5th and 6th observed ones. Note that for the \textit{HLL} group only the 4th is considered as the others do not exist in this group since the customer would then fall in a higher RFM group. Furthermore the 3 first events all are part of the initial setup of the product of the customer, and are therefore not predicted. Finally in the results there is a trend where metric scores are higher during the prediction of the 4th event of group \textit{HLL} and the 6th of group \textit{HHH}, this is caused by there being less variation in these events.
813
814Outside of these initial segregations, OARA was configured here to use 10 ARCJs as there was too much variance for a reasonable number of SRCJs to properly represent the customer base. Furthermore based on preliminary tests the best performing algorithm to use as predictors for each sequence was the Support Vector Machine, which has been used for multi-label classification with success in the past~\cite{fung2005multicategory}. The conditions were the same as listed in Table~\ref{table:ConditionsExample}.
815
816The predictions and recommendations on these customer journeys have been conducted in a multitude of ways to facilitate an overview of how different approaches were able to tackle this dataset. The alternatives which are compared are OARA, gradient boosting trees~\cite{li2008mcrank} and OCuLaR~\cite{heckel2017scalable}. The reason gradient boosting trees were chosen to represent the traditional machine learning methods over any other well known machine learning algorithm is that preliminary results for this one were most promising. All scores have been obtained in a cross-validated manner while optimizing parameters for the methods based on the relevant metric.
817
818The main metric of comparison used here is the F1-score, which is normally built up from precision and recall but here mean average precision is used instead of normal precision. The reason for this is to prevent punishing additional predictions in case the correct prediction was already conducted, as average precision only updates when recall changes. To indicate the different F1-score it is called Mean Averaged F1(MAF1). The following formulas show exactly how it is built up:
819
820%$Recall = |correct predictions|/|\#items|$
821\begin{equation}
822Recall = \tfrac{\#Correct Predictions}{\#Items}
823\end{equation}
824\begin{equation}
825Precision = \tfrac{\#Correct Predictions}{\#Predictions}
826\end{equation}
827\begin{equation}
828AP = \sum_{i=1}^{n} Precision(i)\Delta Recall(i)
829\end{equation}
830\begin{equation}
831MAP = \sum_{i=1}^{n} AP(i) / n
832\end{equation}
833\begin{equation}
834MAF1 = 2* \tfrac{MAP*Recall}{MAP+Recall}
835\end{equation}
836%\noindent $Recall = \tfrac{\#Correct Predictions}{\#Items}$ \\
837%$Precision = \tfrac{\#Correct Predictions}{\#Predictions}$\\
838%$AP = \sum_{i=1}^{n} Precision(i)\Delta Recall(i)$ \\
839%$MAP = \sum_{i=1}^{n} AP(i) / n$ \\
840%$MAF1 = 2* \tfrac{MAP*Recall}{MAP+Recall}$ \\
841%\dfrac{\#Correct predictions}{\#Items}
842
843
844\begin{figure}
845 \includegraphics[width=0.5\textwidth]{figures/Span1F1NointeractionHLL4}
846 \caption{MAF1 scores for the 4th event in group \textit{HLL}.}
847 \label{fig:span1f1nointeractHLL4}
848\end{figure}
849\begin{figure}
850 \includegraphics[width=0.5\textwidth]{figures/Span1F1NointeractionHHH4}
851 \caption{MAF1 scores for the 4th event in group \textit{HHH}.}
852 \label{fig:span1f1nointeractHHH4}
853\end{figure}
854
855
856\subsection{Predicting the next event}
857Of main interest in the predictions is the prediction of the very next event in the customer journey. For this reason the MAF1 score has been obtained for the 5 top-most predictions for each of the 3 predictors, which can be found in Figures \ref{fig:span1f1nointeractHLL4} through \ref{fig:span1f1nointeractHHH6}.
858
859\subsubsection{HLL Event 4}
860Based on the MAF1 scores the predictions for this event are done mostly equally well for both OARA and Gradient-boosting, although OARA achieves a better initial prediction. As such, recall rises a bit faster using Gradient-Boosting, while OARA relies more on it's initial high precision. OCuLaR performs worse here mostly due to there being a relatively large number of people who stop their customer journey at this event, which is a bit troublesome for it to identify due to it missing the feature information which the other two competitors have access to.
861
862\subsubsection{HHH Event 4}
863Performance for all algorithms is quite bad for all 3 methods here, which is caused by there being a large number of options to choose from which are all relatively uncommon, and there is not sufficient information available at this point to distinguish between them all. This lack of information from features allows OCuLaR to outperform the other two methods here due to more effectively obtaining insights based on just the products bought if multiple predictions are allowed. OARA then, thanks to taking the order into account, still outperforms Gradient-Boosting, but is mostly slightly less effective.
864
865\subsubsection{HHH Event 5}
866Prediction quality and conditions here are about the same as during the previous event, although this time OARA is able to outperform the other two methods instead of OCuLaR. The additional event has led to enough information becoming available that the combination of the order and features has become well-suited to do the predictions.
867\begin{figure}[]
868 \includegraphics[width=0.477\textwidth]{figures/Span1F1NointeractionHHH5}
869 \caption{MAF1 scores for the 5th event in group \textit{HHH}.}
870 \label{fig:span1f1nointeractHHH5}
871\end{figure}
872\begin{figure}[]
873 \includegraphics[width=0.505\textwidth]{figures/Span1F1NointeractionHHH6}
874 \caption{MAF1 scores for the 6th event in group \textit{HHH}.}
875 \label{fig:span1f1nointeractHHH6}
876\end{figure}
877
878\subsubsection{HHH Event 6}
879Similar to the prediction of Event 4 in the \textit{HLL} group, OARA and Gradient-Boosting here perform much better than OCuLaR, once more due to an increase in people stopping their customer journey. Contrary to the predictions then however gradient boosting here performs slightly better than OARA, showing that there are also cases where taking the order into account will not help during predictions.
880
881
882%These are OARA, machine learning practices with and without interaction information, and lastly the OCuLaR algorithm~\cite{heckel2017scalable}. Note that the techniques here are not meant to be exhaustive, but merely act as a representation of alternatives.
883
884%\section{Updates?}
885%Not sure if this is needed, just keep it in mind. --> VEEEERY LIKELY NOT.
886
887%\begin{figure*}[!t]
888%\centering
889%\subfloat[Case I]{\includegraphics[width=2.5in]{box}%
890%\label{fig_first_case}}
891%\hfil
892%\subfloat[Case II]{\includegraphics[width=2.5in]{box}%
893%\label{fig_second_case}}
894%\caption{Simulation results for the network.}
895%\label{fig_sim}
896%\end{figure*}
897
898
899\begin{table*}[t]
900 % increase table row spacing, adjust to taste
901 \renewcommand{\arraystretch}{1.1}
902 %% if using array.sty, it might be a good idea to tweak the value of
903 % \extrarowheight as needed to properly center the text within the cells
904 \caption{Comparing MAF1 scores based on the presence of context data}
905 \label{table:ContextData}
906 \centering
907 % Some packages, such as MDW tools, offer better commands for making tables
908 % than the plain LaTeX2e tabular which is used here.
909 \begin{tabular}{ccccccccc}
910 & \textbf{HLL-4@1} & \textbf{HLL-4@5} & \textbf{HHH-4@1} & \textbf{HHH-4@5} & \textbf{HHH-5@1} & \textbf{HHH-5@5} & \textbf{HHH-6@1} & \textbf{HHH-6@5} \\
911 \textbf{No context data} & 0.642 & 0.741 & 0.161 & 0.360 & 0.223 & 0.447 & 0.388 & 0.582 \\
912 \textbf{With context data} & 0.652 & 0.783 & 0.146 & 0.415 & 0.291 & 0.479 & 0.382 & 0.583
913 \end{tabular}
914\end{table*}
915
916\subsection{Using a span}
917A \textit{span} here refers to a timespan during which we allow for a prediction to be valid. To clarify, if \textit{span} = 3 then if the predicted action shows up either in the next event, the event after that, or the event following that then the prediction is considered to be correct. This can be useful for when one is relatively sure that a group of actions will be conducted in the near future, but the order is not set in stone. An example of this is a user of an online music service who has already bought 3 albums of a single artist, where one can be relatively certain they will buy another album of that artist but not which one. The usage of a \textit{span} for sequences of events is not unprecedented and has been used with success in the past in~\cite{hassani2017bfspminer}.
918
919The effect of using the \textit{span} for the predictors here is exemplified in Figure \ref{fig:span3f1nointeractHHH4}, where the effect was most noticeable. A \textit{span} of 3 was used here and when compared to the MAF1 scores obtained in Figure \ref{fig:span1f1nointeractHHH4} the MAF1 scores here are higher due to the relaxed prediction conditions, as is to be expected. However, not all predictors profit equally from this and it allows for OARA to now outperform OCuLaR while with a \textit{span} of 1 this is reversed. As such it has been shown that given a scenario where one does not need to predict something in the immediate future using OARA can help improve the quality of the predictions.
920
921\begin{figure}
922 \includegraphics[width=0.5\textwidth]{figures/Span3F1NointeractionHHH4}
923 \caption{MAF1 scores for the 4th event in group \textit{HHH} upon adding additional context.}
924 \label{fig:span3f1nointeractHHH4}
925\end{figure}
926
927
928\subsection{Including additional context information}
929From an intuitive standpoint, it makes sense that to further increase the predictive qualities of the dataset it is helpful to include additional information. This enriches the customer journey by giving additional context to the observed events, much like taking the order into account did. To test this hypothesis, one such dataset has also been obtained and deployed in the use case here. The comparison of the results with and without the added dataset can be found in Table ~\ref{table:ContextData}.
930
931In this table the $MAF1$ score is given for the predictions of the events when allowing for 1 or 5 predictions without using a larger span. Based on the $MAF1$-scores the main improvements are found at the prediction of event 5 of the \textit{HHH} group, while when allowing for multiple predictions the $MAF1$-scores of the predictions for the 4th event in both groups also seems to rise. The only time when there is little effect is during the prediction of the 6th event in the \textit{HHH} group, so it seems that the context data used here is mainly of use during the earlier stages of the customer journey. Additional context information from a different source may however prove useful to also improve on these later predictions. In general however this has shown that providing additional context information can indeed provide an increase in metrics when using OARA.
932
933% Additional information was found to be useful both in cases where it can be used for features as well as in the form of extra events inside the customer journeys allowing them to be distinguished from one another with increased ease.
934
935%\newpage
936\subsection{Recommendations evaluation on KPIs}
937The evaluation of the recommendations needs to be done in a novel way, as the evaluation of recommender systems is traditionally based on measures related to the precision of the recommendations and not the maximization of a KPI. As such, the following metric is introduced:
938
939\begin{equation}
940TotalKPI = \sum_{i=1}^{n}: KPI(recc(i))
941\end{equation}
942%$TotalKPI = \sum_{i=1}^{n}: KPI(recc(i))$
943
944\noindent Here $n$ is the number of customers which have been recommended a next step in the journey, and the KPI is then calculated based on a specific recommender system. Note that this operates under the restriction that a KPI should be used which can be calculated at any point in the customer journey. If this is adhered to then \textit{TotalKPI} allows for an estimation of the recommendation's effect on this KPI under the assumption that the customers always follow the recommendation. It should be noted that this assumption is different from what one can expect to see in real life, and is mostly in place due to the lack of any prior research on how often recommendations are followed up on by customers. In case one wishes to be more realistic then one can for example assume that only half of the recommended events are followed by the customers, while taking the KPI from the ground truth in the remaining cases.
945
946%In the remaining cases it is then most reasonable to assume that the KPI which resulted from the ground truth is the representative.
947
948$TotalKPI$ was calculated for OARA under the positive assumption that all recommendations are followed, OCuLaR and the ground truth to see if there is any positive effect. Note that the KPI used here was the Customer Lifetime Value(CLV), a KPI which aims to capture how valuable the customer is to an organization. Based on the specification in~\cite{singh2013measuring} the CLV is here non-contractual and dynamic. Furthermore it is viewed here from a monetary perspective, and as such the KPI is based on the revenue obtainable per step in the customer journey.
949
950\begin{figure}[t]
951 \includegraphics[width=0.5\textwidth]{figures/KPIComparison}
952 \caption{Comparison of the CLV values on recommendations.}
953 \label{fig:kpicomparison}
954\end{figure}
955
956In Figure \ref{fig:kpicomparison} the CLV values have been calculated for 4 recommendations, where the first two recommendations involving the \textit{HHH} group have higher CLV values for all 3 recommendations methods due to there being more samples to observe for these events. For each of the 4 recommendations OARA is outperforming the alternatives here due to them not taking KPI optimization explicitly into account. There are also times when customers strictly following the OCuLaR recommendation would have a lower the CLV value, although one should take into account that if the OCuLaR recommendation fit their tastes very well that this could also affect their future purchasing behaviour. The same can however be said for OARA, which aims to increase the KPI a bit more directly and is therefore in most cases a more certain way to improve KPI scores. As a final note if one were to be a bit more pessimistic and assume that only a subset of all recommendations by OARA are actually used, then the relative advantage of OARA would decrease a bit but it would always remain a useful option, as while the sum of CLV values may decrease it is unlikely to sink below the ground truth.
957
958\section{Conclusion and Future Work}
959The approach proposed in this paper allows for the predictions and recommendations on datasets which fit the concept of a customer journey, showcasing that one can go beyond merely visualizing the journey in a process model by utilizing the model for these tasks. Further scientific contributions which have followed from this research are an investigation of the positive effects of taking into account the order of events if they exist in a sequential manner. These are observable during the predictions both in situations where they need to be accurate in the immediate and slightly more remote future based on the selected \textit{span}. It was also been shown that OARA can be further enriched by effective use of an additional source of information. This increase in context during the predictions can then help increase the quality of both of this task in a similar manner. These predictions are then used in combination with the representative customer journeys during the recommendations to find a recommendation that both increases the KPI and is well suited based on the actions previously observed in the customer journey.
960
961% It does so by keeping in mind the sequential nature of the actions which lie inside these journeys, and uses this to it's advantage to improve quality measures. Furthermore the approach is context independent, and can be optimized and tuned to the domain in which it is to be deployed.
962
963With regard to future work, it is likely to be valuable for researchers to look further into proper evaluation metrics in settings where recommendations are aimed at improving a general KPI. The main shortcoming currently lies in the assumption that the customers will follow recommendations blindly, which was put into place due to there being no prior research on how often customers actually follow the given recommendation. As such a case study of the effectiveness of recommendation could provide a lot of value to the assessment of recommender systems.
964Furthermore OARA has currently only been employed in a single scenario and as such deploying it in a different environment will likely lead to further insights on optimizations and generalizations in areas which were not significant in the scenario of this paper. It is preferable that this scenario includes structures where events can be conducted in parallel, and which are then required after which a specific event follows. In theory OARA should be able to handle such a sequence of events perfectly given the awareness of past behaviour in the customer journey, yet sadly no such patterns existed in the data of the current case study to verify this claim.
965
966% not aimed at optimizing measures traditionally associated with predictions such as precision and recall, but rather at optimizing for a wider arrange of measures which might also be of interest in a particular scenario
967%\todo{Possibly put this on a new page}
968
969% conference papers do not normally have an appendix
970
971
972% use section* for acknowledgment
973%\section*{Acknowledgment}
974%The authors would like to thank...
975
976
977
978
979
980% trigger a \newpage just before the given reference
981% number - used to balance the columns on the last page
982% adjust value as needed - may need to be readjusted if
983% the document is modified later
984%\IEEEtriggeratref{8}
985% The "triggered" command can be changed if desired:
986%\IEEEtriggercmd{\enlargethispage{-5in}}
987
988% references section
989
990% can use a bibliography generated by BibTeX as a .bbl file
991% BibTeX documentation can be easily obtained at:
992% http://mirror.ctan.org/biblio/bibtex/contrib/doc/
993% The IEEEtran BibTeX style support page is at:
994% http://www.michaelshell.org/tex/ieeetran/bibtex/
995%\bibliographystyle{IEEEtran}
996% argument is your BibTeX string definitions and bibliography database(s)
997%\bibliography{IEEEabrv,../bib/paper}
998%
999% <OR> manually copy in the resultant .bbl file
1000% set second argument of \begin to the number of references
1001% (used to reserve space for the reference number labels box)
1002%\begin{thebibliography}{1}
1003
1004\bibliographystyle{unsrt}
1005\bibliography{references}
1006
1007%\end{thebibliography}
1008
1009
1010% that's all folks
1011\end{document}