learning to rank uplift modelling matching market marketplace
Profi is a two-sided matching platform where customers can find tutors, beauty masters, plumbers, and other professionals, and professionals can find customers. It's a horizontal marketplace with over 900 types of services provided by professionals.
The quality of search and ranking is important for the matching process there. In a two-sided matching platform, both sides have to choose each other for a deal to happen, and that makes the ranking problem harder and kind of unique.
In two blog posts, I'll explore the ranking problem and explain the solution that significantly increased the number of deals in the marketplace.
In this first post, I will cover:
In the second post, I will cover the details of the successful solution that was implemented in production.
When a customer places an order on Amazon, the seller doesn't get to choose whether or not to sell to this customer. And this is an example of a commodity market.
In matching markets, you can't just choose and get what you want—you also have to be chosen. Examples of matching markets and platforms:
While in commodity markets prices do most of the work and balance supply and demand, in matching markets, price is not the most important factor. Market design, search, and ranking algorithms play a crucial role there.
To learn more about matching markets read Who Gets What—and Why by Alvin Roth, a Nobel Prize laureate in Economics.
The process of how customers and professional can find each other on Profi:
The order feed in the app for professionals is the source of 56% of proposals. Orders in the feed are selected based on a professional's preferences and previous activity. Originally, orders were sorted in reverse chronological order.
While order "freshness" is important for professionals, it's not the only factor of choice. The hypothesis was that we could improve the matching process by implementing a new order ranking algorithm.
The objective was to increase the number of deals, which is one of the two most important metrics in the company.
The first idea was to sort orders by the probability of a proposal. The intuition was the following:
We trained a machine learning model with the following target and conducted an experiment:Proposal Deal Target Yes Yes 1 Yes No 1 No No 0
The experiment resulted in the following:
The interpretation was that extra proposals were sent to customers who already had enough proposals to choose from.
Increasing the number of proposals without increasing the number of deals is not good both for professionals and for customers:
The next intuitive choice was to sort orders by the probability of a deal, and to train a model with the following target:Proposal Deal Target Yes Yes 1 Yes No 0 No No 0
To be precise, for a pair of a professional and a customer (P, C), a model should've predicted the probability that:
But, if you think carefully, you can see that this is not the right problem formulation for the case:
We decided not to move forward with this formulation of the problem as it doesn't correctly reflect the matching process.
The last idea was to estimate how showing an order to a professional would change the probability of a deal in that order, no matter with which professional. The model should calculate a difference in the probability of a deal in an order between two parallel universes:
Models that compare parallel universes are called uplift models.
Ranking orders by the uplift in the probability of a deal showed the following results in the experiment (measured with proxy metrics):
It was a great result in itself. But it also opened a door for further improvements, not only in ranking of orders. For example, finding more relevant orders and adding them to the order feed automatically increases the number of deals.
I will get into some details of the model in the next post. Stay tuned.
This case reminded me of a notion of the type III error. Before I explain what it means, let me give you examples of the type I and type II errors in the context of the ranking of orders:
Well, whether the professional would send a proposal or not, is not the right question in the first place, at least not the final one. And that's a type III error.
Also, check out Cassie Kozyrkov's excellent explanation: https://youtu.be/R51nueuAyIY.
© Evgeny Ivanov 2023