I'm working on creating a survival model to forecast customer retention using the Cox Proportional Hazard model in R. I'm using the tenure of existing customers, in addition to other metrics, such as location, to forecast what their survival likelihood is looking x days into the future.
I use tenure as a parameter because a customer who has been around for 250 days is much more likely to retain than one who was sold 30 days ago.
I've run into an issue in building the model and handling the tenure parameter. For my first attempt, I pulled the historical data of customers and assigned tenure as a random integer between 0 and how long they have been a customer and built the model using that. While forecasting retention using this method, current customers with low tenure were essentially penalized as the customers in the data used to build the model with a low tenure were likely to have retained poorly (random number between 0-30 for a poorly retaining customer is much more likely to be low vs a random number between 0-735 for a customer who retains well). Retention for these early customers was lower than I would have expected.
For my second attempt to build the model, I applied created a data point for each day a customer was in our network. (E.g. a customer who retained 30 days would have 30 lines (1-30) and one who retained for 735 days would have 735.) This worked well for the tenure parameter but I think it too heavily weighted well retaining customers for parameters that weren't time dependent (location, for instance). Using this methodology, retention was higher than expected for these customers.
I'm wondering if there is a way to handle both of these parameters so as to not weight non time dependent parameters too heavily but still accurately take tenure into account.