How can Machine Learning predict user Churn?

Alex Flom
5 min readJan 27, 2017


TL;DR Predicting which users will cancel is a difficult and expensive task when performed by humans; luckily, machines can do it much better.

How can churn be predicted?

Before going into the fancy Machine Learning stuff, let’s pretend we want to analyze manually our active users and predict who will churn soon, is this even possible?

The short answer is yes, but it is difficult.

For example, let’s say your company is using Slack as an internal communication tool, and you want to switch to a different communication platform.

The transition process might look like this:

  1. You will send a customer support request to Slack, complaining about a missing feature or pricing.
  2. You will sign up for a new tool that better suits your needs and start a trial with just a few members of your team; those users will be less active on Slack.
  3. If all goes well, you will use the Slack data export feature to export your data and import it to the new tool.
  4. You will move more users into the new tool, maybe even entire teams from your company; this will cause another drop in your company activity on Slack.
  5. You will stop adding new users into Slack, and add them to the new tool instead.
  6. You will move all the users to the new tool and wait a few more weeks before cancelling Slack just to make sure you didn’t forget to export any data that might be useful.
  7. Finally, you will cancel Slack. This action might happen several weeks or even months after the decision to leave for another tool was made.

The above example demonstrates that churn can be predicted; however, a lot of data points from various sources are required to do so. Here is what you will need to do to predict churn:

  • Track user activity changes.
  • Track team/company activity changes.
  • Track “red flag” events ,such as data export.
  • Track and analyze customer support requests — Extract emotions and intents expressed in those requests.

You will probably need a team of data scientists and developers to set-up the tracking and come up with an algorithm that will combine all those indicators and generate churn-prediction alerts.

We at solve the data tracking challenge by connecting to tools you are already using to gather all the required data seamlessly with no coding or effort.

We also use state of the art Natural Language Processing technologies to classify support requests (Bug? Billing issue? Missing feature?) and extract emotions expressed by the users.

Intercom is a great example, because it contains user data, company data, activity/event data, and even customer support data.
We can gather all the data required for churn prediction from Intercom, and setting up the integration will take just 27 seconds (yes, we counted).

If you are not using Intercom, we can connect to your CRM to gather company and user data, to your analytics tool to gather activity/event data, and to your helpdesk software to gather customer support data.

The Machine Learning approach

Once we have all the data, we need to come up with a set of rules that will decide whether a user is likely to churn.

Those rules can be defined manually using human intuition, but the problem is they can quickly become too complicated.

  • Is 20% drop in activity predicting churn? Maybe 25? Or 30? What about holiday seasons?
  • What if there is a decrease in activity but the company is constantly adding new users? Does such pattern correlate with churn?
  • What if enterprise plan users behave differently than start-up plan users?
  • How should product changes affect those rules?

Luckily, when coming up with a set of rules becomes too complicated for humans, Machine Learning can help.
Machines are excellent in learning from historic examples(users who already cancelled) and predicting future outcomes (how likely is an active user to cancel).

Even better, Machine Learning algorithms will improve when new data is available (did the user predicted to churn really cancel?).

We at want to provide instant value to our customers and start generating predictions right after the signup, that is the reason why we use your historical data to “train” the algorithm.

Because we work with many customers from the SaaS industry our algorithms have a “clue” about which signals predict churn, so we don’t need to start from scratch.

This decrease the amount of historical data required to provide precise predictions. Usually 50–100 examples of users who churned are enough to get great results.

Acting on churn predictions

Once you know which users are likely to churn, what can you do about it?

While you can use email automation to send automatic messages, it is difficult to personalize those messages because of the various reasons that can lead to the churn prediction (Decrease in activity? Stopped adding new users? Multiple negative customer support requests?).

In the SaaS world, if a user will cancel his account, financially, this will cause at least a few hundred dollar of loss for the company.

It should almost always make sense to review manually the users and companies in risk of cancellation and reach out to make them happy again.

If you are still looking to automate this process, you can send an automatic email or in-app message inviting the customer to schedule a call with a senior personality in your company (for example, the CEO or head of customer success).

Fighting Churn is the easiest and most effective way to increase growth and revenue compared to other methods such as acquiring new customers.

What are you waiting for? Try Integration takes just 27 seconds, give it a try !