Globe Bank International — Customer Retention Analysis
Globe Bank International — Customer Retention Analysis Python Portfolio Project | End-to-End Customer Churn Analysis
Python Portfolio Project | End-to-End Customer Churn Analysis
Banks face a costly and persistent problem: customers leave without warning. As a retention manager, you might only see monthly reports that arrive too late. Key questions include:
This was the business problem I set out to solve.
I built a four-stage Python analysis pipeline that transforms raw customer data into actionable retention insights. The solution moves from data exploration to polished dashboards and prioritised recommendations — demonstrating a full analytical workflow.
Notebook: 01_setup_exploration.ipynb
CLIENTNUM identifierAttrition_Flag (0 = Retained, 1 = Churned)Key finding: 16.1% churn rate — 1,627 customers left out of 10,127.
Notebook: 02_cleaning_transformation.ipynb
Encoding applied:
| Column | Method | Detail |
|---|---|---|
| Attrition_Flag | Binary | Existing Customer = 0, Attrited Customer = 1 |
| Education_Level | Ordinal | Uneducated (0) → Doctorate (6) |
| Income_Category | Ordinal | < $40K (0) → $120K+ (5) |
| Card_Category | Ordinal | Blue (0) → Platinum (3) |
| Gender | Binary | M = 1, F = 0 |
| Marital_Status | One-hot | Dummy variables, drop first |
Features engineered:
| Feature | Meaning |
|---|---|
| Trans_Freq_Ratio | Transaction activity relative to tenure |
| Inactivity_Rate | Proportion of year spent inactive |
| Contact_Intensity | Contact frequency relative to tenure |
| Utilisation_Band | Utilisation ratio binned: Very Low / Low / Medium / High |
Output: data/processed/bank_churners_clean.csv — 10,127 rows × 30 columns
Notebook: 03_analysis_insights.ipynb
Techniques used:
Top 5 churn predictors:
| Rank | Feature | Importance |
|---|---|---|
| 1 | Total_Trans_Ct | Highest |
| 2 | Total_Trans_Amt | High |
| 3 | Total_Ct_Chng_Q4_Q1 | High |
| 4 | Total_Amt_Chng_Q4_Q1 | Medium-High |
| 5 | Months_Inactive_12_mon | Medium-High |
Insight: Transaction behaviour dominates churn prediction over demographics.
Notebook: 04_visualisation_storytelling.ipynb
Outputs:
| Output | Description |
|---|---|
| Executive Dashboard | KPI cards, churn split, transaction comparison, distribution charts |
| Top Churn Drivers Chart | Ranked horizontal bar chart with colour-coded importance |
| Demographic Breakdown | Interactive Plotly and static PNGs |
| Recommendations Card | Prioritised business actions in a visual card |
globe-bank-retention-analysis/
├── data/
│ ├── raw/
│ └── processed/
├── notebooks/
│ ├── 01_setup_exploration.ipynb
│ ├── 02_cleaning_transformation.ipynb
│ ├── 03_analysis_insights.ipynb
│ └── 04_visualisation_storytelling.ipynb
├── outputs/
│ ├── figures/
│ └── reports/
├── .gitignore
├── README.md
└── requirements.txt
| Category | Tools |
|---|---|
| Language | Python 3.13 |
| Data manipulation | pandas, numpy |
| Visualisation | matplotlib, seaborn, Plotly |
| Statistical analysis | scipy (Welch’s t-test, Cohen’s d) |
| Machine learning | scikit-learn (Random Forest) |
| Environment | Jupyter Notebook, VS Code |
| Priority | Finding | Recommended Action |
|---|---|---|
| HIGH 🔴 | Low transaction activity | Trigger automated re-engagement campaigns when transaction count drops below the 3-month rolling average |
| HIGH 🔴 | Inactive customers churn | Implement 60-day inactivity alerts with personal outreach |
| MEDIUM 🟠 | Fewer bank products | Cross-sell complementary products to single-product customers |
| MEDIUM 🟠 | High contact frequency | Flag customers with 3+ contacts in 12 months for proactive satisfaction review |
| LOW 🟡 | Lower income segments | Review product-market fit and offer tailored entry-level cards |
Technical lessons:
Design lessons:
Process lessons:
| Built with Python 3.13 | pandas | matplotlib | seaborn | Plotly | scikit-learn | Jupyter | VS Code |
| Project Duration: March 2026 | Status: Complete and Portfolio-Ready |
Globe Bank International — Customer Retention Analysis Python Portfolio Project | End-to-End Customer Churn Analysis
Training Analytics Dashboard Power BI Portfolio Project | Data-Driven Talent Development Insights
Introduction This SQL project involves analyzing the sales and customer data of H+ Sport, a fictitious company that sells nutritional products and active lif...
Introduction The project is to demonstrate the use of SQL to extract meaningful insights from a hospital database. This includes analysing patient demographi...
Your brain has two systems, a slow analytical side and a quick, instinctive “gut” side. For the most part, the instinctual side is lazy, conserving its energ...
“Color does not add a pleasant quality to design—it reinforces it.” — Pierre Bonnard
Tips for Designing a Color Palette In the first two sections of this book, Color Limitations and Color and Emotions, we looked at some interesting facts abou...
Color and Emotions Mention Thanksgiving to any American and they will paint a picture in their head with gold, orange, red, and brown hues. It will also like...