Alexei ChernobrovovConsultant on Analytics and Data Monetization

Expert Approach and Machine Learning for CJM Development

To visually show the consumer’s interaction with the product and develop a strategy for improving it, marketers use the Customer Journey Map (CJM), a directional graph whose vertices indicate current contact with the client, and the edges indicate the probabilities of moving to the next one (Fig. 1)

Схематичное изображение CJM
Fig. 1. Schematic representation of COM


If you direct the client along the branch of the graph that brings the highest conversion, you can significantly increase profits or achieve another target business metric, for example, reduce outflow, increase the average check, etc.

There are 3 approaches for building CJM:

  • the expert method is a manual development of a ma in the form of a simple Excel table, without using special techniques and tools, as described in this article using as an example. This method allows you to get results quickly and easily, but it is impossible to scale and difficult to automate.
  • reduction to the task of text analysis - automated analysis of user log files, encoding each client action with a letter from a previously developed alphabet, clustering words and further classification of consumer segments, as I told in a case about the Bank. This independent of expert opinion method is well suited where the client’s goals are known exactly and you can track the entire trajectory of his movement on the site or mobile application. However, the results strongly depend on the selected alphabet, the development of which takes a lot of time and effort.
  • Use of machine learning (Machine Learning, ML) together with expert knowledge. How to do this in practice, as well as what are the main advantages and disadvantages of this approach, is discussed in this article.

Formulation of the problem

The forecasting taks of the product that interests user, and the prompt generation of a personal marketing offer are relevant for each monobrand business with a wide, but the same type of product line. For example, a mobile phone manufacturer or car dealer. Predicting the preferences of the client, you can offer him the product that best meets his expectations. This will significantly increase the private likelihood of buying and overall loyalty to the brand or seller. However, the problem is that when there are many products with similar characteristics, it is not known exactly what the potential buyer wants, i.e. what are the main motives for his choice. For example, what product qualities are key for the client: image (brand, design), reliability, environmental friendliness, safety, functional or price characteristics.

Once the main motive of choice for each consumer segment is determined, you can develop an accurate marketing strategy for it and implement it using targeted advertising, thus reducing the number of impressions, but increasing the conversion rate of sales. Within the framework of this approach, the task of building CJM (Fig. 2.) is reduced to segmentation of the target audience based on client preferences, which are unknown in advance and are not explicitly regulated in any way.

Пример CJM с учетом цикла готовности потребителя к покупке

Fig. 2. An example of CJM taking into account the cycle of consumer’s willingness to buy 


Implementation Feautures

To identify various motives for consumer behavior, you should first determine the typical categories of customers. To do this, it is easiest and fastest to turn to experts, i.e. inquire from the business which customer groups it identifies based on its experience. At the same time, you should collect data on user behavior on the site: sections of web pages with the longest browsing time, clickability of links, buttons and other elements of the graphical interface (UI / UX - user interface / user expirience). This information can be obtained using a webvisor - a technology that records visitor’s actions in online video mode [1] through the Yandex.Metrica analytics system or similar services.

The data on consumer behavior thus obtained must be correlated with the segments highlighted by the expert. For example, if a site visitor takes a long time to study the characteristics of a product, then, most likely, the main motive for choosing this client is the functional qualities of the product, and not brand loyalty. For this user, it’s advisable to show a video clip that shows the beauty and technicality of the implementation of product characteristics in the brand’s products in order to emphasize the superiority of this brand relative to others. This will help to create brand loyalty in a person. If the client views the entire lineup without concentrating on the description of the product properties, brand loyalty can be considered the key motive for choosing and launching another advertising campaign for such a consumer.

In order to understand which consumer group the user who visited the site belongs to, it is necessary, first of all, to cluster UI / UX elements [2], the nature of the interaction with which determines the consumer segment. Thus, the segmentation of site visitors is reduced to a typical classification problem, successfully solved by machine learning algorithms [3].

After the client’s affiliation to a certain segment is determined, a personal pop-up window is automatically formed for him with an advertisement for the product or brand from an important point of view for the consumer. By analyzing the customer’s reaction to such pop-ups, you can further adjust the marketing strategy, adjusting the advertising offers to the consumer’s expectations, taking into account his willingness to buy. So, on the basis of expert experience, a partially labeled sample and ML-algorithms, we get an interactive CJM, which automatically scales and can be used if new products are added or exit to other regions.

One-class classification task 

Since user behavior in various segments is different from each other, we assume that classes do not intersect and are isolated from each other. To simplify the problem, we reduce it to a single-class classification, when it is necessary to establish the belonging of objects to a single selected group. For example, to identify whether a new user who has come to a site is loyal to the brand. The most popular method for solving problems of one-class classification is the support vector machine (SVM, support vector machine) [3].

As the basis of the ML-algorithm, we will use one-class SVM with non-linear kernel [4], which is excellent for classification and clustering tasks

The essence of the usual SVM algorithm is to find the points that are located closest to the optimal line (optimal hyperplane). These points are called support vectors. The algorithm calculates the gap — the distance between the support vectors and the separating hyperplane. The best hyperplane is considered one for which this gap is as large as possible (Fig. 3) [5].

Графическая интерпретация метода опорных векторов: а – набор гиперпрямых, разделяющих объекты 2-х классов; б – оптимальная разделяющая гиперпрямая с максимальным зазором от опорных векторов – наблюдений, лежащих на границе максимизации

Fig. 3. Graphical interpretation of the support vector method:

a - a set of hyperdirects separating objects of 2 classes; b - the optimal dividing hyperline with the maximum gap from the support vectors - observations lying on the maximization boundary


The problem of one-class classification is solved in a similar way using support vectors and a separating hyperplane (hyper-direct).

The data prepared for ML-modeling (cleared and normalized) from the web-viewer is fed to the input of the algorithm, and at the output we get an estimate whether the object with these attribute values ​​belongs to the class under study or not.

After training the algorithm on a partially labeled sample, taking into account the expert comments, the model is tested and put into commercial operation, as described in the next paragraph of this article.

Example of implementation

This approach was used for the Russian site of popular imported cars in order to predict a model of a car that would interest the visitor so that he would like to purchase it. The success of the approach was assessed by direct business metrics: the percentage of failure on advertising and the level of sales.

First, the expert divided users into the following categories (Fig. 4):

  • low price range - those who choose a car at a price without taking into account the brand;
  • the average price range in which the key to choosing a car is a set of certain characteristics, rather than brand loyalty;
  • the average price range of brand-loyal customers who choose a car from the product line of their favorite brand;
  • customers in the search for a brand, which are first identified with the brand of the desired car, and then look for a specific model.
Выделенные экспертом исходные категории пользователей и вероятности их изменения
Fig. 4. Initial user categories highlighted by the expert and the probability of their change

The task was to focus on visitors who are looking for a brand in order to show them the appropriate advertising about the advantages of this brand's cars relative to competitors' products. To determine whether a site visitor belongs to this segment using ML, we first formed clusters of UI / UX elements. Further, with the help of an expert, the obtained sample was partially marked (Fig. 5): for example, visitors who pay more attention to that part of the screen where the characteristics of the car are presented, select the cars according to their characteristics and do not belong to the target group. Similarly, if the user immediately views only a specific model, not paying attention to the rest of the product line. The remaining 2 segments are associated with the brand, and among them there are website visitors who simply watch cars, but are not interested in buying. In most cases, they did not look at the middle and lower parts of the screen, concentrating their attention on the slider with photos of cars. Having discarded visitors with this behavior, we got the desired segment - people in search of a brand who want to figure out which brand is better. A special targeted campaign was launched for them in advertising networks, which talked about the advantages of our cars compared to competitors.

Частично размеченная выборка потребительских сегментов: синим цветом отмечены пользователи, которые выбирают машину, красным – те, кто выбирает характеристики

Fig. 5. Partially labeled sample of consumer segments: users who choose a car are marked in blue, those who select characteristics are marked in red


As a result of the 3-month project, the percentage of failures for advertising decreased by 3 times, and sales increased by 12%. Having estimated the potential of all possible points of contact with the user, the company effectively allocated financial and managerial resources and increased the effectiveness of marketing channels.



Building CJM on the basis of expert knowledge and ML-models is excellent for developing narrow-profile advertising campaigns aimed at a specialized audience. This comprehensive approach allows you to get results with high quality and resistant to changes. In particular, if a new product model appears or prices change, the ML model will be rebuilt automatically. However, the method is quite laborious to use and difficult to apply to large CJMs. For example, if you need to solve the problem of multiclass classification, the complexity and development time will increase significantly. Nevertheless, this approach once again proves that the coordinated work of domain experts and Data Science specialists with business give excellent results with the correct setting of goals and applied tasks.



  1. WebVisor
  2. Cluster analysis
  3. Statistical Classification
  4. One-class classification scikit-learn
  5. Machine Learning Algorithm Overview: Reference Vector Method (SVM)