Ocado improves fraud detection with machine learning


Bobby Hellard

8 Mar, 2018

Ocado Technology is fighting fraud with machine learning, improving its detection rate by 15 times since using automation to detect wrongdoing.

The technology division of the online supermarket has built its own machine learning-based algorithm with Google’s TensorFlow and Google Cloud to help it detect fraud among the sheer petabytes of data it stores in Google Cloud.

The system is part of the Ocado Smart Platform (OSP), and attempts to differentiate between shoppers who accidentally input the wrong personal details or who use an expired debit card, and those who have a malicious intent.

For Ocado, part of the danger of fraud is that leaving it unchecked could result in the fraudulent information being moved to other systems and divisions in the business, eventually impacting customer service.

This has led Ocado to develop a mechanism for predicting and recognising these incidents among millions of other normal events using data collected from past orders, as well as cases of fraud.

To do this, engineers have built a deep neural network using TensorFlow and uploaded the whole fraud detection system to the cloud.

“From the data we had collected from past orders, including cases of fraud, we created a list of features which included the number of past deliveries, the cost of baskets, and other information,” said Ocado’s Holly Godwin. “The more features we included in the training data, the more reliable the model could be, so we made sure that we were providing our model with as much information as possible.

“After collating our data, we then had to decide upon an algorithm capable of learning from the information. Eventually we implemented a deep neural network on TensorFlow, as it was precise and easy to deploy into production. Using TensorFlow was a natural choice as we had already made the move over to Google Cloud for data analytics so using TensorFlow alongside our data stored on the Google Cloud Platform worked well.”

The algorithm had to be as accurate as possible, because confirmed fraud cases are rare, typically one in every thousand orders (0.01%), and a machine learning model that is only 99.9% accurate could still miss several instances of fraud.

“The motivation behind using machine learning for fraud detection was twofold: speed and adaptability,” Godwin added. “Machines are fundamentally more capable of quickly detecting patterns compared to humans. Also, as fraudsters change their tactics, machines can learn the new patterns much quicker.”

Ocado’s push to include more features in the training data have created a more reliable model which has already achieved significant success, improving Ocado’s precision of detecting fraud by a factor of 15.