# astrozoid2604/maybank_assessment architecture

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

- Interactive diagram: https://gitdiagram.com/astrozoid2604/maybank_assessment
- Repository: https://github.com/astrozoid2604/maybank_assessment

## Overview

This is a banking analytics project to identify existing NORMAL customers who may qualify as hidden AFFLUENT customers and recommend segment-upgrade strategies. The documented workflow covers customer-data exploration and feature selection, data processing (including imputation, encoding, dimensionality reduction, and imbalance handling), predictive modeling and evaluation, then upgrade recommendations. The tree also shows prepared-data, model-output, and recommendation artifacts. No source excerpts were provided, so links between those artifacts are shown as unverified where the README does not establish them.

Main entry points: [`JAMESLIM_notebook.ipynb`](https://github.com/astrozoid2604/maybank_assessment/blob/main/JAMESLIM_notebook.ipynb) (EDA and features), [`dataset/DATA_INIT.pkl`](https://github.com/astrozoid2604/maybank_assessment/blob/main/dataset/DATA_INIT.pkl) (Initial datasets), [`dataset`](https://github.com/astrozoid2604/maybank_assessment/tree/main/dataset) (Balanced datasets), [`model_training_tuning_output/consolidated_result.pkl`](https://github.com/astrozoid2604/maybank_assessment/blob/main/model_training_tuning_output/consolidated_result.pkl) (Tuning results)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Customer analysis"]
  node_customer_data[("Customer data")]
  node_eda["EDA and features"]
end

subgraph group_processing["Data processing"]
  node_initial_data[("Initial datasets<br/>[DATA_INIT.pkl]")]
  node_processed_data[("Balanced datasets")]
end

subgraph group_modeling["Predictive modeling"]
  node_modeling["Model training"]
  node_model_results["Tuning results"]
  node_result_loader["Result consolidation"]
end

subgraph group_recommendations["Upgrade strategy"]
  node_strategy["Upgrade recommendations"]
  node_final_customers["Recommended customers"]
end

node_bank(("Bank team"))

node_bank -->|"analyzes"| node_customer_data
node_customer_data -->|"explores"| node_eda
node_eda -.->|"prepares"| node_initial_data
node_initial_data -.->|"transforms"| node_processed_data
node_processed_data -.->|"trains on"| node_modeling
node_modeling -.->|"evaluates"| node_model_results
node_model_results -.->|"loads"| node_result_loader
node_result_loader -.->|"informs"| node_strategy
node_strategy -.->|"selects"| node_final_customers

click node_eda "https://github.com/astrozoid2604/maybank_assessment/blob/main/JAMESLIM_notebook.ipynb"
click node_initial_data "https://github.com/astrozoid2604/maybank_assessment/blob/main/dataset/DATA_INIT.pkl"
click node_processed_data "https://github.com/astrozoid2604/maybank_assessment/tree/main/dataset"
click node_modeling "https://github.com/astrozoid2604/maybank_assessment/blob/main/JAMESLIM_notebook.ipynb"
click node_model_results "https://github.com/astrozoid2604/maybank_assessment/blob/main/model_training_tuning_output/consolidated_result.pkl"
click node_result_loader "https://github.com/astrozoid2604/maybank_assessment/blob/main/Loading_consolidated_result.ipynb"
click node_strategy "https://github.com/astrozoid2604/maybank_assessment/tree/main/recommendation_output"
click node_final_customers "https://github.com/astrozoid2604/maybank_assessment/blob/main/Finalized_recommended_customers_for_upgrade.xlsx"

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_customer_data,node_eda toneBlue
class node_initial_data,node_processed_data toneAmber
class node_modeling,node_model_results,node_result_loader toneMint
class node_strategy,node_final_customers toneRose
class node_bank toneIndigo
```

## Components

### Customer analysis

- **Customer data**
- [EDA and features](https://github.com/astrozoid2604/maybank_assessment/blob/main/JAMESLIM_notebook.ipynb): `JAMESLIM_notebook.ipynb`

### Data processing

- [Initial datasets](https://github.com/astrozoid2604/maybank_assessment/blob/main/dataset/DATA_INIT.pkl): `dataset/DATA_INIT.pkl`
- [Balanced datasets](https://github.com/astrozoid2604/maybank_assessment/tree/main/dataset): `dataset`

### Predictive modeling

- [Model training](https://github.com/astrozoid2604/maybank_assessment/blob/main/JAMESLIM_notebook.ipynb): `JAMESLIM_notebook.ipynb`
- [Tuning results](https://github.com/astrozoid2604/maybank_assessment/blob/main/model_training_tuning_output/consolidated_result.pkl): `model_training_tuning_output/consolidated_result.pkl`
- [Result consolidation](https://github.com/astrozoid2604/maybank_assessment/blob/main/Loading_consolidated_result.ipynb): `Loading_consolidated_result.ipynb`

### Upgrade strategy

- [Upgrade recommendations](https://github.com/astrozoid2604/maybank_assessment/tree/main/recommendation_output): `recommendation_output`
- [Recommended customers](https://github.com/astrozoid2604/maybank_assessment/blob/main/Finalized_recommended_customers_for_upgrade.xlsx): `Finalized_recommended_customers_for_upgrade.xlsx`

### Other components

- **Bank team**

## Connections

- Bank team → Customer data: analyzes (evidence: `README.md`)
- Customer data → EDA and features: explores (evidence: `README.md`)
- EDA and features → Initial datasets: prepares
- Initial datasets → Balanced datasets: transforms
- Balanced datasets → Model training: trains on
- Model training → Tuning results: evaluates
- Tuning results → Result consolidation: loads
- Result consolidation → Upgrade recommendations: informs
- Upgrade recommendations → Recommended customers: selects
