# Modeling customer churn - Machine learning versus hazard/survival models

Is their any rational (theoretical, substantial, statistical) to opt for either machine learning or hazard models when modeling customer churn (or more general, event occurences)?

• The two - why do you think they are either-or? – EngrStudent - Reinstate Monica Sep 8 '15 at 20:19
• Here is an example of machine learning and survival analysis ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1603631 bound to be more. IIRC there was some work done on survival analysis based on microarray data using machine learning type approaches (e.g. L1 regularization). – Dikran Marsupial Sep 9 '15 at 11:52
• For example: blog.wikimedia.org/2011/06/28/… – majom Oct 2 '15 at 20:48
• Professor Tibshirani is a great counter example to the idea "Machine learning and hazard models are disjoint". – Cliff AB Oct 29 '15 at 6:45
• If you by machine learning model mean defining it as binary prediction I'd say that if you have loads of data and a very clear definition churn/your query is a binary query then binary is the way to go. This is usually not the case so then you want to predict a hazard. Sorry if self-promotion but I wrote this piece to answer this question which I had a year ago. You can also easily make hazard models a machine learning problem so it's kind fo a false dichotomy as noted. – ragulpr Feb 1 '17 at 15:00

I think your question could be further defined. The first distinction for churn models is between creating

(1) a binary (or multi-class if there are multiple types of churn) model to estimate the probability of a customer churning within or by a certain future point (e.g. the next 3 months)

(2) a survival type model creating an estimate of the risk of attrition each period (say each month for the next year)

Which of the two is correct for your situation depends on the model use. If you really want to understand the attrition risk over time and perhaps understand how (possibly time-varying) variables interact with time then a survival model is appropriate. For a lot of customer models, I prefer to use discrete time hazard models for this purpose because time is often discrete in databases and the hazard estimate is a probability of the event. Cox regression is another popular choice but time is treated as continuous (or via adjustment for ties) but the hazard is technically not a probability.

For most churn models, where a company is interested in targeting those x% of customers most at risk and the database is scored each time a targeting campaign launches, the binary (or multi-class) option is normally what is needed.

The second choice is how to estimate the models. Do you use a traditional statistical model such as logistic regression for the binary (multi-class) model or a machine learning algorithm (e.g. random forest). The choice is based on which gives the most accurate model and what level of interpretability is required. For discrete time hazard models, a logistic regression is typically used with splines to introduce non-linear effects of time. This can also be done with neural networks and many other types of ML algorithms as the setup is simply supervised learning with a "person-period" data set. Further, cox regression can be fit with traditional algorithms like SAS proc phreg or R coxph(). Machine learning algorithm GBM also fits cox regression with a selected loss function. As has been mentioned, ML algorithms for survival analysis using random forests and other tree based methods have also been developed and there are many within R.

• (+1) Though I think it depends on more things than you mention. The predicted probability of churn within 3 months can be read off a survival model, & if it's a good model that might be a better estimate than one from model fitted to just the binary outcome of churn after or before 3 months. – Scortchi - Reinstate Monica Dec 1 '15 at 10:58
• How can one predict a probability of churn within three months using a random forest, logistic regression or C5.0 model? Is this even possible? – Seanosapien Oct 27 '17 at 13:17
• @Seanosapien, you can take your churn dataset with information about when each user churned, and for each user assign 1 if they churned before 3 months, and 0 if they did not churn before 3 months. Then you can fit e.g. a logistic regression model on the binary data and assign probabilities to new users based on the fit model – Kdawg Mar 7 '18 at 9:58
• @Kdawg Thanks. I have managed to figure out a way to engineer a dataset to model with churn in mind. – Seanosapien Mar 7 '18 at 15:19

First of all I would clarify where exactly you make the distinction between machines learning and hazard models. From my understanding the ml literature distinguishes between parametric and non-parametric models (among others).

And second, what do you need the model for? Is it for scientific research or something else? In any event choosing the appropriate model to describe you data is first of all depended on what you need the model for.

To your question: It depends on how much you know about the data generating process.

If for example you take the famous coin flip or die roll, you have a very good idea about the process that generates the expected outcome of an experiment.

In that case you really want to use a parametric (bayesian or frequentist) estimation because they will give you a very good estimation of the unknown parameter. Furthermore these models are very well understood, which has many advantages.

If you don't know the data generating process, or you are uncertain of it, you don't have much of a choice, will need to estimate the parameters that describe the data from the data itself. If you decide for such an approach, you must accept that these models have drawbacks (depending on the specific model etc.)

From my understanding the less you know about a process, the more you will need to estimate from the data itself, which will certainly come at price.