EXPEDIA GROUP TECHNOLOGY — ENGINEERING
Four Key Differences Between “Online Travel” and “Online Shopping” E-commerce
How Expedia Group scales for 1.26 quadrillion different travel product variations
Did you know that Amazon has an estimated 700 billion different product variants it could sell? That’s based on some simple math, multiplying 350 million unique products by the maximum of 2,000 product variations (e.g., product color and size). Most products will have far less than 2,000 product variations — however, that’s still not a small number to manage. Compare that to Expedia Group™️, where the number of travel-product variations in just hotels alone eclipses 1.26 quadrillion.
Technology and business professionals should know the differences between online travel to online shopping e-commerce. I often get asked questions like, “Why is pricing so hard in travel? Can’t we just buy a pricing engine?” or “Could we add T-shirts and other physical add-ons to Expedia Group’s offerings?”, without considering the complexity of logistics. This blog will attempt to demystify the key differences into four categories: inventory, pricing, search, and fulfillment. I purposely did not include payments and other areas that are mostly similar between online travel and online shopping e-commerce.
What is e-commerce?
Before we start, let’s first ensure we have a common understanding of what e-commerce is. While many definitions exist, we’ll define e-commerce as “the ability to perform commerce (buying and selling) online, between businesses and/or consumers.” Hence the ‘e’ in e-commerce stands for electronic, or what we also call online. When people think of e-commerce, they think of sites like Amazon, eBay, Etsy, or direct-retail store websites. However, travel e-commerce is quite different, as it is the ability to reserve and manage travel online, compared with buying and shipping physical goods. Expedia.com is an example of an online travel site with the ability to book and manage flights, cruises, cars, hotels, vacation rentals, and activities.
With traditional online shopping e-commerce, the buyer is actually purchasing an item to be delivered or shipped to them, or picked up in-store. With online travel e-commerce, the traveler is actually reserving a travel product or service for a set period of time.
Inventory is where everything begins to differ, and it’s due to the need to manage calendars for travel inventory. For e-commerce, inventory is the product that the supplier wants to sell or reserve. It includes not only the number that is available, but also any variations and restrictions that come with it. For online shopping, the inventory is physical goods stored in warehouses, stores, garages, etc. Each product can come in different variations, e.g., a medium-green T-shirt from supplier X. These products and their variations are identified by a Stock Keeping Unit (SKU), and as mentioned earlier, Amazon is estimated to have around 700 billion product variations or SKUs. For simplicity, we will use the term product variants for both online travel and online shopping.
For online travel, there are no physical products to sell as inventory, but there are physical products to reserve. So instead of an inventory count of SKUs, online travel must manage inventory on a daily rolling calendar that looks two or more years into the future. So, after doing some math based only on hotels at Expedia Group, we have approximately 1.26 quadrillion possible products we could sell.
Reservable hotel product variations = 3.2 million properties x 4 avg room types x 6 avg rate plans x 1,100 avg rates x 500 check-in dates x 30 length of stays = 1,267,200,000,000,000 unique hotel products. (1.26 quadrillion)
For the engineers reading this, you know that storing 1.26 quadrillion different product variants for millisecond retrieval is nearly impossible nor cost-effective. Our suppliers could not even send us that much data, so their availability and rates are sent as compacted rate rules instead of individual rates. Expedia Group will then partially expand the rules for faster access and store in-memory Redis databases. These cache sizes are still very large, with Expedia Group on average managing around 30 terrabytes of inventory data and keep consistent between databases and suppliers.
Next, let’s talk about pricing. Pricing for online shopping translates into a product catalog to describe and store the price for each product and, if necessary, product variations. Sounds simple in theory, for online shopping, having a product catalog to describe and store the price for each product and product variation. However, the complexity increases when you add in calculating the price of shipping. As there are different rates based on the destination addresses, weight, delivery time, et cetera, many logistic partners have complex shipping rate plans, so calculating shipping is usually done during the checkout phase.
With online travel, we have to consider the sheer number of inventory product variants to price as described earlier, due to the added complexity of a calendar. One aspect is there is not a single price for an airline ticket or hotel room — there are many different prices. For example, a large hotel may have 1,000 different ways to book a room (a combination of room type, price, cancellation policy, and add-ons such as breakfast) for a single room type. And that same hotel could have another 50 promotions that could apply, once again changing the pricing (booking on mobile, loyalty status, etc). At Expedia Group we have seen up to 50,000 different prices for all the product variations on the same hotel room type. Why would a hotel have 1,000 different rate plans? This is because of sophisticated revenue management systems offering combinations of product add-ons such as breakfast, refund-ability, booking on mobile, loyalty status, and customer type (B2C, B2B). Rate-selection logic is required to de-duplicate similar products; it ensures that only the best products are shown to our travelers and avoids overwhelming them with 50,000 options to choose from.
Approximately 1,200 hotel search requests per second result in approximately 80k to 105k pricing requests per second.
Search is another area that differs vastly between traditional online shopping and online travel e-commerce. When you search for a product to buy, you enter some keywords of what you are looking for, and the best-matching product results are returned. They can be sorted by personalization preferences, price, availability, shipping cost, etc. This is known as product-based search. For online travel, the calendar again surfaces as a differentiator. Most lodging (hotel and vacation rentals) search criteria have a destination, check-in and check-out dates, and the number of travelers. For transportation, we need to consider the origin and destination, the class of the ticket, as well as the date and time. Another important difference in online travel is the use of a map for searching. For example, when searching a location for a hotel, you could get thousands of results for somewhere popular like Orlando, Florida, or very few results for somewhere less popular or with low inventory. This variability in search results requires the travel search engine to decide if it should widen the search geographically, to show more inventory in that particular geographical area. About 15% of travelers shop using this map-based search, especially in destinations they are unfamiliar with.
Transportation search has a very complex search pattern. For flights with a given origin and destination, there are many different routes, times, schedules, connections, and airlines to get from point A to point B. As you can imagine, routes with fewer connections are usually preferred. The more stops you add, the more complex the scheduling of connecting flights. Expedia Group has a unique product called Best Fare Search that is heavy on computing resources to determine the best route from the many route combinations with multiple airlines with low latency. Best Fare Search even supports the notion of split tickets, where two different airlines are used to support the route — thus adding many more route combinations to be considered in this search problem.
Every flight search processes a matrix of 50 x 50 (2,500) different routes and schedules to get from origin A to destination B.
Indexing the right attributes to search is very important in achieving the best results at low latency. And one of the most common indexed attributes is price and availability. You typically don’t want to index something that’s not available for the query. In online shopping searches, the price is indexed to help with sorting and ranking the order of the products to display. But, as we noted earlier for online travel, there is not a single price for a hotel or flight. Therefore, price indexing becomes inherently difficult because there are many trade-offs and options that need to be considered.
Once a buyer or traveler hits the buy now or book button, this is when the fulfillment of the sales order is realized. What does fulfillment in e-commerce consist of? It is the process of picking, packing, shipping and even returning items purchased. The complexity of this problem is huge, from logistic carriers looking to fill or partially fill a container or truck, to actually picking and packing the goods ready for shipment. Add on different rates for delivery shipping times, and you start to see how this is not easy. The COVID-19 supply chain problems added a shortage of products leading to even more complications for the fulfillment of orders. Returns are something that all e-commerce merchants dread, hence they must bake this into the cost of doing business online. This consideration is why some companies offer free returns or charge the buyer to return, or, in some cases, just tell the buyer to keep the product as the cost to return outweighs their economics. The seller is otherwise left with the problem of reselling or discarding used goods.
For online travel, fulfillment is the process of reserving the product and securing the availability for the specified price and dates. When someone clicks the book button, a final price and availability check is done to ensure the selected product can still be reserved and if any price changes have occurred. The availability decrements the number of products available and blocks them out when there are no more left to sell (avoiding double bookings). We actively monitor the success rates of fulfillment to ensure travel bookings are confirmed. Sometimes, this confirmation is done synchronously, which is real-time confirmed, or asynchronously from the supplier. To help ensure we don’t double-book the same vacation rental property on Vrbo or a competitor, we sync iCalendar bookings between other online travel agents for a more accurate view of inventory. While online travel doesn’t have to deal with the complications of returns, we do have to manage schedule changes and cancellations. When COVID-19 hit in 2020, the entire travel industry saw mass cancellations that had never been experienced before, overwhelming suppliers and online travel agent call centers for months.
In a way, travel fulfillment is simpler than online shopping fulfillment, as they don’t have to deal with returns. Until they have to manage schedule changes and cancellations that might result in either refunds or credits.
E-commerce has changed our lives, whether it be online shopping or online travel. While the two types of e-commerce share many similarities, there are differences that are key to understanding for technology professionals. The major difference for online travel comes with calendar management; for online shopping, it’s the logistics of handling and shipping physical goods.
So, if you are a technology or e-commerce professional looking for new challenges, consider a career in travel technology at Expedia Group — a place where you can change the lives of people through the power of travel.