← All questions
Training & Fine-tuningEasy· ML & Fine-tuning

Your fraud model has 99.7% accuracy. Are you happy?

No. With a base rate that skewed, a model that predicts “never fraud” for every transaction would score about the same, so 99.7% accuracy tells me almost nothing on its own.

What I’d actually check:

  • Precision-recall, not ROC. ROC curves look flatteringly good under heavy class imbalance and can hide a genuinely weak model.
  • A threshold set from the business cost asymmetry — a missed fraud case and a false alarm cost very different amounts, and the decision threshold should reflect that, not default to 0.5.
  • Stratified splits, so rare positives are represented consistently across train/validation/test rather than by chance.

Accuracy on a rare-event problem is close to a meaningless headline number; precision and recall on the positive class are where the real signal is.

Code playground (Python)