수많은 상품들과 시시각각 일어나는 고객들의 행동 데이터가 기하급수적으로 쌓여가는 이커머스 환경에서 고객 각각의 취향을 이해하여 그에 딱 맞는 상품을 추천하는 초개인화 추천은 더이상 선택이 아닌 커머스 성장을 위한 필수가 되었습니다. 패션 커머스 바바더닷컴은 이커머스를 위한 가장 진보한 개인화 AI 솔루션, 옴니커머스를 사용하여 단 두 달 만에 CTR 30% 상승이라는 놀라운 성과를 거두었습니다.

옴니커머스의 초개인화 솔루션은 기존의 기계적인 추천 방식을 뛰어넘어, 고객의 퍼스널 쇼핑 에이전트가 되는 것을 목표로 시작하여 수많은 고객 시나리오를 가지고 집요하게 성능을 개선해왔습니다. AI 추천이 말 그대로 ‘퍼스널’ 쇼핑 에이전트로서의 역할을 하도록, 고객 각각의 쇼핑 여정(Context)을 상세한 상품정보와 함께 실시간 최적화 학습을 진행했고, 오랜 시간의 깊이 있는 연구와 최적화 끝에 각 커머스의 상황과 고객의 숨겨진 니즈까지 예측하는 우수한 모델로 발전시켰습니다.

패션 이커머스 바바더닷컴은 80%이상의 고객이 여성이며, 높은 구매력과 동시에 선호하는 브랜드와 스타일이 확실한 고객들이 대다수입니다. 옴니커머스 팀은 선호도가 분명한 바바더닷컴 고객의 의도를 정확하고 섬세하게 파악하기 위해 정량적 분석 뿐 아니라, 정성적인 분석을 병행하여 반복적으로 모델을 개선했습니다. 이러한 고객사 맞춤형 학습과 반복적인 개선을 통해 바바더닷컴에 적용 후 3개월이 채 안되는 기간동안 CTR이 약 30% 가량 증가한 놀라운 결과를 확인하였습니다.

이 글을 통해, 알고리즘 설계 과정에 반영한 주요 내용과 고민의 지점, 결과적으로 높은 수준의 추천결과를 보기까지 달려온 옴니커머스 개인화팀의 인사이트를 함께 나누고자 합니다.

1. 고객은 어떤 추천을 받고싶을까?

우리는 쇼핑을 하며 다양한 생각을 합니다. 각 고객이 쇼핑 중 어떤 상품을 추천받길 원하는지 AI는 어떻게 알 수 있을까요? 이는 커머스와 브랜드의 성격에 따라 상이한 고객 성향과 니즈를 데이터에 기반한 가설수립, 검증, 분석, 학습, 그리고 최적화를 반복함으로써 가능해집니다. 옴니커머스 개인화팀은 다양한 고객과 시나리오에 따라 최적의 추천 알고리즘을 완성해가는 과정에서 목표 지표와 추천 결과 데이터들을 분석하며 효과가 뛰어난 핵심 추천 전략을 선별하였고, 그 중 대표적으로 아래 세 가지 추천 방식을 최종 적용하였습니다.

선호도 기반 추천
바바더닷컴 고객들의 구매 패턴을 보니 구매 결정에 주는 상위 요인으로 브랜드와 가격, 할인율이 있었습니다. 비슷한 스타일의 브랜드, 그리고 비슷한 가격대 (60%의 고객이 유사한 가격대-현재 보는 상품 대비 10만원 내외의 가격차-의 제품에 반응) 의 제품 구매율이 높았고, 특히 할인율에 민감한 고객의 경우 이 또한 결과에 반영하여 추천했습니다. 또한, 고객이 많이 반응한 브랜드와 실제 구매 히스토리가 있는 브랜드 등이 있다면 이를 우선적으로 고려하여 이 후의 추천 적중율을 대폭 높일 수 있었습니다.

상품 속성정보를 활용한, 관심 상품 추천
고객 시나리오에 따라, 추천 결과에 유사한 상품을 일부 포함하여 추천하는 것이 특히 효과적인 경우가 있습니다. 비슷한 상품을 연속해서 살펴 본 경우가 대표적인데요. 이 경우, 각 상품을 대상으로 900여개의 상품 속성 정보 (의류 카테고리, 색상, 소재, 기장, 핏, 디자인 등)를 자동으로 추출하는 옴니커머스의 Tagging AI를 활용하여 유사도가 높은 상품 (그 중에서도 인기도, 가격 등을 고려하여) 을 추천했습니다. 필요에 따라 옴니커머스 DB의 스타일링 데이터를 Tagging AI 와 함께 활용하여 고객이 보고 있는 상품에 어울리는 상품을 함께 추천하기도 했습니다.

쇼핑 맥락에 기반한 연관도 높은 상품 추천
'연관성' 은 다양한 조건을 포함합니다. 고객과 유사한 취향의 다른 고객이 본 or 구매한 상품, 고객과 유사한 쇼핑 성향의 다른 고객이 본 or 구매한 상품, 고객이 이전에 본 상품 순서 및 종류, 해당 카테고리의 인기상품 등이 종합적으로 고려되어 추천 결과에 반영되며, 이 중 현재 고객의 관심을 가장 잘 끌 것으로 예상하는 상품을 우선적으로 노출했습니다. 요약 고객의 의도 (왜 이 제품을 보고 있는지, 이 전에 어떤 제품을 얼만큼 보았는지 등) 를 잘 파악하여 쇼핑 여정을 지속하도록 하는 것에 중점을 두었습니다.

이러한 핵심 추천 로직이 우수한 성능을 확인할 수 있었던 이유는 고객에게 완전히 포커스 된 최적의 데이터 수집 및 가공과 모델 구축에 있습니다. 이어지는 내용에서 그 과정을 소개합니다.

2. 고객 데이터를 어떻게 수집할까?

이벤트 삽입 예시

Untitled

초개인화 추천을 시작하려면, 먼저 커머스 페이지에 이벤트 SDK를 삽입하여 사용자의 행동 데이터를 일정 기간 동안 수집해야 합니다. 이를 토대로 해당 커머스 서비스에 가장 적합한 AI 알고리즘을 반영하여 추천을 제공하며, 중요한 점은 대규모의 이벤트 데이터 중에서 어떤 정보를 유의미한 것으로 분류하여 학습 데이터로 활용하는가 입니다. 대표적으로 활용되는 정보는 아래와 같습니다.

수집 및 활용 정보 예

  • 상품 정보
    상품 아이디, 상품명, 상품 가격(판매가, 세일가), 상품 성별, 브랜드명, 상품 좋아요 수, 상품 리뷰 수, 상품 리뷰 평점 등
  • 사용자 정보
    상품 정보를 포함한 각 고객사 서비스 페이지에서의 행동 정보, 성별, 나이대 등
  • 기타
    많이 구매한 상품 랭킹, 함께 담은 상품, 함께 본 상품, 많이 본 상품 랭킹, 많이 담은 상품 랭킹, 함께 구매한 상품 등

위의 예시에 나열된 것과 같은 다양한 수집 이벤트들 중에서도 각 커머스 별 특성과 데이터, 그리고 추천을 적용하고자 하는 시나리오와 목표로 하는 비즈니스 지표에 따라 각 데이터들의 중요도는 달라질 수 있습니다. 수집한 이벤트 및 관련된 상품 정보, 사용자 정보는 초개인화 추천 AI 학습과정과 배포된 이후 추천 AI의 성능 검증 과정에 활용됩니다. 학습단계에서 각 피쳐들의 중요도와 업데이트 주기 (실시간 업데이트, 배치 처리 등), 전처리, 후처리 방식 등이 결정되게 됩니다.

이벤트 수집 SDK 또는 API를 통해 수집된 이벤트들은 단위 시간별로 데이터를 모아 처리하는 batch 파이프라인, 실시간으로 처리되는 realtime 파이프라인으로 전달됩니다. 모든 데이터를 배치로 처리하거나 모든 데이터를 실시간으로 처리하는 것은 성능과 비용 측면에서 최적의 선택이 아니며, 추천이 적용되는 시나리오 그리고 각 데이터를 활용하는 AI 모델에 맞추어 적절한 데이터 가공 타임라인을 가져야 합니다.

예를 들어, 상품 조회 이벤트와 검색 이벤트는 그 다음에 조회하거나 장바구니에 넣을 가능성이 높은 상품을 추천하는데 ‘바로’ 적용되어야하는 데이터이며 이를 위해 실시간으로 전달되어 모델에 반영되어야 하는 이벤트입니다. 또, 이벤트와 연관된 상품의 리뷰 개수, 별점 등과 같은 정보는 많은 경우 실시간으로 변화되는 양이 적거나 잘 변화하지 않기 때문에 실시간으로 처리하기보다는 1시간 또는 하루 단위로 처리하는 것이 효율적일 수 있습니다. 이와 같이, 고객사의 환경과 데이터에 맞추어 모델의 최적화된 성능을 가장 효율적인 구조로 달성하기 위해 구성된 데이터 파이프라인을 기반으로 추천 서비스가 배포된 이후에도 지속적인 모델 반복 학습과 성능 모니터링이 진행됩니다.

3. 탁월한 개인화 AI를 어떻게 구현할까?

수집된 양질의 데이터와 고객에 대한 인사이트를 모델에 반영하는 단계에서는, 여러 데이터 중 유의미한 데이터를 추출하고 가중치를 조절하여 학습에 반영합니다. 가장 핵심이 되는 단계라고도 할 수 있는데요, 옴니커머스 개인화 팀은 수많은 실험 결과 바바더닷컴에 최적화된 개인화 추천 모델을 구축하였습니다.

ETL & 학습 파이프라인

ETL 단계에서는 SDK로 수집되는 여러 데이터를 분산 처리하여 학습에 필요한 데이터를 생성하고 있습니다. 일정한 주기, 배치 단위로 생성되는 데이터는 offline / online feature store로 나뉘어 저장됩니다. offline store에 저장되는 데이터는 모델 학습에 필요한 데이터로, 고객 및 상품에 대한 여러 가지 feature들을 계산하고 이를 학습에 적극 활용하고 있습니다. online feature store에는 실제 추천을 위한, 가장 최근의 데이터만을 offline feature store로부터 저장하여 API에서 보다 빠르게 feature를 검색할 수 있도록 하고 있습니다. 수집된 SDK 이벤트 데이터로 부터 offline, online store로 처리되는 ETL 프로세스와 모델 학습 프로세스는 Kubeflow를 활용하여 자동화하였으며, 일정한 주기로 반복하여 수행하고 있습니다.

모델 아키텍쳐

옴니커머스 개인화 추천모델은 candidate generationranking의 두 단계로 이루어져 있습니다. candidate generation에서는 여러 가지 머신 러닝, 딥러닝 모델을 활용하여 유저에게 추천할만 한 후보군 들을 추출 하며, ranking stage에서 추출된 후보군 들의 순위를 조절합니다. 그 외에 고객사 맞춤 상품 필터링을 추가하여 최종 추천 결과를 내보냅니다.

Models

논문으로 소개되고 많이 사용하는 개인화 추천 모델들은 매우 다양합니다. 기존 트리기반 모델부터 딥러닝 기반 모델까지 사용자의 상황 및 데이터 특성에 따라 선택의 폭이 넓습니다. 옴니커머스 개인화 추천 연구팀은 커머스 내 추천 영역의 목적에 따라 적합한 추천을 할 수 있도록 다양한 알고리즘을 구현하고 테스트하고 있습니다.

예를 들어 상품 하단 상세는 sequence-based model, 장바구니 페이지에는 Graph Neural Network, 검색 하단 추천에는 텍스트 기반의 모델을 사용하는 것입니다. 또한 여러 candidate generation의 전략(strategy)들을 앙상블하여 사용이 가능하며 이때 ranking 모델을 활용하고 있습니다.

정제된 벤치마크 데이터셋을 활용해 실험하고 리포트 된 논문상의 성능으로 보았을 때는 모든 모델이 대체로 좋은 추천 성능을 보이지만 정제되지 않은 현실 데이터에 이들을 단순 구현하여 사용하는 것은 부족함이 있습니다. 옴니커머스 추천 AI는 실제 상용 서비스 시나리오에서 발생할 수 있는 다양한 데이터 노이즈 및 결손을 최소화 하고, 성능을 최적화하기 위해 다양한 방법을 시도 하였고 이들 중 효과적인 방법들 중 일부를 아래에 설명하도록 하겠습니다.

Dataset Reformation

개인화 추천에서 사용 되는 데이터는 기존 부터 sparsity라는 문제를 가지고 있습니다. 유저나 상품 수에 비해 전체 클릭 수가 매우 모자르다는 것입니다. 논문들에서 성능 리포트를 위해 사용하는 테스트 데이터셋은 모든 유저와 상품을 사용하지 않고 클릭 수로 필터링한 유저와 상품을 사용합니다. 또한 실제 데이터에서는 다양한 클릭 패턴과 시간에 따른 유저 관심도의 급격한 변화가 있기 때문에 필요한 행동 패턴 이외의 노이즈는 적절하게 제거하는 것이 필요하였습니다.

기본적으로 유저와 상품을 필터링 한 후에 실제 추천에 용이한 추천 전략을 저희 모델이 배울 수 있게 학습에 사용하는 클릭 데이터 자체를 필터링 하였습니다. 실제로 데이터셋 재구성을 통해 성능을 지속적으로 향상시킬 수 있었습니다.

Hyperparameter Optimization

추천 모델 뿐만 아니라 딥러닝 기반 모델들은 기본적으로 많은 수의 hyperparameter를 가지고 있습니다. 전반적인 모델 디자인부터 학습 프로세스까지 많은 통제 변인이 있고 이들은 최종적으로 추천 성능에 매우 많은 영향을 줍니다. 대부분의 논문에서는 전체 hyperparameter 중의 일부에 대해서만 search space를 제공하고 이들 중에서 최적 세팅을 따로 명시하지 않는 경우도 있습니다. 또한 데이터셋마다 hyperparameter에 의한 성능 경향이 다르게 나타나기도 합니다.

이러한 모델 디자인 초이스들은 실제 온라인 환경에서 다양한 디자인 초이스들 간의 성능을 비교해보고 최적의 값을 선택하는 과정이 필수적입니다. 이를 위해 옴니커머스 초개인화 AI 솔루션에서 지원하는 A/B test 환경에서 다양한 hyperparameter, 모델 아키텍처의 성능을 비교하였고, 바바더닷컴 케이스에 최적화되어 튜닝된 모델을 확보 할 수 있습니다.

옴니커머스 개인화 팀은 방대한 데이터로부터 의미를 도출하고, 수많은 실험을 통해 고성능의 추천 모델을 최적화해가는 과정을 통해 목표했던 KPI 를 훌쩍 뛰어넘는 결과를 얻을 수 있었습니다. 커머스 내에서도 홈 화면, 상세페이지, 장바구니 페이지 등 적용 영역에 따라 고려해야 하는 데이터와 알고리즘 전략이 다르기에 앞으로의 새로운 실험과 성능 향상 후의 결과도 매우 기대됩니다.

바바더닷컴 상품 상세페이지 하단에 적용된 AI 상품 추천 결과 예

현재 초개인화 추천이라는 이름으로 수많은 AI 추천 솔루션이 사용되고 있으나, 실제 작동 원리는 단순한 시퀀스 (사용자의 행동 순서) 기반 추천과 유사상품 많이 보여주기, 인기상품 많이 보여주기에 지나지 않는 경우가 적지 않습니다. 그러나 고객은 아주 다양한 니즈를 가지고 커머스에 방문하기에 세분화된 개별 고객들의 니즈를 깊이있게 파악 & 예측하여 (별다른 니즈가 없이 둘러보는 고객까지도) 섬세하게 결과를 조정하는 과정이 있어야만 차별화된 추천 결과를 체감할 수 있음을 알게 되었습니다.

옴니커머스 개인화팀은 향후 스포츠 브랜드처럼 브랜드 고유의 상품 체계 (가령 캐주얼,아마추어,프로 고객을 위한 상품 세그먼트 등) 가 있는 패션 도메인, 그리고 패션 카테고리 뿐 아니라 식품, 가구, 뷰티 등의 다양한 도메인에 적용되어 완전히 새로운 개인화 쇼핑 경험을 제공할 준비를 마쳤습니다. 글로벌 무대에서 더욱 큰 보폭으로 성장할 앞으로의 여정도 기대해주세요!