So is it as easy as point-estimating this wave? A regression problem? Nope. If some user has a longer time to the next purchase it’s reasonable to say that they are more churned. We can visualize this as a kind of sawtooth-wave: I think the most natural thing is to predict the time to the next event at each timestep. The next trick is to define what you want to predict which can be done in multiple ways. We want to use these features to sequentially predict the future using historic data: Here’s a few examples of what the events and the features could be for an individual timeline: We can stack these timelines on top of eachother to get some overview on who had data when:ĭivide your dataset so that you have the events (like purchases or logins) that matters for your churn definition and features (clicks, purchases, logins etc) that can be used to predict them. You can think of each customer as a timeline starting from when we first saw them until today. The raw data that we have to work with are a series of records for each customer. If a customer has a longer time to a future event that customer is more churned. If there’s an event happening in the future we can define the time to that event from any prior point in time. My philosophy is losely that if something happens in the future that can be used to define the customer as non-churned we can define this something as an event. Churn prediction = non-event predictionĭon’t predict churn, predict non-churn. The first is to frame the problem in a good way. I’ll try to give you a few tricks that helps you speed up this modeling process. You probably can’t know the current churn rate, you need your churn-model to predict/estimate it.Īfter realizing this and snapping out of the dream, data scientists will often end up defining it by drawing some arbitrary line in the sand like ‘no purchase for 30 days’.What does churn mean? Million dollar question.What’s the shape of the feature vector? Fixed width with static features or aggregated over time implying different measurement errors? Isn’t it really time series for each customer?.What does a customer mean? A customer at a given point in time? A subscription plan? A non-‘churned’ period of a given customer-id?.What does will mean? We all ‘churn’ at some point :(.As you dig into the details you discover an abyss of vagueness. The problem stems from some type of linguistical bug - our intuition around churn seems to be riddled with hidden temporal assumptions and engrained circular reasoning. Even though we often know a churned customer when we see them, operationalizing this fuzzy concept can be hard. The machine learning model we want to build uses features for customer to estimate the probability of churning, i.e the churn score™. The churn-rate is the mean change in the number of churned customers. You only need to google ‘churn prediction’ to realize that a bunch of stakeholders have this scary idealized view of the problem:Ĭustomer has a feature vector and a binary target value : Even here they assumed that the definition of a churned customer is written in stone which is typically not the case. I think they could have gone further than that. There’s been a couple of great articles where the author is almost ashamed to admit how hard it is to define an aggregate churn metric. Predicting the destruction of jet-engines. Churn prediction = non-event prediction.The focus is on the objective (function) which you can use with any machine learning model. And yes, of course it involves deep learning but I won’t talk much about it here. It turns out that the model that I’ll tell you about might be a good solution for those problems too. In doing so it becomes identical to that of trying to predict when patients will die, when machines will fail or when an earthquake is about to hit. The real trick is to define the problem in a way that makes the solution obvious. The topic of this post is how to avoid these pitfalls by choosing a smart modeling strategy and by using what I think is a pretty neat machine-learning model, what I call the WTTE-RNN. You can’t imagine how many complex and hacky ways there are to do this. The task is to predict whether customers are about to leave, i.e churn. Mobile readers be aware: this article contains many heavy gifsĬhurn prediction is one of the most common machine-learning problems in industry. (How to model and predict churn using deep learning)
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |