Customer Churn Prediction - Programming & Databases Project

Github Link: github.com/MetinUnlu/customer_churn

This study is prepared as a first semester project for the Programming and Databases course. It focuses on predicting customer churn, a critical metric in business analytics, indicating the percentage of customers who end their relationship with a company in a given period.

Objectives

The primary aim of this project is to develop a predictive model that can accurately identify potential customer churn. This model can assist in strategizing customer retention initiatives effectively.

Data Source

The dataset for this project is sourced from the BCG Virtual Internship on the Forage platform. It includes features like customer usage patterns, contract details, and demographic information. Key preprocessing steps included handling missing values, feature engineering, and data normalization.

Technologies Used

  • Python
  • Pandas and Numpy for data manipulation
  • Matplotlib and Seaborn for data visualization
  • Scikit-learn for model building
  • TensorFlow for neural network models
  • Streamlit for deploying the web app

Model Information

Various models were explored, including Random Forest Classifier and Sequential Neural Networks. The final model choice was based on the balance between accuracy and computational efficiency.

Results and Observations

The final model achieved a notable precision score in predicting customer churn. Further details and insights are available in the interactive Streamlit application.

How to Run

To run this project locally:

  1. Clone the repository.
  2. Install the required dependencies: pip install -r requirements.txt
  3. Run the Streamlit app: streamlit run app.py

Project Demo

The project can be viewed live at Customer Churn Prediction Project.

Contact

For any inquiries or collaboration opportunities, feel free to reach out.