What do kidney transplants, dating, and school admissions all have in common? They can all be thought of as matching markets, and not just them, matching markets are all around us. But what are matching markets, how do they differ from “normal” markets, and most importantly, why should we try to understand them? To answer the last question first, my reason for wanting to understand matching markets, and the reason I originally read “Who Gets What — And Why,” was after I joined the Market Dynamics team at Uber Freight and when on the first day my manager handed me the book. You see, the Freight industry can be thought of as a matching market. Although not mandatory to read, it is team tradition to give the book to all new hires, because even though I was a software engineer, part of the team culture was having everyone fundamentally understand the industry so that we can critically think about the product and apply learnings to make better solutions for our customers. The booked helped me take a step back to look at the Freight industry more abstractly, and it provided me with a rich set of tools and vocabulary to be able to describe and understand the market, the problems, and the challenges Uber Freight faces.

To best understand what a matching market is, I find it more intuitive to differentiate it from what most people consider a “normal” market. When people think of markets, they are really thinking about a commodity market - say such as the ones for coffee beans or company stocks. In commodity markets, price is the only determining factor in whether or not a transaction between a buyer and seller takes place, and theoretically the price is set by the well-known concepts of supply and demand - that is, when supply equals demand. If I go to the New York Stock Exchange for instance, I can observe the current market price for a stock of some company and choose whether or not to buy it. Crucially, the buyer does not care from whom he buys, and the seller does not care to whom he sells. A matching market is a market in which price is not the only determining factor in whether a transaction between a buyer and seller occurs. To make this more tangible and tie it back to an earlier example, consider school admissions: Harvard University gets hundreds of thousands of applicants, but it does not raise it’s tuition as high as possible until the number of seats equals the number of applications; on the contrary, it keeps them low so that it receives many admissions, and then selects which students to admit based on criteria such as academic performance and extracurricular activities. On the flip-side, students also choose their school based on a variety of factors, such as proximity to the family home, academic programs, sports clubs, and location.

In the trucking freight industry, shippers want to send loads from point A to point B (called a lane), and carriers operate trucks such as Vans, Reefers and Flatbeds. A shipper sending 200,000lb of frozen beef would need to find one or more carriers to bring multiple Reefers to transport their load. From the shipper perspective, they want to find clean, reliable carriers. The carrier side is even more complex because they have many different and sometimes competing goals. They want loads that won’t make their trailers dirty, that take them to locations where they can easily find other loads, that avoid facilities that are slow, and eventually, loads that are backhaul loads, that is, a load that will take them back home so that they can spend time with their family. How can shippers and carriers find each other? Just imagine the chaoticness of shippers trying to individually call carriers and ask them if they would like to take a lane and then trying to negotiate a price. It would be slow and inefficient, taking weeks to book a load and carriers spending most of their time on their digital devices instead of driving and making money. Shippers could post loads on custom websites, but carriers would again have to spend hours scrolling through thousands of companies’ individual load boards. Clearly some sort of marketplace needs to be designed. The industry developed 3PLs, or third-party brokers, to solve the matching problem. Shippers list their loads with these brokers who in-turn list the loads on their own load boards where carriers can search and filter from a centralized list. There are many such brokers and it can still be a struggle for carriers to constantly monitor 3 or 4 load boards to weigh prices and their own preferences.

How can we efficiently and optimally match carriers to loads? What does an optimal match even look like? In a lot of ways, the definition of an optimal match is subjective (everyone can define their own objective function). One optimization goal might be to try to deploy the supply of trucks to move the most value in goods. Another one might be to make the most amount of money for the broker. Uber Freight is carrier-focused. The book defines stable matches - a set of matches where no pair can “break up” and find partners that they would prefer. Given rank-ordered preference lists from shippers and carriers, there are provably-correct and fast algorithms to be able to do this, but in the practical world, we have to infer a carrier’s preferences - at huge scale, in real time, for thousands of loads as they come in. Uber freight leverages its competitive advantages as a leader in Artificial Intelligence to understand each carrier and suggest loads that fit their individual preferences. This involves looking at their historical impressions and booked loads, and as carriers book more with Uber Freight, the more Uber Freight understands them and suggests better matches.

In my opinion, the next big hurdle for Uber Freight is to foster a marketplace that is thick and safe for carriers. A thick marketplace can be intuitively understood as a marketplace with many different carriers and sellers, and as the marketplace becomes thicker, the more likely it becomes that a “perfect match” exists. But to create a thick marketplace, Uber Freight needs to convince carriers that it is safe to participate on its platform. How can carriers be sure that we really are suggesting matches most beneficial to them and giving them the best prices? Uber Freight can do this, through AI and automation, but across the industry there is a lack of trust between carriers and brokers, driven by a common sentiment among carriers that brokers take advantage of them, and that brokers “cut into our profit.” How can we foster inclusivity, a sense of community, and show that we really do care about the carriers? As an entry-level engineer, it is frustrating to see this sentiment, especially when most of my time is spent trying to understand the carrier and building out features to deliver the most value to carrier partners. It would feel cheap to try some PR, marketing ploy directed at carriers because a) it would be insulting and seem like we are screaming at them to appreciate us and b) no marketing gimmick could ever do justice to the dedication I see at Uber Freight in serving the carrier’s interest.

That question is well above my paygrade but it’s certainly interesting to think about, and I look forward to watching and comparing how Uber Freight answers it versus how I think we should answer it. In a lot of ways, the most challenging problems for Uber Freight aren’t technical. We can hire more engineers and data scientists to build anything we want, but we can’t (easily) fix historical systemic mistrust and brand image. At least for now, “Who Gets What — And Why” gave me the vocabulary to be able to describe and understand the problem, at least from a higher level, and understanding problems is the first step to solving them.