“Customer satisfaction is worthless. Customer loyalty is priceless.”
Jeffrey Gitomer
Business is becoming increasingly competitive these days and getting new customers increasingly difficult. The wisest thing to do in this cut-throat scenario is to hold on to your existing customer base while trying to develop new business. Realistically, no matter how hard it tries, every organisation still loses a percentage of its customers every year to the competition. This process of losing customers is called Churn.
Progressive organisations take churn seriously, they want to know in advance that approximately how many customers they are going to lose this year and what is causing the churn. Having an insight into customer churn at least gives an organisation an opportunity to proactively take measures to control the churn before it is too late and the customer is gone.
Two pieces of information help the most when it comes to minimising the churn
1. Which customers are we going to lose this year
2. What are the biggest drivers of customer churn
The answers to the above questions often are hidden in the customer data itself but revealing these answers out of swathes of data is an art – rather a science called Data Science. With recent advances in some practical Data Science techniques like Machine Learning getting these answers is becoming increasingly feasible even for small scale organisations who do not have the luxury of a Data Science team. Thanks to services like Azure Machine Learning which are trying to democratise these advanced techniques to a level such that even a small scale customer can leverage them to solve their business puzzles.
Let me show you how your Dynamics CRM can leverage the powerful Machine Learning cortex to get some insights into the key drivers of customer churn. In this blog series, we will build a machine learning model that will answer the questions regarding churn. I have divided the series into four parts as below
Part 1 – Introduction
Part 2 – Creating a Machine Learning model
Part 3- Integrate the model with Dynamics CRM
Part 4 – Gaining insights within Dynamics CRM
I will take the example of a Telecom organisation but the model can be extended any kind of organisation in any capacity and from any industry.
Scenario
Let us say there is a Telecom company called TelcoOrg which uses Microsoft CRM 2016 and they have an entity called Telecom Customer that stores their telco profile. Such profile may include some data regarding a customer mobile plan, phone usage, demography and reported satisfaction.
Understanding the features
In data science projects, it is crucial to understand the data points (called features). You need to carefully select those features that are relevant to the problem at hand, some the features also need to be engineered and normalised before they start generating some information gain. Below are the features that we will be using in this scenario of our Churn problem
Let me quickly explain the features so that we can understand the information contained in them
|
Feature |
Information |
|
Has a College degree? |
If the customer has a college degree |
|
Cost price of phone |
Price of the customer’s phone as per the plan/contract with TelcoOrg |
|
Value of customer’s house |
Approximate value of customer’s house based on Property Information websites like RPData, etc. |
|
Average Income |
Yearly income as reported by the customer |
|
Leftover minutes per month |
Average number of minutes a customer normally does not use from monthly quota |
|
Average call duration |
Average duration of calls made based on call history |
|
Usage category |
The category customer’s phone usage falls under as compared to other customers e.g. Very High, High, Average, Low or Very Low |
|
Average overcharges |
Average number of times a customer is usually overcharged per month |
|
Average long duration calls |
Average number of calls a customer usually makes per month that are more than 15 minutes long |
|
Considering change? |
How customer responded to TelcoOrg’s survey when asked if they are considering changing to another provider e.g. Yes, considering, Maybe, Not looking, etc. |
|
Reported level of satisfaction |
How customer responded to TelcoOrg’s survey when asked if they are satisfied with TelcoOrg’s service e.g. Unsatisfied, Neutral, Satisfied |
|
Account Status |
Current Status of the customer (i.e. if they have left or are currently Active) |
|
Predicted Churn Status |
This is the predicted status returned by the Azure Machine Learning Web Service |
|
Prediction Confidence Percentage |
This field means how confident Azure Machine Learning Web Service is regarding its prediction. A threshold can be set to only consider the predictions above e.g. we can say, take only those predictions where WS is 70% confident. |
The screenshot below shows the information from the Telecom Customer entity. The section highlighted in blue are predictions based on Azure Machine Learning web services. Whenever any of the fields on this CRM form changes, the WS updates its prediction scores based on the record’s data. I will provide details later during the series as to how I built this integration.
Below is a screenshot of some of these records
We will achieve the following business benefits using Azure Machine Learning
1. Customers who are predicted to be at a higher risk of leaving (churn) can be flagged, so the customer retention teams can get it touch with them to proactively address their concerns in a bid to retain them
2. Find what factors affect churn the most i.e. out of all these fields we will determine what fields are more likely to make a leave than others
3. We will also get insights into some business rules that dictate churn i.e. the drivers
I hope you understand the problem now and find it interesting so far. Let us meet in next part of the blog where I will show how a machine learning model is created.

Like
Report
*This post is locked for comments