이커머스에서 추천 서비스 잘하기 <2편>
이커머스에서 좋은 추천이란 무엇일까?
무엇보다 고객이 만족하는 쇼핑을 할 수 있도록 돕는 것이다. 그렇다면 추천 서비스를 잘하기 위해서는 어떻게 해야 할까? 이번 글에서 필자가 생각하는 방법을 공유하고자 한다. 글은 두편으로 구성됐다.
[1편]
1. 이커머스 추천 서비스 이해하기
2. 어떻게 잘 만들 수 있을까?
[2편]
3. 푼 문제들(서비스 예시)
4. 앞으로 더 잘해야하는 것들(필요한)
3. 푼 문제들(서비스 예시)
3.1. 홈영역 개인화 컨텐츠
개요
모든 서비스에서 가장 중요한 화면은 홈이다. 홈에서 유저의 니즈와 서비스가 가장 중요하게 전달하려는 가치가 잘 맞아야 좋은 서비스의 시작이라고 할 수 있다. 때문에 홈에 노출하는 서비스와 IA(Information Architecture)는 그 어떤 영역보다 중요하다.
많은 모바일 앱서비스의 홈 구조는 아래와 같다. 순서의 차이는 있겠지만, 대부분 홈의 첫 영역은 가장 강조하고 싶은 것을 노출하고, 밑에는 롱테일을 저격하는 컨텐츠를 제공하는 방식이다,
다른 이커머스와 다르게 모바일 홈쇼핑 포털 앱 ‘홈쇼핑모아’에서는 특성상 ‘시간’이라는 정보가 존재하며, 편성표 등의 서비스를 통해 홈쇼핑사의 편성정보를 제공하고 있다. 홈쇼핑모아는 현재 편성표가 서비스의 홈 역할을 하고 있으며, 방송 예정된 상품의 편성표를 탐색하는 고객도 굉장히 많다.
편성표의 첫 화면은 현재 방송중인 18개 홈쇼핑사의 현재 방송하고 있는 생방송 리스트다. 이는 홈쇼핑모아 서비스의 가장 중요한 부분이며, 고객에게 가장 강조하고 싶은 기능이자 고객의 니즈가 가장 큰 니즈다.
아래로 스크롤을 하면, 앞으로 방송이 예정된 상품이 시간순으로 리스팅 돼 있다. 홈의 하단 영역은 고객의 능동적인 선택(스크롤)에 의해 노출이 되는 영역이기에 첫 화면보다 광고, 컨텐츠 등의 배치가 더 많은 영역이다.
이에 홈쇼핑모아는 방송 예정 상품을 탐색하는 고객들에게 방송 예정 상품 사이사이에 컨텐츠를 제공하고 있다. 컨텐츠는 기획전, 이벤트, 개인화 추천, 인기 검색어 등이 있으며 배너, 캐로셀, 리스트 형태로 서비스를 제공하고 있다.
문제 인식
기존 개인화 추천 컨텐츠는 카테고리로 그룹핑해 서비스를 제공했다. 예를 들어, 패션에 대한 유저의 니즈가 있다고 판단되면 패션관련된 상품만 추천을 해줬다. 때문에 특정 카테고리에 니즈가 없다고 판단된 고객의 경우에는 다른 카테고리 추천이 안되고 있는 상황이었다.
문제 정의
방송 예정 상품을 탐색하는 고객에게 카테고리 구분없이 가장 관심 가질 만한 추천을 제공하는 것.
실험 설계
위와 같이 기존을 포함해 3그룹으로 나눠 a/b 테스트를 진행했다. 기존 추천 서비스였던 카테고리 기반의 추천에서, 카테고리를 구분하지 않고 유저가 가장 관심가질만한 상품을 실시간에 가깝게 추천해주는 서비스로 2가지 추천 모델을 만들었다.
b,c 그룹은 a그룹과 비교하면 서비스 레벨에서 컨셉 자체가 다른 서비스이며, b그룹과 c그룹은 서비스 레벨의 컨셉은 같으나 알고리즘이 다른 것이다. 또한 세 그룹 모두 한 번만 노출되는 것이 아니라, 방송 예정 상품 사이사이에 최대 14번의 다른 추천 결과가 노출된다(a그룹의 경우 다른 카테고리).
실험 결과
여러가지 지표를 비교했지만, 대표적인 지표로는 클릭률(ctr)과 구매버튼 전환율(cr)이 있다. 실험 결과 상품 클릭률(ctr)은 a그룹 대비 b그룹은 약 25%, c그룹은 약 80% 이상의 상승을 보였으며, 구매버튼 전환율(cr)은 a그룹 대비 b그룹은 약 10%, c그룹은 약 5% 의 상승을 보였다.
상품 클릭률(CTR) : c > b > a
구매버튼 전환율(CR) : b > c > a
서비스 출시
클릭률이 좋은 c그룹(WMF 모델)과 구매버튼 전환율이 좋은 b그룹(Session based 모델) 중 어느 모델을 서비스로 출시해야할지 고민이었다.
그런데 데이터를 더 깊숙히 들여다보니, 새로운 사실들이 보였다. 노출되는 개인화 추천 컨텐츠(최대 14개)를 노출되는 순서별로 클릭률(ctr)과 구매버튼 전환율(cr)을 보니 가장 먼저 추천되는(랭킹 스코어가 가장 높은) 컨텐츠의 경우 b그룹(Session based 모델)의 클릭률(ctr)과 구매버튼 전환율(cr) 수치가 훨씬 높았다.
반면, 전체 14개의 개인화 추천 컨텐츠의 평균 클릭률(ctr)은 c그룹(Session based 모델)이 b그룹(WMF 모델)에 비해 훨씬 높았다.
이는 위 두 모델의 특징을 이해한다면, 결과가 납득이 된다. 위에서 언급했듯이, b그룹의 Session based 모델은 고객의 액션에서 ‘순서(Sequence)’가 중요하게 반영된 모델이다. 따라서 추천되는 결과의 랭킹에 고객 액션의 최신성이 반영된 결과라고 할 수 있다.
반면, c그룹(WMF 모델)의 경우 순서와 관계없이 유저의 전체 액션을 바탕으로 한 글로벌한 추천 결과다. 즉, 추천 결과의 상위 상품들은 Session based 모델의 반응이 좋고, 전체 결과에 대해선 WMF 모델의 반응이 좋았던 것이다.
이러한 분석 결과를 바탕으로 고객에게는 전부 ‘나를 위한 실시간 추천' 이라는 이유로 추천 컨텐츠를 제공하지만, 가장 첫번째 노출되는 컨텐츠는 b그룹에서 테스트한 Session based 모델을, 나머지 13개의 컨텐츠는 c그룹에서 테스트한 WMF 모델을 적용하였다.
그 결과 기존 카테고리 기반의 추천 대비 클릭률(ctr)은 최대 158%, 구매버튼 전환율(cr) 최대 47% 까지 상승했다.
디벨롭할 포인트
다음 단계로 컨텐츠 간 순서 자체도 개인화를 준비하고 있다. 기획전, 이벤트, 개인화 추천, 인기검색어 등 모든 고객에게 같은 순서대로 보여주는 것이 아니라, 고객 한 사람 한 사람 니즈에 맞게 컨텐츠 순서도 개인화해 제공할 예정이다.
4. 앞으로 더 잘해야하는 것들
추천 서비스를 잘 하기 위해선 머신러닝 모델을 잘 만드는 것을 넘어, 다양한 직군간의 협업이 필요하다. 그 외에 잘하기 위한 요소들은 상당히 많겠지만, 그 중 현재 홈쇼핑모아에서 더 잘해야할 부분을 중심으로 얘기하겠다.
4.1. 측정 지표를 고도화 해야 한다.
이커머스에서 제공하는 추천 서비스의 궁극적인 목표는 매출 상승이다. 일시적인 상승이 아닌 지속적인 성장을 추구한다했을 때 추천 서비스의 평가는 쉽지않다. 추천 서비스로 제공된 아이템만이 데이터로 드러나기 때문에, 추천 서비스의 평가는 장기간에 걸쳐 이뤄져야 한다.
그렇다고 서비스를 출시하고 많은 데이터가 쌓일 때 까지 가만히 있을 수는 없다. 첫 출시 후 추천 서비스의 최종적인 목표와 같은 방향이 되는 short-term 지표와 지속적으로 고객에게 좋은 가치를 전달해 비즈니스에 도움이 되는 long term 지표가 함께 필요하다.
대표적인 short term 지표는 클릭률(ctr)이다. 추천한 아이템이 노출대비 클릭을 얼마나 많이 받았냐를 알 수 있는 지표로 성과를 도출하기에 쉽게 적용할 수 있는 지표다. 클릭률(ctr) 지표는(완전히 일치하진 않지만) 추천 시스템의 정확도 수치와 비례한다. 즉, 보통 정확도가 높으면 클릭률이 높다. 그러나 단순히 추천 결과의 정확도만을 목표로 설정하는 것도 문제가 있다.
예를 들어, 특정 유저가 패션 카테고리를 주로 보고 구매하며, 가끔 화장품을 구매한다고 가정하자. 정확도, 즉 클릭률만을 목표로 추천 시스템을 만들었을 때, 해당 추천 시스템은 패션 카테고리만 추천해줄 것이며 장기적으로 고객의 만족도는 떨어질 것이다.
궁극적인 목표에 도달하기 위해선, short term 지표와 long term 지표를 같이 활용해야 한다. 각 지표는 동시에 만족시킬 수 없는, trade-off의 관계지만 장기적으로 좋은 추천 서비스를 하기 위해선 반드시 함께 필요하다. 예를 들어, 얼마나 다양한 카테고리를 커버하는지, 새로운 신상품은 얼마나 등장하는지 등의 지표가 있다.
4.2. 유연한 실험 환경은 필수다.
‘새로운 모델을 테스트를 해보니 정확도가 90%가 넘었어요.’ 새로 나온 모델을 우리 서비스에 맞게 커스터마이징해 오프라인 테스트를 해본 결과를 팀내에 공유한다. ‘이게 유저에게 어떻게 더 나은 가치를 전달하는거죠?’ 라고 누군가가 되묻는다. ‘그게 아니라 제가 만든 모델의 정확도가 90%를 넘었다니까요!’ 다시 한 번 되묻는다. ‘네, 그건 알겠고 그래서 이게 유저에게 어떻게 더 나은 가치를 전달한다는 거죠?’
추천 시스템 평가는 2가지 방식이 있다. 서비스 배포전 자체적으로 실험을 하는 오프라인 테스트와 일부 유저의 반응을 보기 위한 온라인 테스트다.
오프라인 테스트 : 사전에 정답지를 만들어 놓고, 만든 추천 모델이 얼만큼 정답을 맞추는지 테스트하는 방식. 실제 사용자에게 제공해서 반응을 보진 않음.
온라인 테스트 : (일부) 유저에게 실제 서비스를 제공하여 그 반응을 보고 지표를 측정하여 테스트하는 방식.
추천 시스템은 다른 머신러닝과 다르게 모델의 퍼포먼스가 반드시 서비스의 좋은 퍼포먼스를 보장하지 않는다. 즉, 오프라인 테스트 후 실제 유저의 반응을 보는 것(온라인 테스트)이 필수적이다(물론 오프라인 테스트와 온라인 테스트의 간극을 줄이는 노력은 필요하다). 그렇기 때문에 추천서비스를 도입하는 많은 회사들이 대부분 a/b 테스트를 통해 검증한다.
더 많은 고객에게 테스트를 할 수록 더 정확한 평가가 가능하지만, 서비스에 끼치는 영향도도 커지므로 위험성도 커진다. 그렇기에 위험성을 최소화하면서 유저의 반응을 쌓아나가기 위해서는 처음 소수의 유저에게 보여주고, 더 큰 확신이 들 때 유저의 숫자를 늘려나가는 방법이 일반적이다.
이렇게 오프라인/온라인 테스트는 추천 서비스를 출시하기 전 필수 과정이다. 그렇기 위해선 자동화되고 쉬운 오프라인/온라인 테스트 환경 구축은 필수요소이며, 이 환경이 갖춰지지 않아 병목이 생겼을 때는 좋은 추천 서비스를 만드는데 큰 장애물이 된다.
4.3. 함께 만들어야 한다.
대표적으로 추천 서비스를 잘 하고 있는 아마존. 그 외에 이커머스는 아니지만 넷플릭스, 유튜브, 스포티파이 등 성공적인 여러 추천 서비스들이 있다. 허나 이 서비스들이 성공한 이유에 대한 공통점은 쉽게 찾기 어렵다. 이는 서비스를 사용하는 고객, 전달하는 가치, 비즈니스 모델 등이 다르기 때문에 특정 서비스에서 성공한 추천 시스템이 다른 서비스에서 좋은 추천 서비스를 보장하지 않는다는 것이다.
즉, 단순히 추천을 연구한 머신러닝 전문가가 모든 것을 해결할 수 없다. 좋은 추천 서비스를 만들기 위해선 비즈니스, 디자인, 엔지니어링, 과학을 담당하는 구성원들이 함께 만들어가야 한다. 추천 서비스는 결국 비즈니스다. 궁극적으로 돈을 벌어야 하기에 비즈니스에선 어떤 기준으로 추천 시스템을 평가할지 고민해야 한다.
추천 시스템은 데이터로부터 시작한다. 허나 고객은 자신의 취향과 니즈에 대한 정보를 쉽게 내주지 않기에, 디자인은 어떻게하면 데이터를 잘 모을 수 있을지 ui/ux적으로 서비스에 잘 녹여내야 한다. 엔지니어는 수많은 유저와 아이템을 고객에게 제공해줘야하기에 실제 서비스를 할 수 있는 요구사항을 구현하는 방안에 대해서 고민해야 한다.
마지막으로 과학의 경우는 서비스의 맥락에서 고객의 아이템에 대한 호감도를 예측하는 문제를 잘 풀어야 한다. 어떻게 모델을 만들어 실험을 설계할 것이며, 그 호감도를 수치화하고 예측할 수 있을지가 중요하다.
앞으로 더욱 고객의 니즈는 세분화되고 다양해질 것이며 정보의양은 계속해서 증가할 것이다. 즉, 풀어야할 문제는 갈수록 복잡하고 어려워지기 때문에 다양한 직군이 함께 추천 서비스를 만들어가야 성공의 가능성을 높일 수 있다.
<끝>