Customer & Product Clustering E-commerce
Segmentazione RFM + predizione del cluster futuro per personalizzazione e-commerce
Pipeline e-commerce con clustering RFM (KMeans, K=4–6) e predizione del cluster futuro a 30/90 giorni via XGBoost/RandomForest. Macro-F1 0.70–0.85 con strict temporal split.
Highlights
- Feature RFM costruite point-in-time con snapshot separati train/test (no data leakage)
- Silhouette-based K selection: identificati 4–6 cluster di clienti significativi
- Confronto KMeans vs GMM con rationale documentato
- Predizione del cluster futuro a 30/90 giorni con Random Forest e XGBoost
- Macro-F1 0.70–0.85 e balanced accuracy 0.75–0.90 sul test holdout temporale
- Pipeline modulare con CLI e API di inferenza riusabile
- 4 notebook didattici + 5 articoli teorici su RFM, clustering, validazione temporale
Cosa è il progetto
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.
Architettura della pipeline
- Data loading: log temporale eventi (view, add-to-cart, purchase)
- Feature RFM point-in-time: snapshot separati train/test con strict temporal split
- Feature engineering: RFM base + propensione conversione + price sensitivity
- Clustering: KMeans (primario) con K selezionato via silhouette; GMM come confronto probabilistico
- Classificatore supervisionato: Random Forest e XGBoost per predire il cluster futuro
- Two-snapshot design: previene il leak di informazioni dal futuro
- Inference: dato uno snapshot RFM corrente, predice il cluster a 30/90 giorni
Metriche su test set temporale
- 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).
Rigore metodologico
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.
Stack tecnologico completo
| Layer | Tecnologia | Note |
|---|---|---|
| Linguaggio | Python 3 | — |
| ML core | scikit-learn (KMeans, GMM), XGBoost, Random Forest | — |
| Feature | RFM (Recency / Frequency / Monetary) + propensione conversione + price sensitivity | — |
| Validazione | Two-snapshot temporal split (no leakage tra train/test) | — |
| Selezione K | Silhouette score per scegliere K=4–6 | — |
| Documentazione | Docusaurus 3 + TypeScript + KaTeX | — |
| Deploy docs | GitHub Actions + GitHub Pages | — |


