A 99% accurate model that catches nothing
Accuracy is the percentage of predictions a model got right overall, and it feels like the natural first number to check. But accuracy treats every correct prediction as equally meaningful, and on imbalanced data that assumption breaks completely. Imagine a fraud detection model evaluated on 10,000 transactions, only 100 of which are actually fraudulent. A model that simply predicts 'not fraud' for every single transaction, without ever looking at the data, gets 9,900 of the 10,000 right. That's 99% accuracy, and the model has caught exactly zero real fraud cases.
The number looks impressive precisely because the classes are imbalanced. When one outcome is rare, a model can rack up a high score just by defaulting to the common answer every time. This is not a hypothetical edge case, it's the normal situation in fraud detection, disease screening, spam filtering, and manufacturing defect detection, anywhere the thing you actually care about catching is the minority class. In all of these, accuracy alone tells you almost nothing about whether the model is doing its job.
