I have two sample groups of customers, each customer has 100s of features. For a single sample, i would use Decision Trees to find sub-groups that have a high churn rate. Thats easy.

However, my requirement is: between two samples (below), find segment(s) such that in one sample its churn rate is high and in the other, it is low. In other words, find a sub-group which has the highest difference in churn rate.

What is an appropriate algorithm to solve this?


enter image description here

  • $\begingroup$ I think you can do it using entropy and information gain, do you know how they work? $\endgroup$ – Francesco Pegoraro Sep 24 '18 at 20:43
  • $\begingroup$ You could use clustering and find the groups with high and low churn rate, $\endgroup$ – user2974951 Sep 25 '18 at 6:26
  • $\begingroup$ I usually use decision tree to find the sub-groups, because i also need to explain those groups. My naive approach was to find all sub-groups in sample 1, and then apply the same decision tree rules to sample 2, and vice-versa, with a goal to maximize the churn rate of corresponding sub-groups. This approach didn't seem efficient to me. $\endgroup$ – Arslán Sep 25 '18 at 13:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.