Doordash의 Image Selection Model

요약

배경

  • 이미지는 고객에게 어필하기 위한 가장 좋은 데이터 소스
  • 초기에는 적은 이미지로 간단한 로직을 가지고 Feasibility Test  시작
  • 현재 가게를 꾸미는 이미지는 사장님이 임의로 선택하고 있으나, 가게의 현 상황을 충분히 반영하고 있지는 못함

초기 개발과정(MVP)

  • 현 상황에서 대해서 Personalization Team이 빠르게 분석하면서 Iteration을 돌기 시작함
  • 적절한 정책을 수립해서 가게를 대표할만한 이미지를 필터링하고 A/B 테스트를 진행, 이 때 지표는 전환율이었고, 정책은 음료나 사이드 메뉴등을 제외하는 Rule Set인 것으로 보임
  • 대표 이미지와 가장 많이 팔리는 이미지 Top3를 Rotation으로 보여주는 것을 처음 시도하였고 이때 가설은 이런 변화가 1)클릭수의 증가 2) 사용자이 신규 가게 클릭수 증가 3) 1),2)의 조합에서 오는 전환율의 증가를 가져온다였음.
  • 결과는 좋지 않았음. 클릭은 증가했으나 전환율은 다소 떨어졌음 → 클릭 유도요인과 전환율 유도요인은 다를 수 있다.
  • 문제를 정리하면 "어떠한 이미지가 전환율을 높일 수 있는지 선택하는 모델 고안 필요" 였고, 동시에 저화질 이미지에 대해서는 제외할 필요도 있었음

Explotation과 Exploration의 균형 찾기

  • 새로운 이미지는 고객에게 노출된 적이 없기 때문에 전환율은 0일 것이고, 그럼에도 고화질이라면 고려할 필요가 있었다. 그리고 사용자의 취향은 계속 바뀌기 때문에 최적의 이미지를 단순히 계속 보여주다간 다른 이미지를 체크할 기회도 없었다.  그리고 사용자는 동일한 이미지를 보는데 지칠 수도 있기 때문에 이 부분을 관리할 필요가 있었다.
  • Multi-arm Bandit algorithm 사용하였고 Model Score를 다음과 같이 구성
image

c는 customer id, m은 merchange id, i는 image url

image

where

image

Explotation Score는 개별 이미지에 대해서 모든 사용자들에 대해서 집계한 전환율, Exploration Score는 이미지에 대한 사용자의 노출수, 노출수가 많아지면 점수가 낮아지는 구조.  EnE모델은 $C_{ENE}$ 승수를 이용해서 전환율에 불확실성을 결합

사용자가 처음 A라는 이미지를 보고 주문했는데, 그 이후로 보기만 하고 주문을 안하면 Impression이 증가하고 되고 자연스럽게 패널티를 받게 된다. 그러면 두번째로 높은 전환율을 가지고 있는 B 이미지를 노출시키는 구조 → 자연스럽게 사용자가 이미지에 대해서 질리지 않도록 유도할 수 있다.

모든 사용자 세션에 대해서 헤더 이미지 + 잘팔리는 음식 5개 이미지 풀에서 지속해서 바뀌는 구조

Exploitation과 Exploration 간 적절한 Trade off 선택

  • A/B테스트로 선택은 해볼 수 있지만 시간이 오래 걸리기 때문에 적절히 데이터 쌓인 시점에 시뮬레이션을 하면서 First Image → Second Image로 바뀌는 적절한 시점은 언제가 좋을지 시뮬레이션을 해서  $C_{ENE}$를 결정하도록 코드를 작성
  • 만약 0으로 하면 불확실성이 0이니까 Exploration을 아예 하지 않는다. 그리고 0.05로 올리면 보다 이미지가 자주 바뀔 수 있다.
image

Context 반영하기

  • Search Query와 연동해서 현재 사용자의 앱 사용의도를 반영하고자 함. → Search and Personalization teams이 이 Task를 담당
  • Search 시점의 이미지는 Search Query와 맞는 이미지이어야 하기 때문에 이 때 Menu Catalog를 활용해서 적용
image

Future work

  • 검색 외에 보다 다양한 Context에서 적절한 이미지를 반영할 수 있도록
  • 보다 많은 데이터를 활용해서 Score를 보다 개인화하는 방향
  • 이미지를 넘어 다른 Domain의 Content를 개인화하도록 확장

Thoughts

  • Personalization 팀이 다소 생소한데 업무 Scope도 궁금하다. 프로덕트 측면에서 목적조직인 것은 확실해보였다.
  • 추천과 검색이 어떻게 보면 가장 밀접하게 일할 수 있는 조직이라는 것을 다시 한 번 확인
  • Vision 보다는 추천의 영역인데, Vision을 보다 더 면밀하게 반영할 수도 있지 않을까 생각하였으나, 이미지의 갯수가 한정적이고 거기까지 가면 상당한 부담을 줄 수 있겠다는 생각은 하였다.
  • 내부 프로덕트 개선 측면에서는 유의미하나 비즈니스 상품으로는 아쉬운 수준으로 보다 packaging 필요
  • ML이라기 보다는 다소 Engineering에 가까운 영역.

References