I'm trying to decide how to go about this problem. I have a large database of customers, both who have churned at some point, and who are current.

I'm not sure how to create test/train sets from this. I would like to make a model that can predict the probability a customer will churn within say, the next 3 months.

Anyone have advice or links on how to deal with this. I did make a random forest model previously which simply predicted a probability of a yes or no to churn but I would like to refine it.

I'm mostly lost on what data I should extract to make my train and test sets, i.e, should I use multiple classes for each month etc.


closed as too broad by gung Jul 18 '18 at 16:48

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Also related: stats.stackexchange.com/questions/61498/… $\endgroup$ – Mike Z. Apr 2 '15 at 9:53
  • $\begingroup$ Can you further explain about your dataset? $\endgroup$ – Dawny33 Sep 4 '15 at 12:55
  • $\begingroup$ Basically I just have loads of customer level Data, transactions, demographics etc. My Current thoughts are to take all the customers who churned in the previous month, against all the customers who didn't. So I might have around 500K who didn't churn and so 5K who did, so it would be a rare event maybe? My idea is that I could run a current list of customers once a month based on the previous month's churn so it can capture any seasonal effects. $\endgroup$ – Grant McKinnon Sep 6 '15 at 23:41
  • $\begingroup$ You presumably want to look into survival analysis, but this is too broad to be answerable here. In essence, you need information on the whole project. $\endgroup$ – gung Jul 18 '18 at 16:48