Customer churn prediction using machine learning

AI & Customer Intelligence

background_image background_image

Do you remember the last time you had a bad experience with a product or company? Are you still a customer of that company? In fact, all it takes is one or two bad experiences for people to leave.  

When a customer stops being a customer, this is known as customer churn. Every business inevitably has some churn, but controlling that customer loss is the key to growth and future business planning success. This is when data science algorithms become helpful for your business. 

Why is knowing customer churn important, and how can machine learning help us predict this inevitable customer churn? That’s what we’re discussing in this article. We’ll cover:

  • What is customer churn?
  • The customer churn formula
  • Why do customers churn?
  • Churn predictions from machine learning 
  • What is churn analysis?
  • How do you forecast customer churn with machine learning?

What is customer churn?

Customer Churn is a percentage of how many customers stopped subscribing or being a customer within a certain period. This is the flip side of customer retention or customer attrition rates. Customer churn, retention, and attrition are all used to measure how satisfied customers are with your business. 

No business wants a 100% churn rate because it means they lost all their customers. Likewise, it’s near impossible for a company to have a 0% customer churn rate because there are always reasons customers will leave (even if you have the perfect product and brand). Your target (or ideal) churn rate will vary depending on your business type, how long you’ve been in business, and your goals. 

The customer churn formula

Calculating churn rates is achieved through a simple formula. You just need two numerical data numbers and the time period in which you want to calculate the churn. Most businesses want to know their monthly, quarterly, or annual customer retention and churn percentage. 

To calculate your customer churn rate, divide the number of customers you lost during the given period by the number you had at the start of the period. Multiply that answer by 100 to get your churn rate percentage.

Churn Rate =    # customers lost during period


   # of customers at start of period


For example, your monthly subscription box company starts with 250 monthly subscribers on January 1. Over the next 3 months, you lost 50 customers. Your churn rate would be:

(50 / 250) x 100 = 20% churn rate. 

If nothing else changes, you can expect to lose 20% of your customers every quarter. 

What is the average churn rate?

Churn rates and expected averages to aim for, vary depending on factors like your company’s business stage and size. For example, an early start-up company might see a 10-15% churn rate in the first year. A more established company might get a lower, 3-5% churn rate. A B2B subscription or SaaS company might have a goal to keep churn no higher than 7%. 

Consider customer acquisition rates

Another consideration to establish an acceptable churn rate for your company is to consider the number of customers you acquire during the same period. You may be happy with a higher churn rate, if you are gaining 300 new customers for every 50 you lose. 

Consider the cost of acquiring new customers

It can also help to know how much you spend to acquire a new customer. It may cost you $100 in advertising and marketing to acquire 1 customer who pays $25 per month in subscription fees. Acquiring more customers than you lose in a given period may not be profitable if your churn predictions estimate the average lifespan of a customer is only 3 months (with a revenue of $75). 

With any customer churn, looking at your available customer and business data can help you uncover why they’re leaving so you can take action to increase their satisfaction to make them stay as customers. 

Why do customers churn?

Customers churn because they’re unhappy with your product or company or no longer need your products or services. Some reasons that may cause customers to leave your company include:

  • Bad experience with customer service or helpdesk teams
  • Pricing or fees are too much
  • Price doesn’t align with your customers’ perceived value
  • Your offering is not functioning or meeting customer expectations
  • The customer no longer needs your offering
  • Loyal customers don’t feel valued anymore

We can’t always control customers who leave due to no longer needing the product (such as when a child ages out of daycare), but we can minimize those who churn because they’re dissatisfied. 

When you can predict customer churn before it happens, you can make changes to your business offerings or service to keep customers happy, so they stay. 

Why is churn important for businesses?

Two important business metrics to know are your customer retention and churn rates. This data helps you see where there may be holes or unfilled potential in your products or services. It could indicate a problem with your offering, how you sell it, how you support (or don’t support) customers, or a misaligned product-market fit. 

Identifying at-risk customers by identifying their pain points and developing strategies to make them happy and remain loyal, paying customers is important. 

SaaS Business example:

XYZ Company sells software that helps families keep their calendars synced across devices and sends reminders to family members of chores and appointments. The company noticed that its churn rate in July was 30%, much higher than in previous months. They investigated and looked deeper into what was causing this churn. 

The company did some exploratory data analysis to see what could have caused this drop and if it was something they could fix. They used machine learning models to look for correlations in the data.

Their data analysts discovered that their clients canceled their subscription during this time period because they were typically on vacation during the school holidays and didn’t need a home family calendar. Based on this, the company went to the drawing board and added a new account feature for their customers: the option to put a “temporary hold” on their subscriptions for 1-2 months at a time. 

After implementing this, they noticed that subscriptions still dropped during school holidays (December, July, and August), but more customers returned after these short breaks.

What is churn data?

You may have many pieces of data on each customer, but not all are applicable (or relevant) when analyzing churn rate. We always recommend linking all available data into your machine learning platform, just in case. But, if you’re looking at churn data on a surface level (perhaps using human analysis rather than machine learning), there are several pieces of data you may find particularly telling for existing customer churn, including:

  • Increase in customer support inquiries
  • Increase in bug reports from customers
  • Lower than usual usage of the product
  • Fewer account logins

Churn predictions from machine learning

With this data, machine learning can be used for predicting customer churn. With a churn rate prediction, you can take steps to impress and nurture customers who you’ve identified as likely to churn. Predicting churn starts by developing a prediction workflow such as the following:

Step 1: Identify your goal

Using a machine learning model to predict reasons for churn is only helpful if you know what you’re looking for. For example, you may have noticed many customers remain loyal for just one to two months. Knowing this, your AI can use the most relevant customer data to get results for this unique customer group. 

Step 2: Gather data sources 

With your goal in mind, you can now pull specific data related to this customer type and churn activity. This data may include information on how the original sale was made (did they contact a sales rep, use a chatbot, come through a referral), data from help desk tickets, and how many times they logged into view pricing webpages on your website. 

If you are using machine learning models, it can often integrate with your systems and pull the relevant datasets for you.

Step 3: Prepare your data

Not all data is ready to use out-of-the-box. Data preparation (whether manually or through your machine learning platform) will ensure that the data inputted into the algorithm will provide you with your desired results. 

The easiest-to-analyze data is numerical data such as time since first purchase, times they contacted the helpdesk, and revenue per customer. To get a more detailed result to understand your customer churn prediction, however, you’ll want to use qualitative data (open-ended questions). But this data needs to be prepared for easy analysis. 

Here’s an example:

You can get customer insights via an exit survey that asks open-ended questions about the customer’s experience with product support and another on product usability. You can turn the open-ended answers into a numerical summary by classifying their response as simply positive or negative. 

Then, you can see that 10 customers had a negative experience with the product, but 25 mentioned a negative experience with your customer support teams. This data is very telling on its own, but when added to your churn prediction model using machine learning, it may help uncover that the people canceling their subscription cite mainly bad customer service as a key contributor to them leaving, but not because of a product dissatisfaction. 

Step 4: Applying your churn prediction model

Use machine learning and your chosen churn prediction model to identify existing customers who are likely to churn. Your machine learning algorithms can run their modeling on historical or test data to see if their “predictions” for identifying customers who churn are correct. Then you can apply the same process to your current customer data. 

Step 5: Run your models regularly

As your business grows, you may get new customer data to add to your modeling. Regularly monitor your churn prediction models and adapt as needed.

What is churn analysis?

Churn analysis is when you take your churn rate and other related data to develop a hypothesis for why people choose to stay or leave. It can be done by a human data analyst or through more complex machine learning algorithms which take your available data and analyze it in seconds. 

While data scientists can easily and quickly calculate your customer churn rate (using the above formula), they must manually analyze the data to uncover the reasons behind that churn rate. Machine learning can support the work of data scientists by providing a more in-depth analysis of why customers are churning. 

Which algorithm is best for churn prediction?

When using machine learning to predict churn, there are several algorithms you can use. The algorithm you choose will depend on the available data, the goal you want to achieve, and how detailed an answer you want. 

Here are some standard algorithms used in machine learning analysis of churn rates and data:

K-Nearest Neighbors (KNN)

Using data science algorithms like KNN (K-Nearest Neighbors) can provide good accuracy with the right data. This algorithm will look at the available information you have on your customers to see who is most similar to that target customer. Then, using your churn prediction model, you can take an educated guess at which customers are also likely to churn. 

Random Forest

If you have less data, random forest can yield good results, so it’s a good starting point for companies just starting out with machine learning for churn prediction. The random forest algorithm contains multiple decision trees (where you go down one path for yes, and another for no). This algorithm creates many decision trees based on your data and looks at the entire data set as an ensemble to develop a prediction—in this case, the characteristics of a customer likely to churn. 

Naive Bayes 

This algorithm classifies customers as low, medium or high risk for churning. It doesn’t provide any additional details other than their risk, so using this method to inform business decisions may not be helpful without implementing additional data science algorithms. 


This is another basic algorithm that looks at groupings of customers (by characteristics or attributes) to determine their likelihood of churn. You can use machine learning to develop this kind of customer segmentation.

This neural-network machine learning framework is optimized for making predictions based on natural language, which include responses to open-ended questions and support contacts. Identifying the specific types of customer complaints that lead to churn allows you to address the underlying customer complaints. 

How AI Algorithms can increase customer satisfaction by 250% 

FabFitFun was spending way too much time manually tagging their user data to predict and circumvent their churn rates. With over 2 million subscribers they needed a scalable way to translate their VOC (Voice of customer) results from survey data to give them actionable insights. 

They implemented the machine learning platform from Idiomatic and were able to analyze and categorize their survey responses in real time. By acting on the platform’s suggestions, they saw a 49% decrease in customer complaints (because they were solving problems before they were a problem) and a 250% increase in product satisfaction. This was enough to significantly lower their churn rates.

How do you forecast customer churns with machine learning? 

Machine learning uses AI for predicting churn in your existing customers. It takes massive amounts of data from multiple sources and analyzes everything to look for patterns and trends. This data would take a human a long time to review manually. Even then, the human analyst needs to make hypotheses, test them, and come up with their own conclusions, which may have bias. Human analysis also leaves the door open for human error.

Applying machine learning to this problem avoids many of the pitfalls and costs of manual analysis. It takes numeric data and artificial intelligence to do the work for you, often in seconds or minutes. That’s why using a machine learning platform based on data science algorithms and artificial intelligence can tremendously help your business. 

Idiomatic takes your data from customer information, app or website usage, purchasing history, and even customer service call-outs and uses this data to predict your customer churn rate and the reason for the churn. While these predictive analytics can be done manually, Idiomatic makes it fast and easy. It’ll learn your customer behavior and apply that to the data to help you understand why customers leave and how you can make changes to retain customers longer. 

The prediction accuracy is based on the data points available, which machine learning helps to evolve as your business grows and changes. This is vital data to helping you scale and grow your business while maintaining satisfied customers. 

Request a no-obligation, free demo today to learn more about how Idiomatic can use its analyst-quality machine learning model to predict churn in your existing and future customers.

Request a demo