How to split dataset into training and testing when intending to go into production? 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?

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.
