Identifying customers who intend to terminate their relation with a company is commonly known as churn detection. Knowing this, let's imagine we are managing an internet providing company, cleverly named InternetIsFun Ltd. Churn intent detection is very important for us if we consider the fact that attracting new customers is a time and cost intensive task. But, how can we detect the intent to churn?
Previous work on churn intent detection focused on user metadata, such as customer transactions over time. These behavior-based techniques require a significant amount of data that are not easily available. As a result, the current trend for detecting churn intent is to focus on textual user statements which do not need any a priori knowledge of the customer background.
Machine learning to the rescue
Social media provide an endless source of user statements on various brands. However, it is impossible to manually crawl and process the whole web to detect churn intent.
Luckily, with the increase of machine learning techniques, it becomes easier to handle large amount of data. Therefore, text content from social media such as Twitter can be automatically analyzed to detect churn intent and prevent user from leaving the company.
Which machine learning model to use ?
The current state of the art includes various word and phrase embeddings and Convolutional Nets to detect churn intent in text. However, such techniques fail to capture the temporal aspect of sentences.
For example, using only Convolutional Nets you will misinterpret the above sentence since the model will focus on the local aspect of "Should I switch" without taking the second part "Jk i love this one" into account. That is why we designed a model that includes recurrent cells like LSTMs to capture the complex and temporal structure of sentences.
It is important to note that the largest part of social media content does not include churn intent. Therefore, to better assert the quality of the model, F1-score is used instead of accuracy. Just as accuracy, a high F1-score means an efficient model. Consequently, our model achieves 86.6% F1-score while the current state of the art is 83.8% which represents a fair 2.8% improvement in churn intent detection.
English is not everybody's mother tongue !
With the conviction that churn intent detection is not limited to English we adapted our model to German.
This can be performed by replacing English words representations with a model trained on German corpus. We achieve 78.1% F1-score in German which proves that churn detection can be generalized to multiple languages.
From social media to chatbots
Chatbots are becoming one of the main means of textual communication with the evolution of automation processes. This chatbot explosion aims at converting the usual human-to-human interaction into a human-to-machine one, which however comes at a high cost. Concretely, companies have no longer a full grasp on their users’ level of discontent, since the customer contact is handled by chatbots. Adding a churn detection functionality to bots allows companies to spot cases where the discontent reaches a high level and the user expresses an intent to churn.
Do we have to create a new model to do so ? No ! Can we use our model trained on social media ? Yes !
The structure of social media is highly similar to chatbot entries. Using some text processing, we can remove social media specific content and create a medium independent text. As a result, we can use our model to detect churn intent in chatbot conversations in multiple language (82.1% F1-score in English and 74.3% in German).
This project is supported by Swisscom, the telco. leader in Switzerland, and the Swisscom Digital Lab, an innovation lab located in the EPFL Innovation Park dedicated to conduct applied research in machine learning, data analytics, security and communication systems.
*Banner credits: https://www.livechatinc.com/blog/churn-rate/