An objective that I have frequently been faced with during my years doing analytics in the retail sector is to help improve retention and decrease churn of customers. It is a very logical and worthwhile thing to concentrate on given that the goal of any retailer is to make more money and to do that you need as many customers as you can get. You can think of the set of customers a retailer currently has as the water in a leaky bucket that you are constantly filling up with new water. There are two ways to increase the amount of water in this bucket; you can either try to increase the inflow (acquisition of new customers) or you could try to decrease the leaking (churn). For a new and growing retailer it makes sense to focus on acquisition as it’s the only way to initially fill up the bucket. But for an established retailer the cost of acquiring a new customer is far greater than taking some action to prevent one of your existing customers to leave. (https://www.invespcro.com/blog/customer-acquisition-retention/)
So what actions can a retailer take to stem the flow of customers taking their business elsewhere? There is obviously a long list of things that can be done in terms of just improving your offering, making sure your prices are competitive, your customer service good and a million other things that make us all choose to return to a specific store or making another order on a website. In a competitive market however, customers are still constantly tempted to go elsewhere. And to prevent this from happening they might require some attention paid to them at certain points of time. This attention might for example take the form of a personalised offer sent in a text message luring the customer back into the store.
To make this kind of strategy possible however we need to somehow identify when the risk arises for each individual customer. We also want to know how valuable that customer is to the store in order to weigh the benefit of keeping the customer against the cost of doing so.
The customer lifetime value approach
Customer lifetime value modelling (CLV) provides a way to obtain both pieces of information through one model framework. The underlying assumption of this approach is that every customer has a natural “lifespan” with the retailer and that there is a probability at each point in time during this lifespan that the customer might “die”; or to put it in a less dramatic way “churn”. It is this probability that we model and the resulting modelled score that we can use to determine the risk of each customer churning at a point in time. And hence help us decide which customers should be targeted at that point to decrease overall churn.
From the same model you can also get a prediction of how much the customer is going to spend over their entire lifespan with the retailer; hence the customer lifetime value name of the model. Or you could get an estimate for how often they will visit over the next year or any other specified length of time if they don’t churn. Either of these things can be used to provide a predictive measure for the value of a customer. I have found the second approach to be the most useful in this use case because the lifetime value estimation will take into consideration the scenario where the customer actually churns as well whereas what we are interested in is how much the customer would be worth if they do not churn.
To build a CLV model the only data you require is the stream of historical transactions for all the customers. From this you calculate variables that reflect the frequency with which the customer usually visits the store and how long it has been since the last visits. If the customer has been away long relative to their normal behaviour the model predicts the risk of churn to be higher. To predict the spend of the customer in the coming time period the model assumes that the historical transaction pattern of the customer will continue and extrapolates this into the future. This is obviously a very simplistic description of the model; if you are interested in the mathematical details check out these links for example: http://mktg.uni-svishtov.bg/ivm/resources/Counting_Your_Customers.pdf http://brucehardie.com/notes/009/pareto_nbd_derivations_2005-11-05.pdf
For a simple way of building a CLV model you can use either R or Python as there are packages with implementations available in both:
Other approaches to modelling churn risk include binary logistic regression and tree based models. These approaches can both work very well but there are two main benefits to using a CLV approach for churn modelling instead.
The first one is that CLV has a fluid definition of churn and that this definition is unique to each customer. When you try to predict which customer is going to churn with other models you first need to define what churn means for the retailer and make one definition of this across all customers. The question you need to answer is “how long does a customer need to not shop for to be considered churned?”. If you make the time period too short, then you will be overestimating the risk of churn when the customers are just following their natural shopping pattern. If you make it too long, then by the time you realise the customer is churning it might be too late to act. You typically set this definition by looking at the average shopping behaviour of the customers. But the reality is that every customer is unique; some might buy their groceries in small baskets twice a week whereas others might stock up and only visit the store every other week. It is also not realistic to set a binary cut off point after which the customer is churned; rather it becomes less and less likely that the customer will come back the longer they have been away. With a CLV model this view of churn is built into the definition of the model and there is no need to define a time length for churn.
The other benefit is that as I have mentioned before the data required to build a CLV model is very simple and will be the same regardless of the type of retailer or market. With a binary logistic regression or tree based model the point is to use many variables to capture all the factors that might influence churn. A churn model building project of this type therefore often includes spending a large share of the time locating, understanding, formatting and cleaning variables; most of which will not even make it in to the final model. In the end what is often found is that only a few of the variables are used, almost always including the recent frequency or absence of the customer. If you are looking for a solution that can easily be replicated or maybe even implemented in a product CLV can be a good way to go.
The benefit of CLV using a limited set of data can also be a possible disadvantage. In the end a model is only as powerful as the data behind it and CLV only considers the timing and value of transactions. In my experience these variables tend to be very important in predicting churn because they act as a signal for underlying problems and therefore the predictive power of CLV tends to be good. However it is possible that identifying the underlying issues directly and using these in a binary logistic regression or tree based model could give you a better prediction performance if done well. Also if part of the goal of building a churn model is to better understand these underlying drivers you will not get to that with a CLV approach. What CLV will give you is a score for each customer and each point in time; it will not tell you why that customer might be at risk of churning.
Another word of caution is that using CLV in this way is only suitable for a retailer that has customers making regular transactions and a long enough history to establish what the typical transaction pattern of each is. This is obvious if you think about it; if a customer only comes in once we just don’t know enough about them to predict how likely it is that they will come back but if they have dozens of past transactions with you there is a lot more information available.
Summary and implementation
CLV might be a good approach to churn modelling for you if:
- You need a straightforward and predictive way to rank customers in terms of risk of churn
- The predictive value of the customer is also of interest to you
- You would like to avoid spending a lot of time on data collection and cleaning
- A significant share of the customers has a regular transaction history captured
- You are not modelling churn to understand the underlying drivers
If these conditions are met, then CLV can be very useful tool for measuring the churn risk and value of customer (should you manage to keep them). It should be kept in mind that having this information is obviously not enough in itself enough to prevent customers from leaving. It is essential to incorporate using the scores in the right way into a good CRM program so that action is actually taken to keep the customer. An effective implementation and usage of churn and value scores is often the biggest challenge to get right for organisational reasons and it’s something that you should not forget to consider before embarking on the build on your CLV model.