How machine learning is helping Ocado deliver better customer service to online grocery shoppers

Ocado's Dan Nelson explains how automated decision making is enabling the retailer to prioritise customers who need the most urgent support.
Written by Danny Palmer, Senior Writer

If you email about your delivery being late, Ocado's algorithm will put you at the front of the customer service line.

Image: Ocado

With the widespread use of smartphones, tablets and internet-connected sensors in the enterprise, what was until recently seen as 'the workplace of tomorrow' is fast becoming a reality.

But despite the flexibility and agility enabled by these technologies, some business processes still feel unchanged from decades ago -- repetitive, inefficient, slow tasks that often prevent employees from performing the best job possible.

This is where the introduction of equipment or software that can perform tasks or implement business processes with little or no input from a human can help employees, and the organisations they work for, to optimise performance.

One of those organisations is Ocado, the British online supermarket that, in contrast to its competitors, doesn't have physical stores but rather delivers groceries directly to customers' homes from one of its warehouses.

The very nature of the business means that online customer service plays a huge role in ensuring that those who've ordered their shopping through Ocado are happy. That's why the company has turned to machine learning and natural language processing to automate and optimise the order in which emails are dealt with in its contact centre, so that urgent queries and complaints are responded to as a priority,

"Every time we have a customer contact us via email we need to triage that so we can best allocate it to a customer service representative to resolve it," says Dan Nelson, Head of Data at Ocado Technology.

Generally, the company will receive around 2,000 emails in one day, but during busy times of the year, when bad weather is disrupting transportation and deliveries, it can rise to 5,000.

"At times of large scale, like the busy Christmas period, or at times of disruption, like bad weather during the winter, that triage process can get in the way of resolving the customer problem and our customer service offering," Nelson explains.

As with the majority of email services, the Ocado customer service emails are organised in the order which they arrive and were previously dealt with in that order. However, if the first ten emails on the list are just general comments and 'thank yous' for orders arriving, that eleventh email about a delayed or missing order might be left unresolved for some time -- and that's not going to make the customer happy.

By deploying machine learning and automated processes, the system learns which emails have the highest priority and moves them to the top of the list, ensuring that the most critical customers are served with the shortest delay.

"By implementing machine learning, we're now able in real time to assess, categorise, and therefore distribute the incoming to the correct channel and implement the appropriate channel quicker," says Nelson. "With the impending winter and the unpredictable British weather we'll definitely get to see in a real-world state if it can remove some of the blockages when we get spikes in our emails".

From training data to live business process

The model didn't have predefined knowledge of how to judge messages: Ocado used TensorFlow, an open-source software library for machine intelligence, to train the system on how to read and categorise messages. The platform is also using Google APIs to help catagorise emails and runs in a container environment orchestrated by Kubernetes.

"We trained the model on a dataset of three million actual emails our customers had sent in, which allows us to train it on context, the language, the tone our customers use. Part of that training was how to optimise the model and with how many layers -- it's a convolutional neural network, so we needed to learn what are the parameters that we needed to optimise," says Nelson.

The project was deployed relatively quickly, moving from an idea to an active Ocado business process in the space of about six months, with staff across a number of teams coming together to roll out the automated machine learning project.

"From start to finish, we're probably talking less than six months. That's from the whole initialization; this wasn't just a data science problem, this was working with an engineering team and a business unit on solving a problem the business was facing," Nelson says.

Vision for the future

But Ocado isn't stopping there with automation and machine learning: the company is also looking to bring further improvements to its services -- and not just in the area of customer service, but on the road and in deliveries too.

"This was a first foray into natural language, but there are broader operations in the context of the contact centre, but also to do with the product quality we will look to implement," says Nelson.

"We're busy working on vision: we'd like to be able to detect products and identify them without barcode scanners. Anything a camera can tell us -- this is product the customer ordered, or that it's damaged, or has something anomalous -- is going to have massive benefit to us," he adds.

Read more

Editorial standards