How Expedia.com was built on machine learning
- 16 August, 2016 04:55
Expedia has grown far beyond a search engine for flights -- it's now the parent company of a dozen travel brands including Trivago and Hotels.com -- but according to VP of global product David Fleischman, machine learning has always been at the heart of the company's operations.
The business of delivering quality flight search results is tough, and Fleischman describes it as an "unbounded computer science problem". The reason for this is because flight itineraries and schedules are constantly changing, and Expedia's proprietary 'best fare search' (BFS) has to 'learn' and adapt all the time.
The extent of the problem can be summed up by one statistic. The average Expedia.com flight search will take three seconds to deliver results. In those three seconds you will see, on average, 16,000 flight options, in order of convenience or price or time.
One weekend, the team at Expedia let BFS run for two full days on a single query: a round trip between Seattle and Atlanta in the United States. When they got back on Monday the algorithm had delivered "quadrillions of results," says Fleischman.
This algorithm is always being tested and tweaked by the machine learning team at Expedia. The data scientists will test the algorithm against a whole range of bias, such as towards a business traveller or a family.
"We test multiple versions of the algorithm against one another and tweak the tuning on that," says Fleischman. "We try these bias against one another and look at the result sets and ask if you get a better set."
How do they define success, then? "We test and look at metrics to see if people bought more flights because we gave them a better result," Fleischman explains.
Other applications of machine learning at Expedia
Expedia also uses its significant in-house machine learning resource - 700 data scientists and counting - to create algorithms for detecting fraud.
The next big project for Fleischman and his team is in natural language processing. Essentially this comes back to the core aim of Expedia, to deliver the right results for a query. These queries could be a set of criteria like dates, destination and a price range, or a natural language query such as 'I want to fly to Nice on Friday for the weekend'.
That's the next challenge. "The main goal is to answer a traveller's question and we use machine learning to solve that discovery problem," Flesichman says.
In a blog post, Fleischman detailed the importance of natural language queries for mobile: "We've been experimenting with [natural language processing] for the past few years; ever since we realised that the standard travel search framework doesn't work as well on mobile devices."
Then there is personalisation. Could a machine learning algorithm learn your preferences and travel habits over time and cut steps out of the buying process?
Fleischman says that the business is running experiments with personalisation. "Personally," he sighs, "it is something we need to look into but it is not necessarily something we know is the right thing as people just want to browse. So we think more about customisation and detailed acknowledgement of where you are in your thinking."
Put another way, where you are in the buying process is more important to Expedia than whether you like an aisle seat, at least at this point.
Nurturing machine learning talent
When it comes to hiring data scientists, Expedia puts a premium on problem solving skills.
"The trick with machine learning is the people not the code, the important bit is to understand the consumer problem," Fleischman says.
This chimes with the perspective of Nuno Castro, director of data science at Expedia, who recently told Computerworld UK: "People who can understand the organisation from a commercial perspective, and who create relevant relationships in the organisation will be more successful."
Expedia works in agile teams, typically made up of a technologist, a product manager, a user experience designer, and according to Fleischman, machine learning experts are part of these core problem solving teams. Expedia doesn't dictate which tools they use or how they approach the problem.
And as Castro told us previously: "You and your team will typically be set a high level objective for which you need to determine the best cause of action. Unlike other areas, there is no one recipe for data science. Often you are not trying to find the right answer to a question, you're trying to find the right questions to ask in the first place."