I am trying to build a predictive churn model that will identify customers who are likely to churn. I am defining a churned user as someone who hasn't transacted within 60 days. 90% of all transactions occur within 60 days of one another so this feels reasonable.

I have very limited behavioural data; however. I have a record of a user's transactions and I have access to Google Analytics (GA). GA does not, however, allow me to track the specific actions of a user - everything is aggregated across the entire user base.

I have recommended that we track and keep a record of users' navigation across the website, buttons clicked, times logged in etc. but this has been rejected as it has been deemed unnecessary because we have Google Analytics. Am I being unreasonable? And are there any workarounds. I don't think I'm going to be able to make much of a churn forecasting model with basic information like a user's address, age, and transactions.


1 Answer 1


You are not being unreasonable but it is hard to know if they are being reasonable or not as well. If they feel the existing amount of information is enough, from which one can derive many other things, and what the definition of churn is, then it is also fine to abide by them. Of course, it is better to have the data you are looking for in terms of tracking user behavior on the website but that's not all.

Definition of Churn:

This definition can vary and you need to ask yourself how you are going to define it.

Do you consider someone to have churned once they stopped buying after X days, in your case 60, irrespective of what they are doing on the website? Does a failed transaction or a pending transaction such as added to cart but not yet ordered count as churned?

If you only consider someone to have churned if there has been no successful transaction within 60 days, then you can look into many other factors.

May be you have considered these things already but for future viewers, I will still add how I approached problems like these in the past.

Given that you have data of the customers' orders, you can now derive the following:

1) Average sales value of the customer

2) Count of the number of orders

3) What category of products they have bought

4) Age of the customer since first order or account creation or both

5) When was the last placed order

The above points already show you have more or less tried to get the Recency-Frequency-Monetary aspects of a customer.

Using this, you can now create extra columns of features, if required and helpful, to study how these customers buying products from particular Category Z behave.

1) What is their average

2) How does it fare with an individual customer's buying behavior

3) How often do these group of customers buy products

4) What are the other related products they have been buying

5) The shortest and longest time period for a customer belonging to a particular category to be back again and place an order on the shop

So, there you go, you have just extracted so much information from the most basic order information. You can of course extract more and more out of these data as well. However, whether this is enough or not is a matter of the problem statement, amount of data, and of course opinion.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.