A few years ago, I helped an Indian payments company build its data platform. The company provided card swipe machines to its customers. Its customers included large retail chains to mom-n-pop stores. The company had a huge feet-on-street team to acquire and service customers.
The company’s revenue had two components – a fixed rental fee per machine, and a variable transaction processing fee. The higher the number of card swipes on the machine, the better for the company.
Customer churn was a big problem. Typically customers churn when they no longer want to use your services. But the scene here was different.
Churn was of two types:
- Churned Customer: the customer cancels the contract and returns the machines.
- Dormant Customer: the customer pays the swipe machine rental fee but does no or very few transactions. Customers typically had swipe machines from at least two payments companies. They would use one as primary and others as backup. One or two transactions fail on the primary machine and it becomes the backup.
As a payments company, you want your machines to be primary.
The challenge before the company was to identify dormant customers so that the service team can activate them – convince customers to make their machine primary again.
Pinging the machines wasn’t helping as the machines would be active but not being used for transactions. So it became a data problem.
Can the data team identify dormant customers as soon as they become dormant?
When you have tens of thousands of machines being used across India, it becomes a challenging problem. Add to that the following complexities:
- Some customers are open for business 7 days a week, while others are open 6 days a week.
- Not every customer has Sunday as a weekly off. Some have Tuesdays or Thursdays.
The data science team first tried to build a machine learning model to identify dormant customers. They tried assigning a dormancy score to every customer. But it was hard to build an ML model. Secondly, a dormancy score doesn’t explain the reasons to the service team. Saying a customer has a 90% dormancy score doesn’t help the service team.
Instead, telling the customer service team that a customer’s daily transactions have fallen from 190 to 25 gives them the required context. The service team can use this information when talking to the customer.
This is how anomaly detection can help you reduce customer churn. It not only helps you identify customers likely to churn but also gives your teams the required information.