I want to tell you about the day our fraud system started losing. Not to fraudsters. To the clock. We had built what looked, on paper, like a solid fraud detection pipeline. An in-house ML model trained on months of transaction data, a feature store we were proud of, a scoring service sitting neatly between checkout and payment authorisation. Fraud catch rates were good. The data science team was happy. Then we scaled past a million transactions a day, and everything started to crack. Not in an obvious, alarms-blaring kind of way. In the quiet, insidious way where your p99 latency creeps up, your SLA breaches start appearing in dashboards nobody checks, and one morning you realise your fraud score is arriving after the payment gateway has already made a decision without it. This is the story of how we fixed that.…