🛡️ AML Priority

AI-Assisted Anti-Money Laundering Investigation Prioritization

XGBoost + SHAP 15 Optuna Trials MLflow Tracking 12.5M Transactions FastAPI + React Docker & HF Spaces
⚠️ Academic Prototype — AMLSim Simulated Data — Not for Production

📊 Test Set Evaluation Results

Held-out chronological test set (steps 160–199) — 2,490,639 transactions, 3,570 fraud (0.143%)

99.59%
F1-Score
99.91%
PR-AUC
99.44%
Precision
99.75%
Recall
99.9996%
ROC-AUC
0.75
Threshold

Confusion Matrix

3,561
True Positives
20
False Positives
9
False Negatives
2,487,049
True Negatives

Model Comparison (Validation Set)

ModelVal F1Val PR-AUC
Logistic Regression (baseline)6.1%35.0%
XGBoost + 15 Optuna trials99.82%99.95%

📈 Visualizations

Precision-Recall Curve (PR-AUC 99.91%)
Precision-Recall Curve (PR-AUC 99.91%)
Confusion Matrix — Test Set
Confusion Matrix — Test Set
XGBoost Feature Importance
XGBoost Feature Importance
SHAP Summary Plot
SHAP Summary Plot
Threshold Sensitivity Analysis
Threshold Sensitivity Analysis
PCA Explained Variance
PCA Explained Variance

🏗️ Architecture

React Frontend (Vite + Tailwind) --> FastAPI Backend (Python 3.12) --> XGBoost Model localhost:5173 localhost:8000 ml/artifacts/ | 21 REST endpoints (alerts, cases, analytics, SHAP) Pydantic v2 validation + SQLAlchemy + SQLite Docker: backend (1.6 GB, python:3.12-slim) + frontend nginx (94.6 MB) Pipeline: preprocess.py -> train.py (15 Optuna) -> evaluate.py -> predict.py MLflow: 3 experiment runs logged (params + metrics + artifacts)

📚 Benchmark Comparison

MethodDatasetF1Notes
Logistic Regression (this project)AMLSim 12.5M6.1%Baseline
XGBoost + Optuna (this project)AMLSim 12.5M99.59%15 trials, threshold=0.75
EvolveGCN-H (Pareja et al. 2020)AMLSim subset~72%Graph-based, AAAI 2020
Random Forest (Weber et al. 2019)Elliptic Bitcoin~80%Similar simulated structure
XGBoost (Jullum et al. 2020)Real bank data~15%Real-world AML
XGBoost tuned (Dal Pozzolo 2015)Credit card~84%Public benchmark

Our 99.59% F1 reflects AMLSim's rigid synthetic patterns. Real-world AML models achieve F1 of 0.05–0.40.

📖 References

#CitationDOI / Link
1Weber et al. (2019). Anti-Money Laundering in Bitcoin. KDD Workshop. arXiv:1908.02591
2Jullum et al. (2020). Detecting money laundering with ML. JMLC. 10.1108/JMLC-07-2019-0055
3Dal Pozzolo et al. (2015). Calibrating Probability with Undersampling. IEEE SSCI. 10.1109/SSCI.2015.33
4Pareja et al. (2020). EvolveGCN. AAAI 2020. 10.1609/aaai.v34i04.5984
5IBM AMLSim GitHub github.com/IBM/AMLSim