Skip to main content
ai Alive 2026

Customer & Product Clustering E-commerce

RFM segmentation plus future cluster prediction for personalized e-commerce

Pipeline ecommerce with RFM clustering (KMeans, K=4-6) and future cluster prediction at 30/90 days using XGBoost/RandomForest. Macro F1 score 0.70-0.85 with strict temporal split.

ClientProject Work - DataMasters Machine Learning Engineer
RoleData Scientist (RFM Segmentation + Future Cluster Prediction Supervised)
Year2026

Highlights

  • Feature RFM built at point-in-time with separate train/test snapshots (no data leakage)
  • Silhouette-based K selection: identified 4-6 significant customer clusters
  • Comparison of KMeans vs GMM with documented rationale
  • Forecast of future cluster prediction at 30/90 days using Random Forest and XGBoost
  • Macro F1 score 0.70-0.85 and balanced accuracy 0.75-0.90 on temporal holdout test
  • Modular pipeline with CLI and reusable inference API
  • 4 notebooks + 5 theoretical articles on RFM, clustering, temporal validation

What is the project?

Pipeline ML per la segmentazione clienti e-commerce basata su RFM (Recency, Frequency, Monetary) con un secondo livello di valore: la predizione del cluster futuro a 30 e 90 giorni. Combina clustering non supervisionato e classificazione supervisionata in un unico flusso, abilitando strategie di personalizzazione, retention e ottimizzazione del Customer Lifetime Value. Repo: github.com/fedcal/Customer-Product-Clustering-in-E-commerce.

Pipeline Architecture

  1. Data loading: log temporale eventi (view, add-to-cart, purchase)
  2. Feature RFM point-in-time: snapshot separati train/test con strict temporal split
  3. Feature engineering: RFM base + propensione conversione + price sensitivity
  4. Clustering: KMeans (primario) con K selezionato via silhouette; GMM come confronto probabilistico
  5. Classificatore supervisionato: Random Forest e XGBoost per predire il cluster futuro
  6. Two-snapshot design: previene il leak di informazioni dal futuro
  7. Inference: dato uno snapshot RFM corrente, predice il cluster a 30/90 giorni

Temporal Test Set Metrics

  • Silhouette score per la scelta di K (range testato 3–8, ottimale 4–6)
  • Macro-F1: 0.70–0.85 sulla predizione multiclasse del cluster futuro
  • Balanced accuracy: 0.75–0.90 sul test holdout
  • Confusion matrix con focus su segmenti high-value
  • K cluster identificati: 4–6 segmenti clienti

Use Case Business

Engine di personalizzazione e-commerce: predire il valore futuro dei clienti, ottimizzare l'allocazione del budget marketing, progettare campagne retention mirate sui segmenti ad alto valore a rischio churn. Adattabile a SaaS B2C, retail omnichannel e marketplace per piani di trattamento differenziati per cluster (golden / silver / bronze / standard).

Methodological rigor

Il progetto applica un design metodologico raro nei tutorial pubblici di RFM: two-snapshot temporal design, in cui i feature di training sono calcolati su una finestra t1 e il target di test su una finestra t2 successiva, senza alcuna sovrapposizione. Questo schema replica fedelmente il setup di produzione e permette di stimare in modo onesto la generalizzazione temporale del modello.

Full technology stack

LevelTechnologyAnnotation
LinguaggioPython 3-
ML corescikit-learn (KMeans, GMM), XGBoost, Random Forest-
FeatureRFM (Recency / Frequency / Monetary) + propensione conversione + price sensitivity-
ValidazioneTwo-snapshot temporal split (no leakage tra train/test)-
Selezione KSilhouette score per scegliere K=4–6-
DocumentazioneDocusaurus 3 + TypeScript + KaTeX-
Deploy docsGitHub Actions + GitHub Pages-

Main technologies

Python 3scikit-learnXGBoostpandas / NumPyJupyterDocusaurus 3 + KaTeXGitHub Actions

Project link

Other projects