Let's say I have a data set where the goal is to forecast the future customer base of a cell phone carrier. The data is set up in monthly snapshots, where I have information for each customer at the beginning of each month, along with the exact date the customer left the carrier (if it occurred). I also have covariates, both time-varying (like tenure with the carrier, data used) and variables that might be considered more static (type of phone, gender of customer). I have data from the last few years, and so it looks something like this:
Customer Snapshot Phone_Type Tenure_in_months Churn_Date 1 1/2012 iPhone 20 NA 1 2/2012 iPhone 21 NA 1 3/2012 iPhone 22 3/12/2012 2 2/2012 Samsung 1 NA 2 3/2012 Samsung 2 NA 2 4/2012 Samsung 3 NA 2 5/2012 Samsung 4 NA
Certainly I could take a simple approach where I calculate the monthly churn rate across everyone, and then use this probability to construct a survival curve for everyone in the data set. This approach isn't optimal, as I know the churn rate likely differs between certain customers (i.e., people who have a late payment, or those with a certain phone model), and I'd like to capture those patterns to create better predictions. This leads me to the following two options, each of which I have a question about.
Option 1: Survival analysis
Because this data is censored, one option I thought of would be to use a survival model where I could get the survival curves for each customer, and then sum the predicted probabilities of survival at a given point in time to get an estimated number of customers (assuming we only care about the current customer base and not any new customers that may sign up).
However, the way the data was collected is different than a more traditional survival analysis scenario, where all participants have the same or similar t0. In this case, the data set only includes two types of customers: Those who signed up before the data was collected (in 2012) but still are customers of this cell carrier, and those who joined the carrier after the data started being collected. The third type, those who joined and left before 2012, are not included, which leads me to believe that a survival approach on this entire sample would be impacted by survival bias.
Question 1: Am I right in thinking a survival approach is not appropriate on the entire sample given my concern about survival bias? If not, why not?
Option 2: Classification algorithm
Rather than run a survival model, an alternative approach might be to run a series of classification models, one for each month. For example, the 1/2012 model would filter the data set on these rows, run a model (assume a decision tree for simplicity), and predict the binary indicator of churn for that given month. The issue here would be that the decision tree for each month likely will be different, so it's not totally clear what the final model would look like in terms of forecasting.
Question 2: If a classification approach is better in this example, how do I go about creating the model to use in forecasting given separate models for each month?
This is similar to the question posted here, but I have specific questions about survival bias that might be at play. I'm new to survival modeling, so any insights or directions to resources that put me on the right path would be greatly appreciated!