We can see an increasing demand for personalized digital services in financial services. An article from BCG on the topic is helping in understanding the challenges and the opportunities of personalization in banking https://www.bcg.com/publications/2019/what-does-personalization-banking-really-mean.aspx. According to the study 37% of bank clients would like their bank to be more like Amazon. Clients are indeed open to get Amazon like recommendations from their bank.
Additionally the pressure from big techs is putting financial services firms under pressure to deliver enhanced customer experience. This includes personalizing offers to individuals like Amazon or Netflix. Although this seems relatively straightforward, there are a number of hurdles typical to the nature of the business. Let us see how we can try to address them through a number of hands on experiments.
It is also interesting to note that 94% of banking firms are unable to deliver on personalization promises according to an article published by the Financial Brand https://thefinancialbrand.com/74986/banking-personalization-targeting-trends/.
The series of articles is not going to focus further on market studies, but on practical challenges and experiments around building personalization for financial services.
Like other industries,s financial services come with its own sets of constraints and regulations. Here we can name a few:
- Regulatory constraints when recommending financial products
- Data privacy and confidentiality
- Traceability and transparency of recommendations
- Incremental learning
- Evolution of customer behavior
- New products introduction
How to build a personalization engine
Personalization engines are not new. Already in the early 2000’s during the internet bubble, this was a trendy topic. I remember being part of such discussions and how to implement personalized experience in what was called e-banking. At that time we were not talking about machine learning and Netflix did not exist yet. Simple personalization engines can be built using customer preferences or simple rule engines. Also at that time we were not able to store and process data as easily as today with the advent of big data solutions and cloud based storage and services.
Today we build recommendation systems based on well known machine learning algorithms that are used by the big digital companies on daily basis. They collect data from various sources, including web site clicks, mobile phones, shopping history, transaction patterns and so on. This large amount of data needs to be fed into recommendation engines to find optimal content or products for users and clients. Today’s technology enables much higher personalized services than before, so let us dig into technology a bit deeper.
We are not going to come back to the various options to build a personalization engine. In this article but will focus on classification and clustering models only. There are also techniques like collaborative filtering and matrix factorization, one can find numerous articles on the topic.
We have decided to use classification and clustering algorithms to find the best recommendations for clients. One can also think of using reinforcement learning in a later stage. Other techniques are available, but we think they are not well suited for our problem. We also need to have explainable models due to regulatory and audit constraints in the financial industry. So white box models seem allow best possible transparency. We can also use neural networks as classification algorithm, but we must find a way to explain the results of predictions to ensure transparency.
Where do we start ?
One of the issues is how to start when you have no or little data you can use for initial training. This problem is called the ‘cold ‘start’ challenge in machine learning. To circumvent the problem, we can initialize the model with some initial values that will evolve over time while the model is being incrementally trained. At the beginning we will have predictions that are close to random, but will improve over time.
We can start defining the model manually with our assumptions how the clients might behave. This is similar to use a rule engine at the beginning.
If we have available data, we can start by exploring the available data and start understanding how actions are influenced by customer specific attributes. This can include a number of attributes from clients, including base attributes like age, nationality, employment status and others, but we might add others like account balances, transaction types or shopping patterns.
One mistake that we see again and again is to think that a model once tested is here to stay for ever. In fact the journey never ends, we must update models on an ongoing basis to adapt to real life data, new products, new customers ( attracted by new products or by the personalized experience itself) and so on. Incremental or online learning comes to the rescue. This allows to train the model every time a new observation is happening. Neural networks by definition allow for incremental learning out of the box. A new observation can be passed through the already trained model and further improves for each iteration thanks to gradient descent. We can also train other models online, but we will see that later on.