I want to predict whether people will renew their yearly subscriptions. I want to make this prediction though for each user on every day of their subscription up until the day before the subscription ends (i.e., make predictions for each user on day 1, 2, 3... 364).
A simple approach is to obtain training data by randomly sampling users at some point in their history (e.g., look at the information we knew about user 1 when they were 300 days away from renewal; look at what we knew about user 2 when they were 23 days away from renewal, etc) and then build a model with a "days away" variable.
One issue with this approach is that unless you have a ton of data, the model won't perform as well on any given "days away" (e.g., 30 days before) as a model in which all data was trained with the same
days_away (all users data was limited to what we knew about them exactly 30 days before they were up for renewal).
I'm curious now about other people's thoughts about how to best train a model(s) that can update its prediction each day as the prediction event gets closer in time. Are there better ways to approach it than the approach outline above?