Money Mule Detection
Stacked ensemble of Random Forest, XGBoost, and CatBoost over 100,000+ transactions. 0.987 F1 with SHAP and LIME explanations a reviewer can check.
The problem
Money mules move illicit funds through ordinary-looking accounts. They are rare among legitimate users, so a model can score high accuracy by simply ignoring them.
Flagging an account is a consequential call, so a reviewer needs to see why a transaction was flagged, not just a score.
Architecture
A stacked ensemble: Random Forest, XGBoost, and CatBoost as base learners, combined by a meta-learner. SMOTE rebalances the classes during training.
SHAP and LIME sit beside the model and produce a per-decision explanation for each flag.
How it was built
Trained on 100,000+ transactions. The result is 0.987 F1, 99% accuracy, and a 0.0013 Brier score, so the probabilities are well calibrated as well as accurate.
Built for a hackathon, with explainability treated as a requirement from the start rather than an afterthought.
What’s next
- Graph features: shared devices and counterparties are the strongest mule signal and a flat feature table misses them.
- Drift monitoring and a feedback loop from reviewer decisions back into training.