I am developing a churn model for a subscription business. The churn rate is 7% yearly for it. The training data was prepared in such a way that customer information is tracked at the start of the year where only active customers are tracked. By the end of the year, the customer tag of churned/active customer is taken. The data is also tracked till the end of the period for the active customer and till the churn period for a disconnect customer. There is good accuracy for this approach but during prediction it is poor as there is not much difference between customers who stay active vs those who churn.
Please advice on what should be changed to make better predictions!