I'm trying to define a churn prediction model for an online service (betting/gambling). A lot of papers talk about churn analysis/prediction for telco companies where defining a churn user is straightforward: a churn user is a user who cancels his or her contract. I'm wondering how to define a churn user within the context of an industry where users don't cancel any contract/account?

I can envision a general approach: if a user who plays every day for a month stops playing for 2 days, this is could be flagged, but a user who only plays once a week and then has no activity for 2 days would not. What's the best approach to encoding this logic algorithmically? Is survival analysis and good approach?

  • 1
    $\begingroup$ Are you trying to predict when someone is likely to churn or to detect when someone has churned? Survival analysis is a reasonable choice for the first but for the latter I would recommend something else -- potentially change point analysis. $\endgroup$
    – David
    Sep 3, 2015 at 22:22
  • $\begingroup$ Can you be more specific on what you mean by churn? In financial services, churning means a broker making many transactions in a short period of time for the purpose of collecting additional fees from a client. However, you seem to be talking about something all together different, like a user getting cold feet and making less (not more) transactions. $\endgroup$
    – PabTorre
    Oct 5, 2015 at 3:12

3 Answers 3


Another approach would be to model "churn" (aka "diminished use of the service, including non-use") as a process and not an event. Years ago in retention marketing this was called a "defection funnel", to mirror the "sales funnel" on the customer acquisition side (suspect -> prospect -> trial customer -> repeat customer -> loyal customer). So a defection funnel might look like this:

loyal/frequent customer -> disaffected customer -> infrequent customer -> non-customer

It is proper to label this a "funnel" because a subset of each stage move on to the next stage. Not all "disaffected customers" become "infrequent customers", and so on.

There are two keys to defining a defection funnel. First, define the behavioral characteristics for the funnel as a whole, and for each stage (category) within the funnel. In your case, it might be a variation of the familiar RFM ("recency" "frequency" and "monetary") score. Second, you need to identify other behavioral characteristics or patterns that show a propensity to move from one stage to another. These might include: complaints, being victim of trolling, experiencing service interruptions, experiencing betting losses, how long they have been using the service, or maybe it is just demographics.

With these definitions in place, you are in a position to build a predictive model and also track over time the population of customers in each category.

By the way, this approach is not dependent on dividing the funnel into "stages", nor does it matter fundamentally how many stages you have. However, defining discrete stages has many practical benefits, including communicating your model and results to other people who are not quantitative or statistically minded.


First I want to say Dirk is basically correct that survival analysis doesn't have to model death it's used essentially the same way for looking at user groups in cohort analysis. However, it is unreliable for specific individual behavior activities, for say fraud management. Revenue analysis and trend forecasting are great uses of survival models.

That having been said the situation is not hopeless for individual behavior, simply not so straight-forward. Having run into a similar situation in pre-paid card accounts for a mobile company ... you can model an individual's behavior in the way your trying to, by modeling it as a process control issue, and then following good practice. By randomly sampled data(important) of an individual's behavior (usage) and comparing it to similar behaviors of other user's (normalizing for environmental factors) and looking at the control points, more than 3 sequential out of control points in a period or more than 8 overall is base set. This can then give you a set "suspicious" potentially "churn or fraud" activities which can then be analyzed and labeled to train better models.

Hope that's helpful :)


You should first define what your churn event is which you have started. Is it global or individual? Is it has not gambled for 3 months or has changed his pattern? Global is better to model. You can use survival models for this.

  • $\begingroup$ Dirk thank you for the answer. The thing that is giving me (lots of) problems is the definition of a churn event, because this is not a subscription-based service. Isn't survival analysis only useful for model where I have a "death event" (a user who cancels his subscription, a patient who dies, etc.)? $\endgroup$
    – Geims Bond
    Aug 5, 2015 at 7:54
  • $\begingroup$ Survival doesn't have to model death. You can define it, make sure it's definition is accepted in the business. $\endgroup$
    – Dirk N
    Aug 6, 2015 at 10:07

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.