오프라인 유통기업 이마트의 개인화/추천/검색


글쓴이 : 정유선 | AI/ML담당 AI Engineering Chapter Lead
글쓴이 : 정유선 | AI/ML담당 AI Engineering Chapter Lead

이마트는 오프라인 유통기업입니다. 대한민국의 대표 대형마트라고 할 수 있습니다. 이마트 앱에 대해 들어보신적 있으신가요? 고객들이 방문하는 오프라인 마트 앱이라니 오프라인 쇼핑을 도와주는 편의기능이 있는 앱일까요?


네, 이마트 앱은 고객 편의 기능을 주 기능으로 탑재하고 있습니다. 그런데, 이마트 앱에 AI기능이 들어간 사실 아시나요? 고객이 직접 인지하기엔 낯선 기능일수도 있는데요. 생각보다 여기저기에 AI기능이 들어가 있답니다. 이번 글에서는 이마트 앱에 적용된 AI기능들을 소개해보려고 합니다. 


고객 상품 추천 


이마트 방문 고객의 데이터는 주로 영수증 데이터 입니다. 고객 영수증 데이터를 통해 고객 방문시각, 어떠한 상품을 구매했는지 그리고 결제수단 및 쇼핑 완료 시간 등을 알 수 있게 되죠. 모든 추천과 개인화는 오프라인 영수증부터 시작합니다. 다만, 오프라인에서 고객이 구매한 상품 목록을 통해 고객의 의도를 100% 알 수는 없겠죠? 이마트 앱에는 고객 행동 및 의도를 파악할 수 있는 트리거들이 탑재 되어 있습니다. 그 중 상품 추천은 고객의 구매 데이터 기반 및 이마트 앱에서의 행동 로그 등을 활용하여 추천하게 되어 있습니다. 여러가지 추천 알고리즘을 통해 고객이 쇼핑할 때 좋은 혜택으로 구매할 수 있도록 상품 단위 추천을 하고 있습니다. 개별 고객에게 노출되는 상품은 구매이력 및 이마트 앱 내 고객 행동을 반영하여 다르게 노출되며 고객에게 노출 및 실제 구매까지 이어졌는지 등을 CTR(클릭율) / CVR(구매 전환율)로 추적하여 모델 성과를 측정하고 있습니다. 

실제 모델 서빙은 어떤 방식으로 이루어질까요? 이마트 앱 개인화 추천은 실험 기반의 A/B테스팅 방식으로 구성됩니다. 추천 모델을 생성할 때마다 오프라인 테스트를 진행하게 됩니다. 가설을 세우고 학습 알고리즘을 통해 historical data로부터 모델을 생성하게 하게 되죠. 이때 모델 성능 검증을 위한 오프라인 테스트를 수행합니다. 오프라인 테스트를 통과한 모델을 실제 서비스에 내보낼 때 보다 안전한 방법으로 A/B테스트를 수행하게 됩니다. 

이마트 앱 A/B테스트에서는 추천 지면 하나에 여러가지 실험을 세팅할 수 있습니다. 위의 스크린샷에는 단일 실험으로 구성되었는데요. 추천 지면이 캐로셀 타입이거나 다수의 추천이 노출되는 경우도 있어서 이때는 실험을 N개를 동시에 진행하기도 합니다. 각 실험은 1…N개의 버킷으로 이루어 집니다. 각 버킷별로 트래픽에 대한 ratio를 설정할 수 있습니다. 이때 한 고객은 한 실험에 한 버킷에 노출되어야 합니다. 개인화 추천을 할때 주의해야 할 점인데요 매번 로그인 또는 접속시에 다른 버킷에 노출되면 해당 모델의 성능 측정이 힘들어 질 수 있습니다. 추천 아이템이 매번 접속시 새로운 추천을 해야 하는 경우 추천 셋에서 shuffle하는 방법을 쓰기도 합니다. 버킷별로 모델 하나가 서빙되는 구조입니다. 모델 경합을 해야 하는 경우 버킷을 나누어서 이것저것 실험을 해보기도 합니다. 

구매/설문 기반 개인화 추천 그리고 취향 일치도 


이마트 앱에 와인그랩이라는 버티컬 와인 픽업 서비스가 있습니다. 와인그랩은 기획부터 DT의 요소들을 많이 넣어 고객의 서비스 진입부터 구매까지 모든 과정이 AI요소가 포함되어 있습니다. 실제 구매로 이어지는 서비스이기에 이것저것 공을 많이 들인 서비스인데요. 최초 관문인 서비스 진입 시 설문을 진행하게 됩니다. 

몇가지 설문을 통해 개개인의 설문 맛지표가 설정됩니다. 설문이력(rule 기반 + 와인 속성에 대한 euclidean distance 유사도) 을 원하지 않는 경우 구매 이력(K-means Clustering) 기반으로 자동으로 고객별 와인 지표를 생성하게 됩니다. 이때 와인그랩내 모든 상품에 취향 일치도(user -item similarity)를 표현하게 되는데요 와인을 구매할 때, 참고 지표로 사용할 수 있습니다. 그리고 놀랍게도 추천 받은 와인을 구매한 고객 대상 받은 피드백은 80%이상의 만족(맛/가격/재구매 의사) 입니다. 

와인을 잘 알지 못해도 와인그랩에서 와인을 구매하여 마셔보면서 취향을 만들어갈 수도 있고요. 저의 경우 구매하면서 와인 지표들이 차츰 변화하고 있습니다. 추천/검색을 통해 탐색한 와인에 대해 관심상품 찜하기 기능을 통해 구매 가능한 시점에 알람을 받을수도 있습니다. 와인그랩에서 꼭 관심 상품 찜 해두세요! 

와인 그랩 시멘틱 서치 


와인그랩 상품 검색은 100% 언어 모델 기반 검색으로 구현되어 있습니다. 검색엔진 없이도 사전 학습된 언어 모델(klue roberta base plm NLP) 에 자체 보유한 와인 데이터를 추가 학습하여 fine-tuning하고 모델 경량화 및 응답 성능을 높이고자 faiss library를 적용 하였습니다. 와인 검색에 시멘틱서치가 필요한 이유가 뭘까요? 사실 원래 구현하고 싶은 언어 모델은 자연어 검색 모델 이였습니다. 


“스테이크에 어울리는 레드와인 추천해 줘" … 

하지만 현실은 학습 데이터 확보 및 어노테이션 등 모델 개발보다는 학습 성능 향상을 위한 양질의 데이터 확보에 더 힘을 기울여야 했죠. 기획자와 논의하여 자연어 검색보다는 사전 없이 오탈자 보정 동의어 외래어 검색에 좀 더 힘을 써보자 였고, 결과는 다음과 같습니다. 와인 용어가 쉽지는 않죠. 표현도 국가별로 다 다릅니다. 하지만 언어모델 기반 검색이라 다양한 언어표현 검색이 가능합니다. 검색엔진을 활용한 경우라면 별도의 사전 관리 및 운영이 필요한데, 시멘틱 서치의 경우 서비스 운영자의 수고를 조금은 덜어 준 듯 하여 뿌듯합니다. 

마케팅도 AI로 


추천의 방식중에 고객에 앱으로 인입하여 들어왔을때 추천아이템을 노출하는 경우도 있지만 좋은 혜택이나 알림등으로 개인화 추천을 app push형태로 발송하는 경우도 있습니다. 와인그랩은 와인장터 기간중 신규 고객 확보를 위해 AI기반으로 마케팅을 수행하였습니다. 대상 고객들을 좀 더 세밀하게 AI로 타게팅 하는것이지요. 정답지 기반(기존 와인그랩 고객)으로 고객별 피처를 추출하여 binary classification으로 가망 모델링을 수행하였습니다. AI기반 마케팅의 경우 CTR 5.17%, CVR 0.87% 결과를 가져왔고 앞으로 이를 자동화 하여 별도 마케터가 매번 데이터 모수를 모으고 마케팅 전략을 짜지 않아도 자동화해서 적합한 고객에게 app push 및 혜택 정보가 나갈 수 있도록 하려고 합니다. 


추천 어디까지 가능? 


와인 그랩의 경우 고객 진입 시점부터 구매완료 시점까지 모든 퍼널에 로깅 및 트리거를 숨겨 놓은 상태입니다. 즉, 고객의 행동에 따라 즉각적으로 반응하여 실시간 추천까지 가능한 수준입니다. 고객 Context 기반 추천 외에도 추천 와인에 대한 연관 상품 추천 그리고 OCR+Text Similarity기술을 + Image Feature Similarity기술을 이용한 와인라벨 검색기능을 준비중에 있습니다. 또한 언어모델 기반 개인화된 맞춤 마케팅 메시징 기능도 준비하고 있고 와인그랩 외에 이마트 앱에 여러 버티컬 서비스에 적용 예정입니다. 


이마트 앱 상품검색 


이마트 앱에 상품검색 기능은 이마트 점포에 있는 상품에 대한 가격/재고/할인 정보 등을 제공하고 있습니다. 이마트 앱에 단골점포를 등록하면 단골점포에 해당 상품이 있는지 가격 및 기타 정보를 확인할 수 있는데요. 최저가 보상 전단 상품 할인 등 다양한 정보를 쇼핑전에 확인할 수 있습니다. 

상품검색의 개인화 


상품검색은 검색엔진 기반이지만 개인화 기능이 일부 포함되어 있습니다. 검색 랭킹 기능에 영수증으로부터 계산된 구매이력/선호이력 분류가 적용이 되어있는데요. 저의 경우 아래 피코크 상품의 푸딩을 많이 사는데, 피코크 검색어에 푸딩이 부스팅(랭킹 순서조절) 된 것을 알 수 있습니다. 고객이 주로 구매하거나 관심 있을 만한 아이템을 먼저 노출해 주는 것이죠. 검색은 무엇보다 고객의 직접적인 의도가 표현되는 기능입니다. 이마트앱 검색의 경우 트랜드성 검색어와 실 구매를 위한 정보 확인용 질의어가 많이 유입되는 편입니다. 점포에 가기 전 이 아이템 먼저 있는지 알아봐야 한다거나 행사/세일 정보를 보고 장바구니를 구상하실 때, 활용가능해요. 

상품 검색 고도화 


개인화된 검색 서비스도 준비중에 있습니다. 이마트앱 검색 고객은 당일 검색-구매로 이어지는 케이스가 많은데요. 무엇보다 이마트 방문전에 많은 상품을 탐색하고 알뜰하고 좋은 상품으로 구매할 수 있도록 혜택 정보 포함 다양한 개인화된 서비스를 제공하는 것을 목표로 하고 있습니다. 많이 기대해 주세요 :)