Data: Finding the Customer Rhythm
An Optimove professional workshop about how to recognize trends in your customers' behavior
– [Roni] Thank you very much for joining our session today. I hope you’re enjoying the sessions up until this point. In today’s session we’re going to talk about the customer rhythm. I’m Roni. I’m a data scientist team leader here in Optimove. And this is Elon, one of our senior data scientists. So, each single one of our customers has a unique beat when interacting with our product. This is what we define as the customer rhythm. Now, in today’s session, we’re going to review different techniques for you to recognize these trends within your customer behavior and see how you can leverage that into a more personalized way when engaging with your customers. But before we dig into that, let’s first discuss why is this important. Why do we even recognize the fact that each one of our customers has a different rhythm and a different type of behavior?
So, in today’s world, our customers are constantly exposed to different messages from different brands, different products all the time. What we try to do is find a way to break away through all that noise and leave our customers with a message that they will actually act upon. Now in order to do that for each individual customer, we need to find the most appropriate time to send a message to that customer and have that message be the most relevant one for that customer at that time. Now, notice that I’ve mentioned three different parameters over here. We have the customer, the time and the message. In order for us to interact and engage with our customer in a way that will be the most effective, we need to find the perfect combination of these three parameters. And since we have such a large variety of customers within our database, this is not such an easy task. And what we hope to achieve in today’s session is show you simple yet robust ways to find that perfect combination and have a more personalized way to engage with each single one of your customers. We’re going to review three different applications today of the customer rhythm.
First, we’ll discuss an individual churn criteria called the churn factor, then we’ll talk about segmenting our customers into different customer tier groups using an RFM segmentation, and finally we’ll talk about product replenishment. At this point, we’re going to kind of jump one step deeper and understand that each one of our customers doesn’t necessarily have one rhythm but might have different beats when interacting with different products of our brand. But before we dig into the applications themselves, I want to first start off with defining the customer rhythm in a more mathematical way which we call the customer frequency. Customer frequency for each customer represents how much time passes on average between two consecutive activities of that customer. It is calculated by dividing the days between first and last activity by the number of activity days minus 1.
Now, calculating each customer’s frequency is a great way to start, but let’s talk about a few advanced tips. First one being minimal number of activities required. So when we’re going to segment each one of our customers based on a certain frequency, we’re going to label him based on that frequency. We want to make sure that we’ve seen enough interactions with that customer to be able to be confident with the way that we define that specific customer. For example, if have one customer that only had two activities, his frequency will be the time between the first and second activity. In some cases, this isn’t going to be enough engagement to have with our customer to be able to confidently say that’s the customer’s frequency and that’s how I should treat him. Second is the low variance of the time gaps. Over here we talk about the fact that you might want to exclude any extreme outliers within our customer behavior as it might skew the customer frequency to be a bit too high or a bit too low and won’t necessarily be representative of that customer’s actual behavior.
And finally, we want to define the measurement period. So, our customers’ behavior can constantly change. It can either change naturally or you might push them to change their behavior on a certain way. And when we’re going to engage with our customers, we want to make sure that that’s going to be based on their most up to date and most relevant behavior. So, in that case, sometimes when we calculate the customer frequency, we might want to look only a certain period back rather than look at that customer’s lifetime activities. All right. So, let’s start up with our first application, the churn factor. So, in today’s world, we all want to be able to predict churn in the best possible way as predicting churn helps us, one, save players before it’s a bit too late, and two, helps us understand which players do we need to entice rather than target our full customer pool. Now there are many different methodologies to calculate and predict churn, but in a lot of them, we do have to pay some price of generalization. The churn factor comes to address this exact problem.
So basically, a churn factor uses the customer’s own personal frequency in understanding which each individual customer, when does he reach his churn phase rather than have a threshold to our full customer database. The churn factor represents how many times did we expect to see a customer make a visit and he missed that activity. It’s calculated by dividing the day since the last activity by that customer’s personal frequency. And let’s look at one numerical example. We have this customer over here, he made his first activity on a certain date. Seven days after that, he made a second activity. 14 days after his second activity, he made his third activity, and 6 days after that, he made his fourth and final activity. Today, it’s been 30 days since that customer’s last activity. His frequency is 27 divided by 3 which equals 9, meaning that on average, we expect to see this customer come and make an activity once every 9 days. His churn factor is 30 which is the day since his last activity divided by 9 which is his frequency, 30 divided by 9 equals 3.3, meaning that this customer, we’ve expected to see him engage with us around 3.3 times within the past 30 days. This is definitely a customer we might be a bit worried about.
Now, I want to review this example that I think will illustrate in a really nice way how to use the churn factor when deciding which customers are in risk of churn and which customers are following their normal behavior. So, we have customer A and customer B that are both the same in the fact that it’s been two weeks since their last activity. However, customer A has a monthly frequency and customer B has a weekly frequency. Customer A’s churn factor is 14 divided by 30 which equals half, meaning that we expect to see this customer come and make an activity in around two weeks. This is a customer we should not be worried about. He’s now behaving normally to what we would expect, and we should see him interact with us pretty soon. On the other hand, we have customer B. His churn factor is 14 divided by 7 which equals 2. So, this customer has missed two of his expected activities. This is some sort of risk of churn customer. So even though this is a fairly simple example, I think it illustrates in a really nice way how using the customer’s personal rhythm in understanding when each customer is in a risk of churn, is much better than setting a distinct threshold to a full customer database as it might cause us to define customers in a way that isn’t really appropriate to their personal behavior.
– [Elon] Thank you, Roni. The second application we’ll talk about is the customer tier RFM. Now, we’re segmenting our customers based on their personal frequency is actually a great step to understand the different types of customer we have, but we’re still left with large groups that clump many different types of customers together. Now, for example, instead of creating segmentation based on customer’s spend, we really reach the number of groups form by segmenting and distinguish between our customers based on the revenue they generated and how frequently they purchase. Let’s take an example over here. We have here two customers, we have customer A with one purchase of $600 during the last year and we have customer B with six purchases $100 each during the last year also.
Now if we looked at our customers from a monetary perspective only, those two customers would be segmented as the same although they represent totally different behaviors. Now, in this case, we would prefer to set different KPIs for each one of those customers. With customer A that has a large purchase during the last year, we might want to increase his early purchases, while with customer B that has smaller purchases across the year, we might want to see how we can grow this customer average purchase a month. So, I think that this is a great example of how we can achieve personalization very easily by combine between frequency and monetary. So now it’s time to move to our next example of RFM segmentation which stands for Recency Frequency and Monetary.
So in this example, we’re segmenting our customers based on the rhythm in the last year. Now before we dive into this example, let’s touch upon the one year, the period of time we use here. When comparing between customers, we need to look at the same time frame for each one of the customers per that comparison and, therefore, the segmentation to make sense to us. Now when deciding what the time frame should be, we need to find and create the right balance between two parameters. This time frame needs to include enough activities observation for each customer in order to get statistically significant results, and this will usually cause us to look at a longer period of time. On the other end, we want those activities, those observations to reflect the most up to date customer behavior and this will usually cause us to look at a shorter period of time.
So, this is basically the balance that we want to find and create.
Now let’s get back to our example over here. In this segmentation, we define the customer rhythm by the number of purchases a customer made during the last year. And as you can see, we have three segments. We have segment A with 12 purchases on average per customer in the last year, we have segment B with mid-frequency, and, finally, segment C, who don’t purchase often. Now, looking only on the customer frequency can help us to understand when is the best timing to interact with our customer, but we still need to determine and define what will be the most effective interaction.
Now, looking only on the customer frequency will not necessarily give us the answer for that, so we will add two more additional behavioral attributes, the recency and the monetary, which is defined by the day since last purchase, and monetary which is defined by the purchase amount of a customer in the last year. Now by adding those two attributes, we’ll basically reach a more granular level of segmentation. In doing this, we basically divided segment A to three different segments. Now, the important point here is not that we have more segments, but the information derived from those new segments. For example, segment A1 has a significant higher purchase amount compared to the other segments. So those are for sure the most valued customers that we want to keep engaged. So, to sum it up, this application, we actually demonstrated with this method how segmenting our customers based on several attributes rather than just the frequency can improve and enhance our personalization.
The third and last application we’ll cover is the product replenishment. Now, as you heard in the first application customer’s frequency can help us to predict churn on a customer level, but this is not always enough. When talking about consumable product…When talking about consumable products, we will have the best timing for a message will be different for each product and of course for each customer. For example, let’s take a customer that buys two products on a regular basis, milk and shampoo. Those two products will have a totally different consumption rate for this customer. This customer might consume a bottle of milk in less than a week and a bottle of shampoo in four weeks. Now, in order to be one step ahead and offer a new delivery right before our customer finishes his existing stock, we would like to calculate when this customer likely to purchase again.
Now, in this calculation, we use three parameters. We have the consumption rate which is basically the average number of units a customer consumes per day. We have the number of units in our last purchase, in the customer’s last purchase, and finally that they since last purchase. So here we have an example of customer who purchased two products, product A and product B. For each one of those products, we are going to calculate the consumption rate which is the sum of the number of units purchased divided by the days to next purchase. This result is then divided by the number of purchases we use in this calculation in order to get the average value.
So, let’s take a numerical example on product A. I hope you can see the figures. So, in the first purchase, we have 20 units, we divided by 10, which is the number of days between the first purchase and the second purchase, plus 4 units that we have in the second purchase divided by 12 which is the number of days between the second purchase and the third and last purchase that we have. Those two we divided by 2 which is the number of purchases we use in this calculation, and then we get the result 2.25, which means that this customer consumes an average of 2.25 units of product A per day. Also in the slide, you can see the results for Product B which are different since the purchase activity of product B is different compared to product A.
Now that we have the consumption for each one of those products, we can move on and calculate the message day attributes which basically tells us in how many days the product should be replenished. The message is calculated by dividing the last purchase amount, the number of units in our last purchase, by the consumption rate subtract the day since last purchase. So over here let’s focus again on product A, we have 22 units, the number of units a customer purchased in his last purchase, divided by 2.25 which is the consumption rate we already calculated, minus 4 which is the number of days between the last purchase and the calculation date which is for example today, and then we get the result 5.8 which means that in 5.8 days product A will have to be replenished. So basically, this attribute accurately predict when will be our next interaction with the customer, and this information enables us to interact with the customer on time with the most relevant and effective message.
– So, in today’s session, we’ve basically defined the customer rhythm, we’ve discussed its importance, and covered three different techniques of how you can utilize that customer rhythm. I hope you take at least one of them back with you into the office tomorrow when planning a more personalized way when engaging with your customers. Please, come up and take one of our cards and if you have any questions, feel free to ask.