Skip to content

Dev-Toledo/Customer-Churn-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Customer Churn Analysis

A data analysis project focused on understanding and reducing the customer cancellation rate (Churn) for a fictitious company.

📋 About the Project

A company with a base of over 800,000 customers noticed that the majority of its total base consisted of inactive customers who had canceled their service. The goal of this project was to analyze a database of these customers to identify the main reasons for these cancellations and propose data-driven action plans to reverse this scenario and improve results.

🛠️ Technologies Used

  • Python 3
  • Pandas: For data cleaning, processing, and manipulation.
  • Plotly: For creating interactive charts and visualizing metrics.
  • Jupyter Notebook / VS Code: As the development environment and for code documentation.

📈 Data Analysis & Results

The initial analysis revealed an overall churn rate of 56.7%, a critical number for the business's health.

To understand the root causes, the cancellation variable was cross-referenced with all other customer characteristics. The most impactful results explaining the churn were found in the following metrics:

1. Customer Age (idade)

There is a strong behavioral pattern related to age. We observed that customers over 50 years old have a cancellation rate of practically 100%.

Below is the visualization of the cancellation proportion (red) vs. retention (blue) divided by age.

Age Chart

2. Call Center Calls (ligacoes_callcenter)

The level of dissatisfaction measured by support contacts is an exact thermometer for churn. Customers who need to call the support center 5 or more times always end up canceling the service, indicating that issues are not being resolved in the first few interactions.

Call Center Chart

3. Contract Duration (duracao_contrato)

The subscription model directly impacts customer loyalty. Those with Monthly contracts represent the overwhelming majority of cancellations, while Annual and Quarterly contracts have an excellent retention rate.

Contract Duration Chart

4. Payment Delay Days (dias_atraso)

Short-term delinquency is a strong indicator of imminent departure. The data shows that customers who accumulate more than 20 days of delay in payment cancel their subscriptions almost unanimously.

Payment Delay Chart


🎯 Conclusions & Action Plans

Based on the extracted data, it is possible to implement direct action plans with a high financial impact for the company:

  1. Focus on Customer Service (Call Center): Create an internal alert system. When a customer makes their 3rd call, their service must be prioritized and escalated to a specialized customer success team to resolve the issue definitively, preventing them from reaching the 5th call.
  2. Incentivize Long-Term Contracts: Offer aggressive discounts or exclusive upgrade benefits to encourage Monthly plan customers to migrate to Annual or Quarterly plans.
  3. Preventive Delinquency Management: Implement a more agile billing process. If a customer reaches 10 to 15 days of delay, the system should send friendly reminders, offer renegotiation, or provide payment facilities before the fatal 20-day mark is reached.
  4. Review User Experience (Age): Investigate the reason for the massive rejection of the service by people over 50. It is necessary to conduct research with this demographic to understand if the issue is the platform's complexity or a lack of product fit for this profile.

💡 Solution Impact: Through code simulations, we observed that if only the critical issues of the Call Center, the Monthly Contract, and Delays > 20 days were resolved, the company's cancellation rate would plummet from 56.7% to just 18%.


⚙️ How to Run the Project Locally

  1. Clone this repository to your computer.
  2. Ensure the database file is in the same directory.
  3. Install the necessary libraries using the terminal:
    pip install pandas plotly nbformat
  4. Open the .ipynb file in your preferred editor (like VS Code) and run the cells sequentially.

🎓 Credits

Project developed as part of the educational material provided by Hashtag Programação.

About

An exploratory data analysis (EDA) pipeline built with Python, Pandas, and Plotly to uncover patterns in customer cancellation rates.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors