How Deliveroo Is Using Big Data And Machine Learning To Power Food Delivery


Food delivery firm relies heavily on data and machine learning to increase efficiency

Online food delivery firm Deliveroo has been one of Britain’s great startup success stories since its launch in 2013, having raised around $200 million (£154m) in investment amidst rapid growth and expansion.

It now operates in 12 countries and 140 cities, with its international network of riders and restaurants working together to deliver food to customers 24 hours a day.

But what has been the secret to Deliveroo’s success? The company’s VP of engineering Dan Webb, speaking at AWS Summit in London this week, revealed how it all comes down to data.

data management


“Every since Deliveroo was founded the use of data has been absolutely critical to ensuring that our customers, our riders and restaurants have the best possible experience on our platform,” he said.

Data is used in three main ways, the first of which is to support team decisions.

“Experimentation helps us understand product changes we make,” Webb explained. “Graphs help our operations team understand and react to trends and agents all across the business are running queries on our dataset 24 hours a day.”

The second way Deliveroo uses data is to support algorithmic decisions, as machine learning models need to be constantly re-trained to ensure that they are running on the most up to date and relevant information.

These are both important to the running of the business, but the third and final use of data is arguably the most vital to Deliveroo’s success: Using data to provide real-time operational monitoring.

“Deliveroo operates in living, breathing cities, connecting customers to riders and restaurants and as you can imagine this is a very unpredictable environment to work in,” said Webb. “We make use of real-time data, both to see and react quickly to situations as they arise and in some cases predict and completely avoid problems.

“Our dispatch engine which we call ‘Frank’ is constantly calculating and recalculating the best combination of riders to orders. It does this using predictions for rider travel time, food preparation time etc and we calculate that using machine learning models which are trained on our historical data.”

We were given an insight into the inner working of Frank, which is to all intents and purposes a living entity of its own. The engine uses complex machine learning algorithms and vast quantities of data to make predictions and decisions about drivers in real-time and stack orders based on these decisions.

It is even able to change its mind about assignments in response to real-world events, such as travel delays.

Deliveroo 'Frank'

“Frank’s job is, when given a set of orders and a set of riders, to compute the most optimal combination of those orders and riders which will result in the food getting to our customers as quickly as possible and our riders being able to earn as much money as possible.

“Frank is a complex system, based on a whole host of machine learning models that we’re constantly tweaking and iterating on to improve operational efficiency.”

Engineers have also created something called ‘Frank’s Brain’, essentially a visualisation that sits on top of the data platform to reveal exactly what Frank is thinking. “It’s really helped us understand how our algorithms affect riders and deliveries beyond just changes and overall metrics,” said Webb.

It’s definitely one of the most interesting uses of big data analytics that I’ve seen in a long time and brings to life the data-driven approach that Deliveroo has based itself upon.

Quiz: What do you know about Big Data?

Read also : The Value of Data