Text this: Mitigating class imbalance in churn prediction with ensemble methods and SMOTE