Predicting the best time to call customers using Machine Learning

AI
Analytics
Machine Learning
Customer Service
Banking
CASE STUDY
CLIENT | Confidential Portuguese Bank
INDUSTRY | Banking
DATE | 2022

Problem: Unknown Best Times to Contact Clients
The customer support teams at the confidential Portuguese Bank faced a significant challenge: they did not know the best day of the week or the time of day to make effective contact with each client. This lack of insight was negatively affecting productivity and limiting the success of commercial activities.
Objective
The bank approached started a competition through Inocrowd for startups to develop a machine learning algorithm that would provide three suggestions for the best time to contact a particular customer, enhancing the efficiency of the customer support teams.
Two Impulse was first in the competition among 12 participants.
Solution
Predictive Machine Learning Model
The data science team at Two Impulse took a systematic approach to analyze the dataset of past interactions with customers:
- Data Analysis: Various features, such as the working hours of each client and the times when clients visit the bank physically, were studied. These features were considered along with more classical metrics like precision, recall, f1-score, and accuracy.
- Model Selection and Optimization: The team conducted a benchmark of different algorithms and focused on optimizing the f1-score, given that the classes (attended or not attended) were not balanced. Techniques like Kolmogorov-Smirnov, Chi-squared, and Jensen-Shannon Distance were applied for concept drift and data drift.
- Implementation: The chosen algorithm was carefully optimized, considering the weight and performance of the model. The team made efforts in preprocessing and normalizing the data, with feature selection done through technical analysis.
- Integration: The solution was implemented in Python, with options for batch processing of all clients or creating a WebService API for recommendations. The model was also prepared for scaling using PySpark if needed.
- Monitoring and Improvement: A system for quantifying model degradation over time was established, with automation for model retraining when certain degradation was detected. Continuous feedback and new inputs were also considered.
Outcomes
Increased Success in Customer Call-In
With the predictive algorithm, the bank achieved a higher rate of success in calling customers. It not only increased productivity but also contributed to higher sales.
Scalable and Versatile Solution
The optimized code and flexibility in processing options meant that the solution was ready to use and could be adapted to different scales, providing a robust solution tailored to the bank's needs.
Risks and Considerations
Two main approaches were considered, with associated risks. In batch processing, the large volume of data meant that processing time would be higher. With the PySpark environment, re-implementation of the code was necessary.
Conclusion
Two Impulse's solution addressed a crucial productivity issue for the confidential Portuguese Bank, providing a data-driven approach to optimize customer contact times. The methodical analysis, tailored implementation, and consideration of scalability and risk make this a noteworthy case study in applying machine learning to enhance customer engagement in the banking industry.