Skip to content

Repository files navigation

Bank Customer Churn Analysis using Python! 📊

🚀 Click here to view the full interactive notebook on Google Colab

📊 Click here to view the detail visualization and findings

Project Description

Customer churn is a critical issue for any business, and this project dives deep into a dataset of 10,000 customers to identify the key factors driving attrition. I focused on building a robust model to identify high-value customers at risk of churning, enabling proactive retention efforts. 🎯

Data Source

Kaggle >> Bank Customer Churn

📝 What I did:

  • Performed extensive Exploratory Data Analysis (EDA) to uncover hidden patterns. ✔️
  • Preprocessed and cleaned the data to ensure accuracy. ✔️
  • Built and evaluated several machine learning models, including Gradient Boosting. ✔️

🔮 Key takeaway:

  • The Gradient Boosting model emerged as the top performer, providing robust insights.
  • Churn rates are influenced by geographical location. While most customers are from France, the data shows that Germany has the highest churn rate. This disparity could stem from external factors as well as differing banking regulations, cultural norms, or fluctuations in interest rates across regions.
  • Male gender dominates churn rates compared to the female gender.
  • Credit card ownership influences churn rates. It might be a result of customers fully settling their credit card debts before deciding to move to a different bank.
  • The data shows that customers with poor and fair credit scores are the most likely to churn. This pattern could stem from the bank's initial credit assessment process, which considers factors such as the 5Cs (Character, Capacity, Capital, Collateral, and Condition), or from customers transferring their credit to other financial institutions.
  • Working-age groups churn more often than stayers. It may be a result of the productive-age group's greater willingness to diversify their credit sources, rather than staying loyal to just one financial institution. Opportunists seeking low interest rates could be a key factor.
  • Inactive customers are more likely to churn, which could be due to a lack of customer retention.

💡 Business Recommendations (Next Steps)

  • Conduct in-depth research on the products and services to be launched or marketed. Examples of these considerations include the expenses of product development, the value provided to customers, the market's reaction, and the product's unique selling points against rivals.
  • Increase customer retention, such as enhancing customer relationships (i.e., maintaining communication with customers, adopting a personalized approach, improving excellent customer service) and implementing loyalty programs (e.g.,member promotions, tiered rewards, customer loyalty points).
  • Communicate regularly with customers, including email newsletters, social media, and personalized messages, regarding new products, updates, and customer testimonials about bank services.

⚖️ License

This project is released under the MIT License.

👤 Contact

Jihan Dewana – @jihandewana

Feel free to fork this repository if you wish to test or utilize the code!

About

Python - Bank Customer Churn Analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages