일 단위 주문 이력으로 개인화하던 배달의민족 Two-Tower 추천을, 시간대와 실시간 클릭·검색 행동까지 반영하도록 단계적으로 발전시킨 성장 일지다. 각 단계가 어떤 한계에서 출발했고 A/B 테스트로 얼마나 개선됐는지 수치와 함께 따라간다.
핵심 포인트- 사용자 ID·H3 위치·요일을 user tower, 가게 정보를 shop tower에 넣어 유사도를 score로 학습하고, 배달 가능 가게가 위치로 이미 filtering돼 retrieval score를 ranker로 직결. 약 2억 건 주문 + in-batch contrastive learning으로 주문 전환율 70% 개선
- 하루 한 번 추천이 점심·저녁 취향 변화를 놓치는 문제를 시간 embedding으로 보완하되, 24배 추론 비용을 카테고리 주문 비율 clustering으로 5개 구간으로 줄여 전환율 6.8% 개선
- 지역 편향·신규 가게 cold start를 피하려 가게명·메뉴 text 기반 content encoder와 query encoder를 triplet margin contrastive로 학습(query 정확도 99.5%). 최근 행동 3개·Two-Tower 후보·weighted RRF·vector DB·feature store를 결합해 주문 전환율 33% 상승
왜 읽나batch 개인화 추천을 실시간 행동 신호로 확장하려는 추천 시스템 엔지니어에게 Two-Tower·content encoder·weighted RRF를 엮는 단계별 실전 사례.