How To Improve Your OmniChannel Strategy with Proper Analytical Tools (Using ML/AI and Markov Chains to Improve Customer’s Journey)

During the last few years “omnichannel strategy” has transformed from a trendy new word to a common, widely known term. Since 2010, marketers all over the world have been trying to adjust their marketing strategies to the habits of the new and most important social group – millennials, and the fact that the new generation does typical things in a different way.


In response to this transformation, many new technologies have developed:

  • New solutions which create a link between customers in the offline world and their profiles in the online world.
  • New types of loyalty programs which focus on millennials and their unique user scenarios.
  • New communication channels.
  • etc.

For some reason, though, one thing wasn’t covered well. Marketers are still using  the same tools to analyze sales funnels which they used before, in a non-omnichannel world. The key problem now is that new challenges require new approaches.

One of the most well-known analytical tools is a conversion funnel, which was invented and widely used during the dot-com boom. There are a lot of reasons for this: it’s easy to understand, it has a good graphical representation, and it’s easy to make decisions based on this kind of analytics.

The only problem is that it doesn’t accurately represent the real world and customers journeys anymore.


We all know that in an omnichannel world customers may change the way they communicate with your brand: it could be your website, it could be your groups in social networks, it could be your mobile app, it could any of your types of ads.


Each customer may take their own specific path from their very first contact with your brand to their first purchase, and after that to the next one, and the next one.

One of the most important things is that if you try to simplify this journey to a conversion funnel you will lose information and as a marketer your decisions could be wrong. Here’s a real example from one of our clients:

Let’s say you are a marketer for a food delivery chain. You have been researching and found that clicks on your facebook ads have a 3.5% conversion rate (CR) to installing your mobile app, and 65% CR from an installation of the mobile app to the first order.

You also found that with a different type of Facebook ads you have 3.2% CR from click to first purchase on your website.

And after the first order, all clients seem to behave the same.

And, as usual, the most important channel is Email Marketing which provides 50% of your total revenue.

So, in regards to the conversion funnel we have 2 different paths:

1: Facebook ad Click -> (3.5%) -> Mobile App Installation -> (65%) -> First Order On Mobile -> 2.2% CR

2: Facebook ad Click -> (100%) -> WebSite Visit-> (3.2%) -> First Order On Site = 3.2% CR

So based on this information, the most popular decision which we found in our experience, was to relocate the budget from the 1st type of ads to the 2nd one. It looks very logical because the CR of the second channel is 1.45 times more than CR from the first channel.

The interesting thing which we found in the case of this client is that 31% of customers who installed an app would later make an order from an Email campaign.

That means that the total CR for the first channel is 3.5%*65% + 3.5%*31% = 3.36%, while the CR of the second one is still 3.2%.

So, when you reallocate money from the first channel you don’t actually increase your total CR for this channel, you decrease it.

What is the right tool to use

This example was the point when we started to looking for a new kind of visualization and for a new kind of analytical tool which we can use to understand the real funnels.

We tried tons of different approaches and finally found the most useful tool. We use it with almost all of our clients. The solution is based on Markov Chains.

How it works

We define all customer states, all traffic sources, and all final goals in a directed graph. A simple example looks like this. Each vertex is a current user state. Each edge shows a possible next step for that customer. A number above each edge shows the probability of choosing this scenario by a customer among all probable scenarios for this vertice.

It’s pretty close to Google Analytics Visitors Flow, but it has a few important differences:

  1. Based on the information which we collect we estimate the probability, not the total number of clicks/visits/etc.
  2. We analyze not only website/mobile traffic but in store actions as well. More than that, we also use states which are specific to the current client (e.g. “placed an order, waiting for the delivery”).
  3. One of the most interesting thing here is that it contains a lot of loops. Loops are exactly what marketers are most interested. Because loops show you how your customers communicate with your brand and your interfaces not only during the very first contact but also after that.
  4. Another great thing about Markov Chains’ implementation is that you can find the most important parts of the whole process, and then scale it (meaning you can add some sub states).
  5. Based on the visualization, as a marketer, you can improve the customer journey by improving the interface, offers, or anything else to change the split between different probabilities for the specific state-vertex.
  6. Finally, Markov Chains is not only a visualization tool. It’s also a mathematical tool which has many useful  applications.


Another example

Here’s an another real example from the same client.


As you can see we found a way that we could change the interface and logic of the mobile app to increase the number of subscribers. We lost some clients who made a purchase right after installation, but the total ROI increased because of the Email Marketing channel.

Applying AI and Machine Learning Algorithms

The most common problem which we see when we do the initial analysis is that for some reason we lost some data. Let’s say a client has a website and a mobile app. In both, the customer could make an order without registering. The problem is that sometimes we can’t make a link between these two devices.

Because of that, we see a huge error in statistics. To improve that we use a segmentation algorithm which gives us a probability distribution. So even if we don’t have enough information about the previous journey for the each client, we can still automatically estimate his current state, and based on that start the proper logic.

What’s next

We found that this tool is not only useful to improve communications, offers, and customer journey across channels, but It also provides a great way to systematize a daily job.

We also started to use the same approach with a few other processes. Because we collect billions of pieces of information about clients, we are using AI and Markov Chains in these tasks as well:

  • Determining the current state of a client in terms of RFM analysis
  • Improving loyalty program mechanics and scenarios based on Markov Chain process where each state is related to next action.
  • Etc.

And if you want to know how it could improve your results, please fill the contact form on our web-site –

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s