Back to All Projects & Case Studies
Machine LearningProduction Engineering Case Study

Customer Segmentation & 3D Clustering Dashboard

K-Means & Hierarchical Clustering Analysis with Interactive 3D Visualizations

PythonScikit-LearnK-Means3D PlotlyPCAStreamlit

Optimal Clusters (k)

k = 4

Silhouette Score

0.68

+14% vs k=3

PCA Variance Explained

84.2%

Inference Latency

< 25ms

Interactive Cluster Space Simulation (k = 4)

Projected Customer Centroids mapped across Frequency (Y) vs Recency (X)

Recency (Days) →Frequency (Orders) →

1. Problem Statement & Business Objective

Marketing and growth teams often face declining campaign conversion rates due to uniform, blanket customer targeting. Without granular behavioral clustering, promotional budgets are misallocated. Unsupervised machine learning segments high-value customer cohorts by purchasing frequency, recency, and monetary value.

End-to-End Pipeline & System Architecture

STAGE 01

Feature Extraction

Pandas / NumPy

Aggregates raw customer transactions into RFM features (Recency, Frequency, Monetary value).

STAGE 02

Normalization & Outliers

Scikit-Learn

Applies StandardScaler and removes multivariate anomalies with Isolation Forest.

STAGE 03

Cluster Optimization

K-Means / Silhouette

Evaluates inertia curves and silhouette coefficients across k=2 to k=10 to find global optimum.

STAGE 04

3D Projection

PCA (3 Components)

Reduces multidimensional space to 3 principal axes preserving 84.2% total dataset variance.

STAGE 05

Interactive UI

Plotly / React

Renders 3D scatter plots allowing instant cluster rotation, zooming, and point-level inspections.

Phase-by-Phase Engineering Lifecycle

1

Phase 1: Data Preparation & Outlier Treatment

PandasNumPyIsolation ForestFeature Scaling

Objective: Clean transaction logs, engineer RFM features, and remove extreme leverage outliers.

Key Deliverables & Implementations

  • Engineered Recency (days since last purchase), Frequency (total visits), and Monetary metrics.
  • Applied RobustScaler and Isolation Forest to purge 1.4% extreme leverage outliers.
  • Validated distribution symmetry with Box-Cox power transformations.
2

Phase 2: Cluster Optimization & Validation

K-Means++Hierarchical Ward LinkageSilhouette Analysis

Objective: Determine mathematical cluster count k minimizing intra-cluster variance.

Key Deliverables & Implementations

  • Calculated Within-Cluster-Sum-of-Squares (WCSS) elbow curve across k=2..10.
  • Achieved peak average Silhouette Coefficient of 0.68 at k=4.
  • Cross-validated partition stability with Hierarchical Agglomerative dendrograms.
3

Phase 3: 3D PCA Projection & Web Delivery

PCAPlotly.jsStreamlit / Next.jsFramer Motion

Objective: Project multidimensional clusters into an interactive 3D web dashboard.

Key Deliverables & Implementations

  • Preserved 84.2% explained variance across 3 principal component orthogonal axes.
  • Constructed interactive 3D scatter visualizer with hover metadata and centroid tracking.
  • Translated mathematical clusters into 4 actionable business personas.

Clustering & Optimal Silhouette Calculation (PYTHON)

import numpy as np
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from sklearn.decomposition import PCA

# Fit optimal K-Means clustering model
kmeans = KMeans(n_clusters=4, init='k-means++', random_state=42)
cluster_labels = kmeans.fit_predict(X_scaled)
score = silhouette_score(X_scaled, cluster_labels)

# 3D PCA Projection for Visualizer
pca_3d = PCA(n_components=3)
X_pca = pca_3d.fit_transform(X_scaled)
print(f"Optimal Silhouette Score: {score:.3f} | Variance Explained: {pca_3d.explained_variance_ratio_.sum():.1%}")

Quantifiable Impact & Verified Outcomes

  • Identified 4 distinct customer personas (Champions, Loyalists, At-Risk, Hibernating).
  • Delivered interactive 3D scatter plots allowing stakeholders to inspect individual cluster boundaries in real time.
  • Provided growth teams with actionable re-engagement criteria improving campaign ROI by an estimated 22%.