Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We want to work out a value for "Average time in service" for our users.

However, as we have many subscribers still active, how can we do that? If we just look at average time of deactivated subscribers, that won't show the picture.

Is there some "correct" way to do this? We know our churn rate by month, so maybe we need to work out from those still on the service, when they're likely to leave? and use that?

share|improve this question
A little bit more detail would be ideal to get the question. At least, how does your data look like, who are the subscribers, what do they have to do with average time, and how is 'average time in service' defined? – Henrik Sep 15 '10 at 11:05
I agree with Henrik. The more precise your question is, the better the answer will be. – csgillespie Sep 15 '10 at 12:12
Average time in service is simply the number of days from when they first appear in our system, to when they choose to leave. The data available is the subscriber identifier, the current state (i.e. whether or not they've left yet) and the date they joined (and also the date they left if applicable) – Codek Sep 16 '10 at 14:08
up vote 1 down vote accepted

onestop is right, you're looking to do survival analysis. In general, you can use a nonparametric Kaplan-Meier estimator to plot the survival curve and then derive the "average time in service". The area underneath the survival curve works if you don't have any censored data (i.e. subscribers who are still active). Michael Berry had a nice and clear explanation of this in a blog post for a business scenario similar to yours:

In your case, where you have censored data, the median time (0.5 quantile) is available as the "average time in service" -- as noted by @onestop.

Harvey Motulsky's book has a nice discussion of this:

share|improve this answer
Note that it's often not possible to calculate the mean (without making parametric assumptions about the distribution) as the longest observed time is usually too short for the survival curve to reach zero, often it's not even close. You can estimate some of the quantiles, such as the median time, however, though which ones depends on the proportion who experience the event. – onestop Sep 16 '10 at 6:09
@onestop: thanks, I fixed my answer to note the mean/censored issue. – ars Sep 16 '10 at 16:23
That is great thanks, the graphpad page was perfect - Fig 6.4 gave me what I needed to know. We havent yet got 50% dead, so technically it's not possible to work out, but i did some forecasting to get to that point. – Codek Sep 22 '10 at 15:13
As @ars points out there is the notion of the "truncated mean" which is the area under the survival curve. Michael Berry discusses it and also mentioned as "Mean survival restricted to time L" at the following: – B_Miner Feb 23 '11 at 18:22

Sounds like Survival analysis to me. The still active subscribers have censored times.

share|improve this answer
Excellent thanks, i'll read up on that shortly. – Codek Sep 16 '10 at 14:09
Is there any software around to assist in the analysis? – Codek Sep 16 '10 at 14:26

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.