I am doing a customer retention/churn prediction project where I have a dataset where each row comprises a customer's data/activity. Each column comprises the past 6 months of a customer's activity/behavior: past_6months_no_of_orders, past_6months_total_gmv, past_6months_total_logins, past_6months_time_spent_on_app, tenure, etc. (The past 6 months are taken rolling back from start of the fully completed month. For example, if the current date is 10-12-2021, I take June to November 2021 data.) The goal is predicting/classifying whether they churn or not in the next month.

Example of the dataset:

customer_id past_6_months_orders past_6_months_gmv past_6_months_xx churn_indicator
01234 32 2,223 xx 0
01235 2 21 xx 1

Currently, I split my data 80% train and 20% test as of Nov 2021. If I want to start front testing my model for the upcoming months, I realized that I can't use this split method because I wont be able to predict the 80% of customers that were used as training data to train my model.

How should I change the input of my dataset to train and test my model as the new months of data come in? Can I use the same customer data to train my model? and test it using the same customer data, but with newer months of data?


1 Answer 1


The model in production should have been trained on all the data you have.

Assuming your model selection workflow is sound, that's the best model you can make. Test it periodically against new data, to check that it's still fit for purpose.


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.