# shraddhadangat/predictive-churn-analysis architecture

> Architecture diagram of the GitHub repository shraddhadangat/predictive-churn-analysis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shraddhadangat/predictive-churn-analysis
- Repository: https://github.com/shraddhadangat/predictive-churn-analysis

## Overview

This is a notebook-based customer churn prediction project. Its documented workflow loads the CSV, prepares and splits the data, fits logistic regression, evaluates the model, and identifies high-risk customers from churn probabilities. The README establishes these stages and the reported metrics; no notebook source was available to verify implementation details or additional wiring.

Main entry points: [`Predictive_Churn_Analysis.ipynb`](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb) (Logistic Regression), [`customer_churn_model_v2.csv`](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/customer_churn_model_v2.csv) (Churn Dataset)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_preparation["Data Preparation"]
  node_loading["Data Loading"]
  node_preprocessing["Preprocessing"]
  node_encoding["One-Hot Encoding"]
  node_scaling["MinMax Scaling"]
  node_split["Train-Test Split"]
end

subgraph group_modeling["Modeling"]
  node_logistic["Logistic Regression"]
end

subgraph group_analysis["Prediction &amp; Analysis"]
  node_evaluation["Model Evaluation"]
  node_probability["Churn Probability"]
  node_risk["High-Risk Customers"]
end

node_analyst(("Analyst"))
node_dataset["Churn Dataset"]

node_analyst -->|"starts analysis"| node_loading
node_dataset -->|"loads data"| node_loading
node_loading -->|"prepares data"| node_preprocessing
node_preprocessing -->|"encodes features"| node_encoding
node_encoding -->|"scales features"| node_scaling
node_scaling -->|"splits data"| node_split
node_split -->|"fits model"| node_logistic
node_logistic -->|"evaluates model"| node_evaluation
node_logistic -->|"predicts probability"| node_probability
node_probability -->|"identifies risk"| node_risk

click node_dataset "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/customer_churn_model_v2.csv"
click node_loading "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_preprocessing "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_encoding "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_scaling "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_split "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_logistic "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_evaluation "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_probability "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"
click node_risk "https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_loading,node_preprocessing,node_encoding,node_scaling,node_split toneBlue
class node_logistic toneAmber
class node_evaluation,node_probability,node_risk toneMint
class node_analyst toneIndigo
class node_dataset toneTeal
```

## Components

### Data Preparation

- [Data Loading](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [Preprocessing](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [One-Hot Encoding](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [MinMax Scaling](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [Train-Test Split](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`

### Modeling

- [Logistic Regression](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`

### Prediction & Analysis

- [Model Evaluation](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [Churn Probability](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`
- [High-Risk Customers](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/Predictive_Churn_Analysis.ipynb): `Predictive_Churn_Analysis.ipynb`

### Other components

- **Analyst**
- [Churn Dataset](https://github.com/shraddhadangat/predictive-churn-analysis/blob/main/customer_churn_model_v2.csv): `customer_churn_model_v2.csv`

## Connections

- Analyst → Data Loading: starts analysis
- Churn Dataset → Data Loading: loads data
- Data Loading → Preprocessing: prepares data
- Preprocessing → One-Hot Encoding: encodes features
- One-Hot Encoding → MinMax Scaling: scales features
- MinMax Scaling → Train-Test Split: splits data
- Train-Test Split → Logistic Regression: fits model
- Logistic Regression → Model Evaluation: evaluates model
- Logistic Regression → Churn Probability: predicts probability
- Churn Probability → High-Risk Customers: identifies risk
