City of Rochester
The short version
The full story
The City of Rochester had a fraud model at 62% accuracy that nobody trusted. When it flagged a case, the loan officers couldn’t tell why — so they second-guessed every decision.
What I built
An explainable fraud-detection model using XGBoost, with SHAP for explainability. Accuracy went from 62% to 73% — but the bigger win was that every flagged case came with a one-line explanation of which features drove the score.
Why it mattered
The officers stopped second-guessing, because they could finally see the evidence. That’s the point I keep coming back to: in production ML, the accuracy lift only matters if the people using it can act on it.
The model supports the humans making the call. It doesn’t replace their judgment — it shows its work so they can trust it.
Stack
Python, XGBoost, SHAP. Delivered through Simon Vision Consulting for the City of Rochester.