- Search는 Airbnb에서 Guest와 Host를 연결하는 핵심 메커니즘
- Airbnb의 검색 결과는 두가지로 제공됨
- 목록 형식 (list-results, 숙소 이미지·가격·평점 등이 표시된 카드 형태)
- 지도 형식 (map-results, 지도를 기반으로 가격이 표시된 핀 형태)
- 기존 검색 랭킹 알고리듬은 두 형식 모두 예약 확률에 따라 정렬해 목록을 생성하는 방식이었음
- 그러나 지도에서는 목록이 아닌 개별 핀(pins) 형태로 표시되므로, 새로운 랭킹 방식이 필요해짐
지도에서는 무엇이 다를까?
- 목록 형식에서는 위에서부터 사용자 주의가 점차 감소한다는 전제가 있음
- 실제로 목록에서 순위가 높을수록 CTR(Click-Through Rate)이 높은 모습이 나타남
- 지도 형식에서는 숙소가 지도 위에 핀으로 흩어져 있어 순위에 따른 주의 감소가 성립하지 않고, 균등하게 분산
- 따라서 지도 위에 노출되는 숙소를 예약 확률 순으로 제한하는 단순한 방식은 효과가 떨어짐
균등한 사용자 주의(Uniform User Attention) 모델링
- 지도에서 사용자 주의가 모든 핀에 균등하게 분산된다고 가정하는 접근
- 하지만 실제로 Guest는 몇 개의 핀만 클릭하기 때문에, 너무 많은 핀을 보여주면 좋은 숙소를 놓칠 수 있고, 너무 적게 보여주면 사용자가 원하는 숙소를 제외할 위험이 생김
- 해결책:
- 지도에 표시할 핀의 수를 제한하고, 최상위 예약 확률을 가진 항목만 선택하여 노출
- A/B 테스트 결과:
- 검색자가 더 적은 클릭 수로 원하는 숙소를 찾을 수 있었음
-
예약 전환율 증가, 특히 5성급 후기 비율이 증가함
계층화된 사용자 주의(Tiered User Attention)
- 지도 핀을 두 가지 계층으로 구분:
-
일반 핀: 예약 확률이 높은 숙소를 가격과 함께 표시
-
미니 핀: 예약 확률이 상대적으로 낮은 숙소를 작은 아이콘으로 표시 (가격 없음)
- 효과:
- 일반 핀은 미니 핀보다 8배 높은 클릭률을 가져서, 사용자 시선을 상위 예약 확률 숙소로 더 집중시킬 수 있음
- 특히 데스크톱 검색에서 더 적절한 결과 제공 가능
- A/B 테스트 결과, 이 방식으로도 예약 성과가 개선됨
할인된 사용자 주의(Discounted User Attention) 모델링
- 사용자는 지도에서 중앙에 위치한 핀을 더 많이 클릭하는 경향이 있음
- 따라서 최적의 중심 좌표를 찾는 알고리듬을 개발하여, 예약 확률이 높은 숙소를 지도 중앙에 배치
- 다양한 좌표 후보를 평가하여, 가장 높은 예약 확률 숙소들과의 거리가 가까운 위치를 새로운 중심으로 삼음
- A/B 테스트 결과:
-
예약 전환율 0.27% 증가
-
지도를 이동하는 빈도 1.5% 감소, 즉 검색자가 원하는 숙소를 더 쉽게 찾을 수 있었음
결론 및 향후 과제
- 사용자는 목록과 지도를 서로 다르게 인식하고 상호작용함
-
지도 검색과 목록 검색은 사용자 행동이 다름을 고려하여 랭킹 방식을 개선
- 단계적인 실험을 통해 검색 경험 개선 및 예약 전환율 증가를 달성
- 그러나 여전히 지도에서 모든 숙소를 적절히 노출하는 방법은 해결되지 않은 과제
- 이 내용에 대한 더 자세한 논의와 기술적 세부 사항은 KDD ’24에서 발표된 연구 논문 "Learning to Rank for Maps at Airbnb" 에서 확인 가능함
- 향후 연구 방향으로 더 나은 방법을 모색할 예정