Airbnbがエンジニアブログで宿泊を希望する地域の検索ロジックを改善してきた経緯について紹介しています。 当初は検索する場所の一定半径の中をクオリティスコア順に並べるというロジックゆえに、San Franciscoのダウンタウンに宿泊したいユーザの検索結果に、対岸のEast Bayの宿泊先も含まれてしまうという課題があった。 次に検索する場所の中心点から距離に従って指数関数的に関係値が下がる検索ロジックを最上位にしたが、町の中心の宿泊場所がフィーチャーされすぎてしまう問題がでた。 そこでシグモイド関数カーブを採用し、状況は改善したが、町の中心と町のはずれの強弱の関係は、都市ごとに変わってくるので、A/Bテストをして、町ごとにカーブの屈折点を設定する必要がでた。依然、町の中心が有利であった。また、検索の半径を広げ & 距離のロジックの影響を弱めることも、各町がかならずしも左右/上下対称に発