- SearchはAirbnbでGuestとHostをつなぐ中核的なメカニズム
- Airbnbの検索結果は2つの形式で提供される
- リスト形式(list-results、宿泊先の画像・価格・評価などが表示されたカード形式)
- 地図形式(map-results、地図上に価格が表示されたピン形式)
- 既存の検索ランキングアルゴリズムは、両方の形式で予約確率に基づいて並べ替えた一覧を生成する方式だった
- しかし地図では一覧ではなく個別のピン(pins)として表示されるため、新しいランキング方式が必要になった
地図では何が違うのか?
- リスト形式では、上から下に行くほどユーザーの注意が徐々に低下するという前提がある
- 実際に、リストでは順位が高いほどCTR(Click-Through Rate)が高くなる傾向が見られる
- 地図形式では宿泊先が地図上にピンとして散らばっているため、順位に応じた注意の低下は成り立たず、均等に分散する
- そのため、地図上に表示する宿泊先を予約確率順で制限する単純な方式は効果が低い
均等なユーザー注意(Uniform User Attention)のモデリング
- 地図上でユーザーの注意がすべてのピンに均等に分散すると仮定するアプローチ
- しかし実際には、Guestは数個のピンしかクリックしないため、ピンを多く出しすぎると良い宿泊先を見逃す可能性があり、少なすぎるとユーザーが望む宿泊先を除外してしまうリスクがある
- 解決策:
- 地図に表示するピンの数を制限し、最上位の予約確率を持つ項目だけを選んで表示
- A/Bテスト結果:
- 検索ユーザーがより少ないクリック数で望む宿泊先を見つけられた
- 予約転換率が増加し、特に5つ星レビューの比率が増加した
階層化されたユーザー注意(Tiered User Attention)
- 地図ピンを2つの階層に区分:
- 通常ピン: 予約確率が高い宿泊先を価格付きで表示
- ミニピン: 予約確率が相対的に低い宿泊先を小さなアイコンで表示(価格なし)
- 効果:
- 通常ピンはミニピンより8倍高いクリック率を示し、ユーザーの視線を上位の予約確率を持つ宿泊先により集中させられる
- 特にデスクトップ検索でより適切な結果を提供可能
- A/Bテストの結果、この方式でも予約成果が改善した
割引されたユーザー注意(Discounted User Attention)のモデリング
- ユーザーは地図上で中央に位置するピンをより多くクリックする傾向がある
- そのため、最適な中心座標を見つけるアルゴリズムを開発し、予約確率が高い宿泊先を地図中央に配置
- さまざまな座標候補を評価し、最も高い予約確率を持つ宿泊先群との距離が近い位置を新しい中心とする
- A/Bテスト結果:
- 予約転換率が0.27%増加
- 地図を移動する頻度が1.5%減少し、つまり検索ユーザーが望む宿泊先をより簡単に見つけられた
結論と今後の課題
- ユーザーはリストと地図をそれぞれ異なる形で認識し、相互作用する
- 地図検索とリスト検索ではユーザー行動が異なることを考慮してランキング方式を改善
- 段階的な実験を通じて検索体験の改善と予約転換率の向上を達成
- しかし依然として地図上ですべての宿泊先を適切に露出する方法は未解決の課題
- この内容に関するさらに詳しい議論と技術的な詳細は、KDD ’24で発表された研究論文「Learning to Rank for Maps at Airbnb」で確認できる
- 今後の研究では、より良い方法を模索する予定
1件のコメント
地図上のランキングというのは、本当にまだまだ挑戦しがいのある領域のように思います。正直、少し戸惑うほどです。最近海外で Google Maps を使ってみたのですが、自分が求めるレベルの精度で飲食店の検索条件を絞り込むのが難しかったです。自分の求める雰囲気やトーンのレビューを見せてくれるなんて、夢のまた夢のように感じました。地図を作るすべての業界の皆さん、頑張ってください!!