Telecom Case Study – Customer Segmentation
For the last few articles we have been working on a telecom case study to create customer segments (Part 1, Part 2 and Part 3). In this case, you are the head of customer insights and marketing at a telecom company, ConnectFast Inc. Recall, in the first part, you have created cluster centroids through iterative calculation of Euclidean distances. Remember, the objective of iterative calculations was to adjust the centroids to place them at the center of the cluster members (see Part 1). Have a look at the animation below (you have seen this data in part 1 of this series); with each iteration Standard Sum of Error (SSE) is reducing. For the time being, don’t worry about the calculation of SSE but try to understand its purpose. In the animation, we started with 29 as the original value of SSE for the original random seeds and converged to stabilized SSE of 7 for the final iteration (further iterations won’t change SSE or positions of cluster centroids). This is absolutely the objective to iteratively reduce SSE till it gets stabilized – and voila! You have found your cluster centroids / black holes (see Part 1). As discussed in the previous article most machine-learning algorithms try to iteratively converge to an optimal solution. For cluster analysis the idea is to minimize SSE iteratively. I hope you have noticed, this is somewhat similar to Archimedes’ method of converging to the value of π (discussed in the previous article).
Customer Segmentation
Coming back to the case study, you are at the final stages of customer segmentation exercise to form clusters based on customers’ services usage behavior. As a telecom company ConnectFast offers several services on top of their existing cellphone plan (with prepaid and postpaid billing), some of them are listed below
- National/international calling
- National/international roaming
- 2G/3G/4G internet plans
- National /international data roaming
Before moving further, let us try to generate some intuitive feel for customer segmentation using cluster analysis. For simplicity let us consider just 3 different services (i.e. variables: international/ national roaming, and 3G) with 4 levels each (i.e. attributes: non-usage, low, medium and heavy usage). This is displayed in the adjacent figure. Theoretically, there could be (4)3 or 64 maximum clusters that can be formed. However, after our analysis for customer segmentation we have generated just 4 clusters (displayed as orange customer segments). Let us take a pause and think about it for a while, there are 64 difference locations where customers could be found based on their services usage behavior. However, the major density of customers is located at 4 clusters detected through cluster analysis. I hope you could see some relationship with universe and galaxies (discussed in Part 1) here, the mass is concentrated in limited areas with majority of white space.
For ten variables that you will be using in your analysis for ConnectFast, with 4 levels each you could have a little more than one million clusters i.e. (4)10. Now one of the biggest challenges with cluster analysis, as also discussed in a previous article, is to choose the right number of clusters before the analysis. That is you need to know the exact number of clusters that you are going to form before you run your cluster analysis through K-mean algorithm (K is the number of clusters one wants to form or the number of initial cluster seeds you provide to the algorithm). The best solution to the above challenge is a mix of analytical methods and business acumen to arrive at the initial number of cluster seeds. Business acumen is something you generate over a period of time by developing intuitive feel about the business. In the next segment, let us focus on the analytical procedure to form optimal customer segments.
Optimizing the Number of Clusters


You have completed the task of naming the 10 customers segments. The customer segments are arranged in the descending order of value to the company. The following are the highest and lowest value customer segments
1) Affluent corporate – very high spenders, have more than 4 services activated, high-usage on most services, predominantly senior management in large corporates, frequent foreign/domestic travelers, and high profit to the company
…
10) Stingy prepaids – low spenders, barely use one service, run their phone on minimum prepaid amount, mostly enjoy free incoming calls, and high cost to the company
After naming the customer segments you have performed some quick analysis on some of the company’s key performance Indicators (KPI). In your analysis you have found some crucial information that you will share with the CEO and the COO of the company to redefine the company’s business strategy.
An Application of Customer Segmentation


Sign-off Note
What we have seen in the above case study is not very unusual. These signals about portfolio deterioration often go unnoticed until it is too late for dynamic customer portfolios – where the customers are moving in and out at a high velocity and volume. Creation of static frames or cohorts along with customer segmentation is a very helpful analytical tool to keep a close tab on building a healthy customer base. See you soon with a new topic.




Good job mate. This is really helpful. keep it up!
Thanks Graham.
Good one Roopam, Simple and systematic explanation.
Thanks Azim
The analysis has been very clearly put across. Very helpful
Agreed…clearly explained analysis. I have one question though…how did you create the longitudinal segmentation? You depict a graph showing churn from 1st Q 2010 to Q4 2013…how were the segments created that allowed you to look across these 4 years of data?
Thanks Thomas, actually the segments / clusters were made point-in-time with the data for say a couple of quarters. After that the same segments were monitored over a period of time for customer churn. New customers are tagged to the clusters using a classification algorithm.
However,there are a couple of things one needs to keep in mind while performing this analysis i.e.
1) Temporal stability of cluster members – the clusters should be reasonably robust i.e. customers should not frequently migrate from one cluster to another. This can be monitored using segments’ transition matrix.
2) Population / portfolio stability of segments – the number of clusters should stay reasonably stable for the customer base over time. This is monitored using cluster deviation and similar metrics to ensure overall population is stable around the clusters.
Hope this helped!
Great! Thank you. Statistically and methodologically, how did you define “same clusters?” I ask because, in practice, it’s not as straightforward and easily answered a question as it sounds.
I hope I am getting your question right. When I say same clusters, it is about tagging new customers to the clusters based on the customers’ behavior / demography. This actually is not a very difficult task after you have made your classification model using say decision trees. However, I agree clustering itself is a highly exhausting exercise for the analysts since it involves several non-standardized methodologies and business judgement calls at every stage of the analysis.
Let me try and clarify what I’m asking…I think you said that you started with 2 quarters of customer data. These quarters were probably Q1 and Q2 of 2010, but you should correct me if that’s inaccurate. Then, with those customers as your base, you built a predictive classification model using a tree-based approach. Subsequently, from Q3 2010 forward, each new customer was assigned to one of the segments using the rules from the predictive classification model.
So far, so good? Please correct any inaccuracies…
The question is, why are these new customers churning out so quickly?
That’s a great observation Thomas, thanks for reading the post and figures with such detailed attention. I really appreciate that!
Actually, the churn rates are for customers with 18 months vintage (as also mentioned in the post). So when you read Q4-2013 the rate is for the customers on-boarded 6 quarters ago or in Q2 of 2012 (Q4 2013 is the measurement date). The same graph can be recreated based on on-boarding quarters of the customers, in that case all the X-axis titles (quarters) will shift by 6 quarters. However, the overall trend and other aspects for the line graph will stay the same. Churn rate is usually monitored for a seasoned or matured customer portfolio. However, one can also modify the vintage according to business objectives (for instance if you are measuring quick mortality for the portfolio vintage will be a couple of quarters). Also for churn models / survival analysis the definition of vintage will need much more detailed analysis.
Roopam-
Thanks for the additional info! The methodological questions are one thing. Were you able to develop some motivating factors for why the one segment had such an elevated rate of churn? Was it simply that their contracts ended and they moved on to other, more recent handsets available from other vendors? I just wonder why their needs were so clearly not being met.
Tom
The illustration I have used in this case is exaggerated and fuzzed up to make a clear statement for the readers without revealing confidential information. So don’t read too much in there. However, I could divulge just a minor detail from my experience (without breaching confidentiality). Most of the times it is the incentive structure for feet-on-the-street that creates a mismatch of this sort. Chasing KPIs without well thought-out scientific measurement strategy usually results in similar scenarios and outcomes.
Best thing about your articles is simplicity , i go through them in the first place before checking out other more deep and complicated sources.
Please keep the good work up (Y)
Hi Roopam,
I wanted to know what is stabilized SSE on the Y axis in the above plot to determine the number of clusters ?
Hi Nitin,
Every physical system has a tendency to stabilise to a state of equilibrium. When SSE is getting stabilised it is essentially achieving a state of dynamic equilibrium – this is similar to state of our universe. Mathematical construct of SSE is just trying to replicate this state. Hope this helped.
“Creation of static frames or cohorts along with customer segmentation is a very helpful analytical tool to keep a close tab on building a healthy customer base.” Definitely..
Awesome post! Very informative, I enjoyed reading it 🙂
Hi Roopam,
I wanted to understand how you assign entities(in this case customers) from test data, to the already created segments(using the training data). I need to build a similar churn model for a bank. Although I have clear idea about developing classification models however, I do not know how to use segmentation and then score the new population.
Thank you very much. Excellent Case Study. Look forward to more of these.
Thank you very much for case study. Maybe I can found full database of this case?