11P by xguru 18일전 | ★ favorite | 댓글 1개
  • Search는 Airbnb에서 Guest와 Host를 연결하는 핵심 메커니즘
  • Airbnb의 검색 결과는 두가지로 제공됨
    • 목록 형식 (list-results, 숙소 이미지·가격·평점 등이 표시된 카드 형태)
    • 지도 형식 (map-results, 지도를 기반으로 가격이 표시된 핀 형태)
  • 기존 검색 랭킹 알고리듬은 두 형식 모두 예약 확률에 따라 정렬해 목록을 생성하는 방식이었음
  • 그러나 지도에서는 목록이 아닌 개별 핀(pins) 형태로 표시되므로, 새로운 랭킹 방식이 필요해짐

지도에서는 무엇이 다를까?

  • 목록 형식에서는 위에서부터 사용자 주의가 점차 감소한다는 전제가 있음
    • 실제로 목록에서 순위가 높을수록 CTR(Click-Through Rate)이 높은 모습이 나타남
  • 지도 형식에서는 숙소가 지도 위에 핀으로 흩어져 있어 순위에 따른 주의 감소가 성립하지 않고, 균등하게 분산
    • 따라서 지도 위에 노출되는 숙소를 예약 확률 순으로 제한하는 단순한 방식은 효과가 떨어짐

균등한 사용자 주의(Uniform User Attention) 모델링

  • 지도에서 사용자 주의가 모든 핀에 균등하게 분산된다고 가정하는 접근
  • 하지만 실제로 Guest는 몇 개의 핀만 클릭하기 때문에, 너무 많은 핀을 보여주면 좋은 숙소를 놓칠 수 있고, 너무 적게 보여주면 사용자가 원하는 숙소를 제외할 위험이 생김
  • 해결책:
    • 지도에 표시할 핀의 수를 제한하고, 최상위 예약 확률을 가진 항목만 선택하여 노출
    • A/B 테스트 결과:
      • 검색자가 더 적은 클릭 수로 원하는 숙소를 찾을 수 있었음
      • 예약 전환율 증가, 특히 5성급 후기 비율이 증가

계층화된 사용자 주의(Tiered User Attention)

  • 지도 핀을 두 가지 계층으로 구분:
    1. 일반 핀: 예약 확률이 높은 숙소를 가격과 함께 표시
    2. 미니 핀: 예약 확률이 상대적으로 낮은 숙소를 작은 아이콘으로 표시 (가격 없음)
  • 효과:
    • 일반 핀은 미니 핀보다 8배 높은 클릭률을 가져서, 사용자 시선을 상위 예약 확률 숙소로 더 집중시킬 수 있음
    • 특히 데스크톱 검색에서 더 적절한 결과 제공 가능
    • A/B 테스트 결과, 이 방식으로도 예약 성과가 개선됨

할인된 사용자 주의(Discounted User Attention) 모델링

  • 사용자는 지도에서 중앙에 위치한 핀을 더 많이 클릭하는 경향이 있음
  • 따라서 최적의 중심 좌표를 찾는 알고리듬을 개발하여, 예약 확률이 높은 숙소를 지도 중앙에 배치
    • 다양한 좌표 후보를 평가하여, 가장 높은 예약 확률 숙소들과의 거리가 가까운 위치를 새로운 중심으로 삼음
  • A/B 테스트 결과:
    • 예약 전환율 0.27% 증가
    • 지도를 이동하는 빈도 1.5% 감소, 즉 검색자가 원하는 숙소를 더 쉽게 찾을 수 있었음

결론 및 향후 과제

  • 사용자는 목록과 지도를 서로 다르게 인식하고 상호작용함
  • 지도 검색과 목록 검색은 사용자 행동이 다름을 고려하여 랭킹 방식을 개선
  • 단계적인 실험을 통해 검색 경험 개선 및 예약 전환율 증가를 달성
  • 그러나 여전히 지도에서 모든 숙소를 적절히 노출하는 방법은 해결되지 않은 과제
  • 이 내용에 대한 더 자세한 논의와 기술적 세부 사항은 KDD ’24에서 발표된 연구 논문 "Learning to Rank for Maps at Airbnb" 에서 확인 가능함
  • 향후 연구 방향으로 더 나은 방법을 모색할 예정

지도상의 랭킹이라는 건 정말 아직 해볼 만한 도전이 많이 남아있는 영역인 것 같습니다. 솔직히 좀 당황스러울 정도로요. 최근 해외에서 구글 맵스를 써봤는데 제가 원하는 수준의 정밀도로 음식점 검색 조건을 좁히기가 어려웠습니다. 제가 원하는 느낌이나 톤의 리뷰를 보여주는건 꿈도 못꾸게 먼 이야기처럼 느껴졌구요. 지도를 만드는 모든 업계인들 화이팅입니다!!