Application of matching. How Airbnb ensures host preferences?


As we all know Airbnb matches people who are looking for temporary housing with hosts that would like to rent out their place for a specific period of time. The host can reject or accept the request depending on his preferences. To be able to do that Airbnb uses an algorithm similary to the one of Gale and Shapley’s; the assumptions that they use are: there is an equal number of hosts and guests, the hosts sort the guests by preference, no host prefers to leave their house empty, and every guest wants a room (they can’t be homeless).
Host maximize his profits and also cares about guests staying the most posible time.
However, this algorithm doesn’t satisfy an important feature; it’s not strategy-proof, therefore guests can be willing to lie about the time they are staying to get a better match.

For instance, a host who rents out for at least 4 days. The guest who wants to stay in that property can lie and say that they will stay for that period of time and then simply leave early. This effects their rating, but many people just create new accounts for next time.

You can read more on the following links


Hello @Andrea, thank you for sharing these article, I found Ifrach’s one really interesting. There are some points I would like to comment though.

I think airbnb has improved the not-strategy-proof algorithm you refer, because now when you request a stay and it is successfully booked , it is charged to you at that precise moment, so if you book for 4 days and leave at day 2, you will be losing money and no rational agent would want that. The host should have no problem since she has already received her money.

Airbnb has also improved its algorithm because now ratings are really relevant to hosts, so it is not an easy way out for users to keep creating new accounts, they rather improve their rating to increase their likelihood of a match.

It is interesting how Ifrach described the process of developing their own model and show us how sometimes you need an algorithm that fits your needs, even if it means creating a new one.