Being the world’s largest online-only grocery supermarket with over 500,000 active customers means we get the opportunity to interact with people all across the UK on a daily basis. Ocado prides itself on offering the best customer service in the industry which is one of the many reasons why our customers keep coming back.
Since Ocado doesn’t have physical stores, there are mainly two ways our customers and our employees interact directly. The first (and probably most common) is when our drivers deliver the groceries to the customers’ doorsteps; the second is when customers call or email us using our contact center based in the UK.
Today we’re going to tell you a bit more about how a customer contact center works and how Ocado is making it smarter.
On the surface, Ocado operates the kind of contact center most people are already familiar with; we provide several ways for our customers to get in touch, including social media, a UK landline number, and a contact email.
Customers can email, tweet or call Ocado
When it comes to emails, we get quite a variety of messages: from general feedback and redelivery requests to refund claims, payment or website issues – and even new product inquiries.
Getting in touch with a company can sometimes feel cumbersome. To make the whole process nice and easy for our customers, we don’t ask them to fill in any forms or self-categorise their emails. Instead, all messages gets delivered into a centralised mailbox no matter what they contain.
Ocado customer service representatives filtering customer emails
However, a quick analysis of the classes of emails mentioned above reveals that not all of them should be treated with the same priority. In an old-fashioned contact centre, each email would be read and categorised by one of the customer service representatives and then passed on to the relevant department.
This model has a few major flaws: if the business starts scaling up quickly, customer service representatives may find it challenging to keep up, leading to longer delays which will anger customers. In addition, sifting through emails is a very repetitive task that often causes frustration for contact centre workers.
Clearly there must be a better way!
Unbeknownst to many, Ocado has a technology division of 1000+ developers, engineers, researchers and scientists working hard to build an optimal technology infrastructure that revolutionises the way people shop online. This division is called Ocado Technology and includes a data science team that constantly finds new ways to apply machine learning and AI techniques to improve the processes related to running retail operations and beyond.
After analysing the latest research on the topic, the data science team discovered that machine learning algorithms can be adapted to help customer centres cope with vast amounts of emails.
The diagram below shows how we created our AI-based software application that helps our customer service team sort through the emails they receive daily.
The new AI-enhanced contact centre at Ocado
One of the fields related to machine learning is natural language processing (NLP), a discipline that combines computer science, artificial intelligence, and computational linguistics to create a link between computers and humans. Let’s use an email from a recent customer as an example to understand how we’ve deployed machine learning and NLP in our contact centres:
The machine learning model identifies that the email contains general feedback and that the customer is happy
The software solution we’ve built parses through the body of the email and creates tags that help contact cenre workers determine the priority of each email. In our example, there is no immediate need for a representative to get in touch; the customer is satisfied with their order and has written a message thanking Ocado for their service.
We strive to deliver the best shopping experience for all our 500,000 + active customers. However, working in an omni channel contact centre can be challenging, with the team receiving thousands of contacts each day via telephone, email, webchat, social media and SMS. The new software developed by the Ocado Technology data science team will help the contact centre filter inbound customer contacts faster, enabling a quicker response to our customers which in turn will increase customer satisfaction levels. – Debbie Wilson, contact centre operations manager
In the case of a customer raising an issue about an order, the system detects that a representative needs to reply to the message urgently and therefore assigns the appropriate tag and colour code.
This new ML-enhanced contact centre demonstrates how Ocado is using the latest technologies to make online shopping better for everyone.
Ocado was able to successfully deploy this new product in record time as a result of the close collaboration between three departments: data science, contact centre systems, and quality and development. Working together allowed us to share data and update models quickly, which we could then deploy in a real-world environment. Unlike a scientific demonstration where you’re usually working with a known set of quantities, the contact centre provided a much more dynamic scenario, with new data arriving constantly. – Pawel Domagala, product owner, last mile systems
Our in-house team of data scientists (check out our job openings here) trained the machine learning model on a large set of past emails. During the research phase, the team compared different architectures to find a suitable solution: convolutional neural networks (CNNs), long short term memory networks (LSTMs) and others. Once the software architecture was created, the model were then implemented using the TensorFlow library and the Python programming language.
Python is the de-facto most popular programming language in the data science community and provides the syntax simplicity and expressiveness capabilities we were looking for.
TensorFlow is a popular open-source machine learning toolkit that scales from research to production. TensorFlow is built around data flow graphs that can easily be constructed in Python, but the underlying computation is handled in C++ which makes it extremely fast.
We’re thrilled that TensorFlow helped Ocado adapt and extend state-of- the-art machine learning techniques to communicate more responsively with their customers. With a combination of open-source TensorFlow and Google Cloud services, Ocado and other leading companies can develop and deploy advanced machine learning solutions more rapidly than ever before. – Zak Stone, Product Manager for TensorFlow on the Google Brain Team
Understanding natural language is a particularly hard problem for computers. To overcome this obstacle, data scientists need access to large amount of computational resources and well-defined APIs for natural language processing. Thanks to the Google Cloud Platform, Ocado was able to use the power of cloud computing and train our models in parallel. Furthermore, Ocado has been an early adopter of Google Cloud Machine Learning (now available to all businesses in public beta) as well as the Cloud Natural Language API.
If you want to learn more about the technologies presented above, check out this presentation from Marcin Druzkowski, senior software engineer at Ocado Technology.
Make sure you also have a look at our Ocado Smart Platform for an overview of how Ocado is changing the game for online shopping and beyond.
Alex Voica October 13th, 2016
Posted In: Blog
In the spirit of collaboration, we’ve open-sourced the game and portal of our free Code for Life education initiative.
To give you a bit of background, Code for Life consists of free teaching resources, including lesson plans, videos, and the Rapid Router game.
To play, pupils use basic programming principles to guide a van to its destination, learning as they go.
To begin with they use Blockly, a visual programming language similar to Scratch. The routes and concepts get harder as pupils progress through each level. Later on, the game introduces Python.
Code for Life currently has 36,300 users around the world.
And now we’re hoping that people will be able to develop their skills further by contributing to Code for Life itself.
To contribute, head over to GitHub, check out the issue tracker, and get started. There you can suggest new features or assign yourself an issue to develop (you’ll find more info about how to do this on GitHub).
You never know, if your code is impressive enough, you may even land an interview…
Chris Brett October 27th, 2015
Posted In: Blog
I’m proud to announce the latest update to our Code for Life teaching resource: your pupils can now learn to code in Python using the Rapid Router game.
For anyone who’s unfamiliar, Python is a proper coding language used by companies such as Google and NASA. It’s also simple to write and debug, so it’s perfect as a first language to learn.
Our volunteers have created over 50 new levels to the game, which start by translating concepts from Blockly to Python, and then get more challenging to really put your pupil’s skills to the test.
They’ll not just pick up the language itself but also the importance of correct syntax – something that will give your students a great foundation for studying future languages and continuing with Python.
Log in to Code for Life now to check out the teaching pack and have a go on the new Rapid Router levels.
If you have any questions, as always just drop us an email: email@example.com
Paul Heideman, Technology Development Manager
Sophie Whelan February 3rd, 2015
Posted In: Blog