Credit Card Fraud Detection Pipeline
Pipeline antifrode con validazione temporale walk-forward su 1.5M transazioni
Pipeline ML production per detection frodi su carte di credito. Walk-forward CV temporale, SMOTE per sbilanciamento, XGBoost con PR-AUC 0.85+ e recall 78% su classe rara 0.5%.
Highlights
- Dataset 1.5M transazioni simulate con ~800 merchant e ~1.000 clienti (2019–2020)
- Validazione temporale walk-forward — elimina il lookahead bias tipico di dataset finanziari
- PR-AUC 0.85+ e recall 78% a precision 0.5 su classe rara (0.5% frodi)
- Feature engineering temporale: distanza geografica, pattern orari, aggregati cliente/merchant, indicatori di anomalia
- Class imbalance gestita via SMOTE + class weights + cost-aware threshold tuning
- Interpretabilità con SHAP e LIME per audit regulatory (PSD2, AMLD)
- 6 articoli teorici su classification imbalanced, metriche frodi, feature temporali
Cosa è il progetto
Pipeline ML production-ready per la detection di frodi su carte di credito. Implementa una pipeline antifrode end-to-end allenata su 1.5M transazioni simulate, con cross-validation temporale walk-forward, gestione esplicita dello sbilanciamento di classe (0.5% di frodi) e ottimizzazione della soglia in funzione del costo di business. Repo: github.com/fedcal/Credit-Card-Transactions-Fraud-Detection-Dataset.
Architettura della pipeline
- Data loading: 1.5M transazioni × ~50 feature, periodo 2019–2020
- Feature engineering: distanza geografica cliente↔merchant, pattern temporali (ora del giorno, weekend), aggregati cliente, aggregati merchant, indicatori di anomalia
- Temporal walk-forward CV: split che rispetta la cronologia e previene lookahead bias
- Confronto modelli: Logistic Regression (baseline) → Random Forest → XGBoost
- Class imbalance: SMOTE + class weights, valutati separatamente
- Cost-aware threshold: ottimizza FN vs FP con costi business reali
- Inference API: pipeline serializzata per scoring real-time
Metriche su test set temporale
- PR-AUC 0.85+ — metrica primaria per dati sbilanciati
- Recall @ precision 0.5 ~78% — tasso di detection frodi
- F1-Score ottimizzato per soglia, ROC curves e confusion matrices
- Class imbalance documentata: 0.5% frodi vs 99.5% legitimate
Il punto di forza è la generalizzazione temporale: il modello viene validato sempre su finestre future rispetto al training, replicando il setup di produzione.
Use case business
Sistemi antifrode banking e fintech: scoring real-time delle transazioni in arrivo per flaggare tentativi ad alto rischio mantenendo l'esperienza cliente (false rejection minimi). Adattabile a use case affini come anti-money-laundering (AMLD), insurance claims fraud e abuse detection in piattaforme di pagamento.
Conformità e auditability
Pipeline progettata con SHAP/LIME per spiegabilità delle predizioni — requisito per audit regulatory PSD2, GDPR Art. 22 (decisioni automatizzate) e AML directives EU. Ogni decisione del modello può essere ricondotta alle feature determinanti, supportando la compliance dei team antifrode.
Stack tecnologico completo
| Layer | Tecnologia | Note |
|---|---|---|
| Linguaggio | Python 3.11–3.13 | — |
| ML core | scikit-learn, XGBoost, imbalanced-learn (SMOTE) | — |
| Validazione | Walk-forward temporal CV (no lookahead bias) | — |
| Interpretabilità | SHAP + LIME (analisi feature importance globali e locali) | — |
| Ottimizzazione soglia | Cost-aware tuning (FN vs FP business cost) | — |
| Documentazione | Docusaurus 3 + TypeScript + KaTeX | — |
| CI/CD | GitHub Actions (test + deploy docs) | — |


