First aid to calculating Customer Lifetime Value in finance

For businesses where clients generate revenues over time knowing who will be your most valuable clients in the future is very handy information. Especially if you want to optimise your service models.

Future key clients aren't easy to spot

Even though banks and other financial institutions increasingly focus on online channels, bankers and financial advisors are still crucial in the revenue stream.

So let’s put ourselves in the banker’s situation. Your job is to manage a portfolio of a few hundreds of clients. You don’t know their names, let alone their needs. At best, you are responsible for the portfolio for some time already, but you still haven’t met most of your clients in years. Some of them never.

Of course you have a fancy CRM to help you with “understanding your client’s needs”. You are typically informed about some important events you should notice (contract renewal, annual meeting, client’s birthday). But this is not how you should build the relationship with your clients (“Dear Mr. or Mrs. Adam, we wish you all the best for your special day” :D). The clients don’t need a banker to remind them what they know. And especially not using a template “happy mortgage anniversary” letter. The banker is a businessman who needs to connect with his clients. But with whom to start? Who are the future key clients? This was a question we were asked by a large financial advisor in Central Europe.

Customer Life Time modelling

To solve the issue at hand, we used a basic customer lifetime model. The fact that they focused on service prioritisation made our live a bit easier. In such case you are good to go with a relative comparison of current clients and the correct absolute lifetime value is not that critical.

Wikipedia tells us that customer lifetime value is a prediction of the net profit attributed to the entire future relationship with a customer. And what does that mean for a financial advisor company? That you need to calculate an expected net profit for each customer for any given time period, discounted, and summed over all potential time periods.

Technically it can be broken down into three main tasks:

  1. Calculating the probability of being alive (both figuratively in a business sense and literally) at the end of a time period;
  2. Estimating the number of transactions a client makes over the time period; andModelling the average profit per transaction.

The first two tasks can easily be solved using a so called Pareto/NBD model. This model is used in non-contractual situations where customers can make transactions at any given point in time. Pareto/NBD models the rate at which customers make transactions and the rate at which they drop out. In plain English this is often described as if the model tosses a coin to determine if the client is alive and then throws a dice to get the number of transactions he makes. The first part is modelled using Pareto distribution, the second one using negative binomial distribution (NBD). Diligent data scientists will always test that the data at hand is in line with the theoretical assumptions about the distribution. For a quick implementation one could use the R package with a poetic name Buy ‘Till You Die (BTYD).

The third task calls for some supervised machine learning algorithm leveraging available information about the client to predict the net profit. Obviously here you can go crazy but for the sake of simplicity a prediction model was used with basic client data available such as age, education, address or historical transactions and products purchased and trained a gradient boosting machine (GBM) to predict future net profits. Technically these future net profits should be discounted. On the other hand we have discovered that there is a trend with a very similar growth rate, so we let these two effects cancel each other out.

Despite this was only a MVP (minimal viable product) solution, we were able to achieve reasonable accuracy. With the use of Keboola Connection the whole process was deployed to production in just a few days and the CLV was ready to be acted upon.

“The guys from aLook Analytics did a great job delivering a simple, but useful and complete model for predicting CLV of our customers. In a short amount of time they were able to understand the specific business model and adjust the prediction model accordingly. We can compare their work to a big business-consulting firm, which previously had a similar task of predicting our customers’ expected revenues and expected purchases. Not only did the aLook guys do it faster and cheaper, they even prepared the whole model in Keboola Connection. So we have all the SQL and R code available, which is a great asset as we can easily run or modify the whole model anytime we want.”
Ondřej Hubálek, Fincentrum

The CLV architecture we used allows for targeted improvements of individual parts when needed. One could for instance use also a more sophisticated model than Pareto/NBD or consider additional data for predicting future net profit. But as always there are many other paths one could try to model CLV.

The CLV model (or its parts) can also be used for many other business decisions like churn prevention, optimising for marketing expenditures, pricing models and many more.