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

Read more

고객 경험이란 무엇일까?

고객 경험이란 무엇일까?

고객경험이란 무엇일까? 1. 과거 어느 대형 프로젝트에서 있던 일이다. 신사업을 위해서 예측 모델 값을 제공해야 하는 상황이었다. 데이터도 없고,어느정도의 정확도를 제공해야 하는지 답이 없었다. 점추정을 할 것인가? 구간 추정을 할 것인가를 가지고 논의중이었다. Product Manager 줄기차게 고객경험을 내세우며 점추정으로 해야 한다고 주장하였다. 근거는 오롯이 "고객 경험"이었다.

By Bongho, Lee
수요예측, 수정구슬이 아닌 목표를 향한 냉정한 나침반

수요예측, 수정구슬이 아닌 목표를 향한 냉정한 나침반

수요예측의 정의와 비즈니스에서의 중요성 기업의 성장과 운영 효율화를 위해 **수요예측(Demand Forecasting)**은 선택이 아닌 필수 요소로 자리 잡았다. 많은 경영진들이 수요예측을 미래 판매량을 정확히 맞히는 '예언'으로 기대하지만, 이는 수요예측의 본질을 오해하는 것이다. 수요예측의 진짜 의미: 미래를 점치는 수정구슬이 아니라, 우리가 도달해야 할 '목표'를

By Bongho, Lee
Agentic AI와 MSA, 그리고 회사의 미래

Agentic AI와 MSA, 그리고 회사의 미래

어딜 가도 AI Agent에 대한 이야기가 들리는 요즈음이다. 정말 안하는 회사가 없다. 사람과 다르게 24시간을 일해도 지치지 않고, 재사용성도 가능하니 비용절감측면에서도, 생산성측면에서도 이만한 솔루션이 없기는 하다. 이러한 Agent가 여럿 모여 인간의 개입없이 복잡한 기능을 수행하는 시스템이 이른바 Agentic AI다. Agentic AI를 보면 문득 개인적으로는 MSA(Micro Service Architecture)가 생각난다.

By Bongho, Lee