AI P!ck, 내 취향에 맞춘 특별한 상품 셀렉션(Beta)

rami
SSG TECH BLOG
Published in
12 min readJun 27, 2024

소개

안녕하세요. SSG 검색추천팀에서 기획자로 일하고 있는 라미선입니다. 지난번 ‘검색창 개편 프로젝트’를 설명해 드리며 검색 서비스를 간단히 소개했습니다. 이번에는 올해 오픈한 ‘AI Pick’ 서비스 개발 과정을 공유하며 저희 팀이 검색과 함께 맡고 있는 추천 서비스도 소개해 드리고자 합니다.

SSG AI Pick 화면

저희 팀이 제공하는 데이터는 간단한 룰을 기반으로 한 추천부터 머신러닝 모델을 사용한 복잡한 추천까지 모두 포함합니다. 그리고 이를 홈 메인, 상품 상세, 검색, 장바구니, 주문 등 다양한 전시 영역에 서비스하고 있습니다. 데이터를 만드는 과정에서 매번 고민하는 점은 어느 사용자에게, 언제, 어떤 상품을, 어떻게 추천해줄 것 인가입니다. AI가 급부상하고 있는 지금, 매우 복잡한 알고리즘으로 돌아가는 모델을 사용하는 게 정답일까요?

추천은 정답을 명확히 예측하기 어려운 프로덕트입니다. 우유 ‘검색결과’는 인기 있는 우유 유제품 카테고리 상품이 순서대로 나올 것으로 일반적으로 고객분들이 인지하고 있습니다. 그럼 우유를 ‘추천’받는다고 하면 어떨까요? 검색 결과처럼 일반적으로 인기 있는 상품을 보여줄 수도 있지만, 사용자가 좋아하는 브랜드를 반영하여 노브랜드 우유를, 저렴한 상품을 선호하는 사용자에게는 세일 중인 우유 상품을 추천할 수도 있습니다. 다양한 추천 방법이 존재하지만, 이 중에 가장 좋은 결과를 낼 추천 셋은 무엇일지 적용하기 전에는 쉽게 판단할 수 없습니다. 그 때문에 추천 최적화를 위해서 실험이 필요합니다.

전시 영역별로 운영 조건이 존재하기 때문에 다양한 가설을 테스트하는 것은 현실적인 어려움이 있었습니다. 따라서 저희는 테스트 베드가 될 수 있는 추천 페이지를 만들고 싶었고 이것이 AI Pick 프로젝트의 출발점이었습니다. 이 과정에서 고민한 내용과 최종적으로 오픈한 베타버전을 설명드리겠습니다.

기획자 관점에서 프로젝트 진행 과정을 풀어보겠습니다. 어떻게 기획하였고 실제 구현하였는지, 그리고 이 과정에서 겪었던 어려움과 고민을 같이 나누고자 합니다.

기획 과정

목표

AI Pick은 개인화 추천 서비스입니다. 개인화 추천은 다양한 서비스에서 제공 중이지만 그 특징은 조금씩 다릅니다. 29CM, 네이버처럼 별도의 페이지를 두고 ‘FOR YOU’ 서비스로 브랜딩 하여 추천을 제공 중인 곳도 있고, 서비스 자체가 개인화 추천으로 구성된 넷플릭스, 유튜브와 같은 서비스도 있습니다. 저희는 별도의 페이지를 개발하되 궁극적으로 이 페이지 안에서 ‘고객은 본인의 관심사에 맞는 상품을 추천받을 수 있다’로 목표를 설정했습니다. 원하는 상품을 직접 찾으러 다니지 않고 AI Pick을 구경하면서 쉽고 간편하게 확인할 수 있게 만들고 싶었습니다. 목표는 프로젝트 시작 시점에 설정하고 의사 결정이 필요한 시점마다 지속해서 리마인드 했습니다.

아이데이션

개인화 추천 서비스라고 한다면 먼저 개인화가 무엇인지 정의해야 합니다. 앞서 우유를 생각해보면, A 고객에게는 A 우유가 B 고객에게는 B 우유가 제공되어야 합니다. 추천은 크게 2가지로 구성됩니다. 베이스 데이터와 그를 기반으로 추론되는 추천 데이터입니다. 앞서 들었던 예시를 보면

‘사용자가 노브랜드 브랜드를 좋아하면 노브랜드 우유를 추천한다’
이때 베이스 데이터는 = 고객이 선호하는 브랜드인 ‘노브랜드’가 되고,
추천 데이터는 = 베이스 데이터로 추론된 상품인 ‘노브랜드 우유’가 됩니다.

베이스 데이터는 선호하는 브랜드, 카테고리, 상품 특징, 고객의 성별 등 다양하게 정의할 수 있습니다. 이 선호도를 판단할 때도 최근에 많이 본 상품, 반복적으로 구매한 상품, 자주 검색한 키워드 등 다양한 데이터가 기반이 될 수 있고 여러 조합으로도 구성할 수 있습니다. 그리고 이 베이스 데이터를 기반으로 제공할 수 있는 추천은 더 다양합니다. 앞서 말씀드렸듯이 추천은 명확한 정답이 존재하지 않습니다. 선택할 방안이 끝없이 나올 수 있죠. 그래서 나온 아이디어를 분류하고 쪼개서 중요도와 다양성을 고려해 페이지를 구성해야 합니다.

추천 아이데이션

AI Pick 아이데이션 과정에서 나온 다양한 아이디어들입니다. 이 모두를 다 개발할 수 있다면 좋겠지만 현실적으로 사용할 수 있는 리소스는 한계가 존재합니다. 따라서 아이디어를 선별하여 서비스를 구성해야 합니다. 어떤 기준으로 고를 수 있을까요?

MosCoW 방법론을 활용하여 떠올린 추천 아이템들을 중요도에 따라 3가지 1) MUST HAVE 2) SHOULD HAVE 3) COULD HAVE로 나눕니다. 중요도를 판단하는 기준은 추천 아이템이 고객의 관심사를 얼만큼 잘 나타내는지, 탐색하는 과정에서 필수적일지를 고려해서 정합니다. 일반적인 서비스라면 정해진 중요도에 따라 1)번 2)번 3)번의 순서대로 작업을 시작합니다. 하지만 이 서비스는 기능 구현만이 목적이 아니기 때문에 추천의 품질을 고려해야 합니다.

추천의 품질을 판단할 때 고려하는 4가지 요소가 있습니다. 1번은 관련성(Relevance)입니다. 추천된 아이템이 유저에게 관련이 있는지가 중요합니다. 개인화 추천 페이지인 AI Pick에서 관련성은 매우 중요한 기준입니다. 가장 인기 있는 상품을 대량 노출하면 클릭은 증가할 수 있지만 서비스의 방향성과는 맞지 않습니다. 반드시 클릭이 많다고 장담할 수도 없습니다. 개인화에 초점을 두고 있기 때문에 반드시 유저와 관련이 있는 상품을 추천해야 합니다. 그렇다면 모든 추천 아이템이 최우선적으로 관련성을 확보해야 할까요? 만약 그렇게 된다면 유사한 상품만 계속 추천해 줄 가능성이 큽니다.

따라서 2) 다양성(Diversity)도 고려해야 합니다. 연관이 있음과 동시에 반복적인 추천이 아닌 다양한 추천을 제공해야 합니다. 개인의 관심사를 세분화 할 수 있습니다. 예를 들어 기간에 따라 최근의 관심사, 비교적 장기적인 관심사로 나눌 수 있고 관심사의 범위를 개개인의 고객으로, 혹은 세그먼트화 할 수도 있습니다. 관심사가 다양해지면 추천의 폭도 더 넓어질 수 있습니다.

고객이 구매하는 상품 풀은 한정 되어 있습니다. 주로 이 풀 안에서 추천이 이루어지기 때문에 보통 인기 상품 위주로 구성이 됩니다. 이때 고객은 진부함을 느낄 수 있기 때문에 그 동안 탐색하지 못한 색다른 아이템도 함께 추천해주어 3) 신기함(Novelty)을 제공해야 합니다. 그래야 지속적으로 방문할 동기를 만들 수 있습니다. 사용할 때마다 매번 비슷한 상품만 보인다면 열렬한 팬이 될 수 없습니다.

마지막으로 고객이 이전에 경험해보지 못한 완전 새로운 아이템도 같이 추천해야 합니다. 3) 신기함(Novelty)이 고객의 기존 관심사 범위에서 상품의 다양성을 확보한 추천이라면, 4) 행운(Serendipity)은 전혀 예상하지 못한 추천입니다. 한 번도 검색하거나 클릭한 적이 없어도 알고리즘에 의해 뜨는 행운이 가끔은 존재해야 합니다.

최종적으로 도메인 특성도 고려해야 합니다. SSG앱을 이용하는 고객과 이마트몰 앱을 이용하는 고객의 차이점을 생각해야 합니다. 장보기와 비장보기를 두루 경험할지 혹은 장보기 위주의 쇼핑을 할지 고려하여 컨셉을 정했습니다.

SSG : 비장보기 추천에 초점, 관심사와 유사한 상품 위주, 브랜드/카테고리 단위의 탐색

ex) 최근 관심있는 상품의 유사한 상품 / 비슷한 이미지의 상품 추천, 선호하는 브랜드의 새로 출시한 상품 추천, 관심있는 브랜드의 인기 상품 추천 등

SSG AI Pick

이마트몰 : 장보기 추천에 초점, 관심사와 연관된 상품 위주, 상품 단위의 탐색

예시) 반복 구매하는 상품 추천, 자주 구매한 상품과 같이 구매하면 좋은 상품 추천, 최근 관심있는 카테고리의 인기 상품 추천 등

이마트몰 AI Pick

개발 과정

데이터 설계

저희 팀 내에서 프론트 서버부터 백엔드, 모델 개발까지 관장하고 있기 때문에 기획 단계부터 같이 개발 논의를 할 수 있었습니다. 데이터가 어디서부터 시작되고 최종으로 어떻게 데이터를 제공할 것인지를 프로세스를 같이 그려봅니다. 구현 가능한 방법에 따라 필요한 데이터도 달라지기 때문에 전체 프로세스를 처음부터 고민해야 하며, 기획 단계에서부터 이를 고려하면 추후에 수정 사항을 줄일 수 있습니다. 주기적인 논의를 통해 원천 데이터 스키마를 정의하고 API 설계를 진행합니다.

예시) 개발 프로세스

개발 해야 하는 추천 셋이 많고 각 셋별로 베이스 데이터와 추천 결과물이 다르므로 프로세스가 복잡해질 수밖에 없습니다. 실시간으로 받아야 하는 데이터도 있고, 예전 기록을 바탕으로 집계해둔 데이터도 있기 때문에 이 과정들이 서로 꼬이지 않도록 설계하는 것이 중요했습니다. 여러 툴을 활용해 시각화하고 이를 같이 보며 논의하는 시간을 자주 가진 것이 큰 도움이 됐습니다.

일정 수립

예시) 개발 TASK 작업 순서

개발 TASK들은 서로 종속 관계에 있습니다. 선행되어야 하는 작업이 있기 때문에 진행할 수 있는 순서가 존재합니다. 데이터가 있어야 API를 붙일 수 있고, API가 있어야 프론트도 작업을 할 수 있습니다. 이 순서대로 진행한다면 앞선 작업이 완료될 때까지 뒤 작업은 기다릴 수 밖에 없기 때문에 일정은 예상보다 더 길어집니다.

저희는 가능한 효율적으로 시간을 사용하고 싶었습니다. 그래서 택한 방법은 병렬 작업입니다. 모델 개발, 데이터 개발을 진행하면서 동시에 API도 개발합니다. 데이터를 개발하는 동안 미리 정의한 스키마를 참고하여 추천 API는 이 데이터를 조회하고 전달할 로직을 개발합니다. 추천 API를 개발하는 동안 Client API는 받을 데이터 형식을 알기 때문에 구조를 미리 고민할 수 있습니다. 이런 과정을 통해 불필요한 대기 시간을 줄일 수 있었습니다.

이 방법이 효율적인 이유는 테스트 시간도 확보할 수 있다는 점입니다. 전체 개발이 완료된 후에 테스트를 시작하면 여유 시간도 충분하지 않고, 테스트 범위가 넓기 때문에 테스트 사이클이 느릴 수밖에 없습니다. 이 과정에서 필요한 테스트 사항들이 누락될 수 있습니다. 추천 서비스는 기능뿐만 아니라 데이터 품질도 검증해야 하기 때문에 테스트 시간 확보는 매우 중요합니다.

테스트 및 베타 오픈

추천 서비스는 비교적 허들이 높습니다. AI Pick을 중요도로 분류하자면 ‘MUST HAVE’가 아닙니다. 상품 구매에 반드시 필요한 검색, 장바구니, 결제와 같은 서비스가 아니기 때문입니다. AI Pick을 이용하지 않아도 충분히 상품을 구매할 수 있습니다. 필수적인 기능이 아니므로 불편함을 감수하면서까지 해당 서비스를 사용해야 할 이유가 없습니다. 따라서 엉뚱한 상품이 추천된다면 유저는 굳이 이 서비스를 사용하지 않을 가능성이 큽니다. 추천 데이터의 품질이 성공 실패를 판가름합니다.

고객에게 오픈하기 이전에 총 3번의 내부 테스트를 진행했습니다. 팀 단위, 담당 단위, 전체 임직원 테스트를 거쳤고 그 과정에서 변화를 거듭했습니다. 1차 피드백 중 가장 주요한 내용은 ‘다양성의 부족’이였습니다. 탐색의 흐름이 자연스럽게 이어지도록 동일한 카테고리 군을 확인하고 그 이후 다른 카테고리 군을 확인할 수 있도록 컨셉을 구성하였으나, 이 구성이 유사 상품이 반복적으로 노출되는 느낌을 주었습니다. 이를 개선하고자 다양한 카테고리가 섞이도록 재구성하고 2차, 3차 피드백을 받았고, 오히려 동일한 카테고리 군을 묶었으면 좋겠다는 반대 의견이 나오기도 했었습니다. 개인의 선호 차이가 크기 때문에 명확한 정답을 아직은 알 수 없습니다. 다양성을 만족하면서 탐색 편의성을 확보하는 방법은 계속 실험이 필요합니다. 궁극적으로는 노출 순서까지 개인별로 최적화시키는 것이 목표입니다.

테스트 과정을 통과하고 이제는 유저 피드백을 통해 고도화가 필요하다는 판단을 내렸고 3월 ‘베타’를 달고 최종 오픈하였습니다.

효율 비교

자체 대시보드를 구축하며 데일리로 지표를 트래킹하였고, 결과적으로 서비스의 효과는 좋았습니다. 개인화가 없는 일반 추천보다 CTR(상품 클릭률)은 약 5배 정도 높게 측정되었습니다. 개별 추천 셋으로 비교해보아도 검색어 기반 추천보다 더 높은 효율을 보였습니다.

추천 셋 효율 비교

대단한 개인화가 아닐지라도 개인화는 확실히 효과가 있었습니다. 일반 베스트 추천보다 약 2배 높은 CTR을 기록했습니다.

또, 생각보다 SSG와 이마트몰의 패턴은 추천에서 그 차이가 명확히 드러났습니다. 비장보기의 경우, 브랜드 위주의 탐색을 예상하였고 실제 결과도 비슷하게 나타났습니다. 이마트몰은 SSG보다 실제 방문율이 낮았고 추천에 대한 니즈가 크지 않은 것으로 보였습니다. 실제 효율도 SSG에 비해서 낮게 측정되었기 때문에 장보기 추천 고도화는 앞으로 해결해야 하는 과제로 남아있습니다.

향후 과제

클릭 외에 다양한 관점에서 서비스를 평가할 필요성이 있습니다. 유저들은 AI Pick에서 보통 몇 개의 상품을 클릭하는지, 체류하는 시간, 추천셋별 주문 기여도와 같은 지표를 분석하여 어느 목표에 맞춰 최적화할 것인지 추천 셋별로 특징을 분석해야 합니다. 이를 통해 더 다양한 인사이트를 얻을 것으로 기대합니다.

저희 팀에서 AB TEST를 위한 플랫폼을 개발하였고 곧 오픈 예정입니다. 이를 사용할 수 있게 되면서 AI Pick이 테스트 베드로서 활용 가능성이 높아졌습니다. 앞으로 실험이 더욱 쉬워질 것이기 때문에 최적화 사이클이 더 빨라질 것으로 예상합니다.

AI Pick 추천셋이 고객의 탐색 경로에 자연스럽게 녹아들도록 진출이 필요합니다. 많은 피드백 데이터는 궁극적으로 추천 모델의 최적화를 가져오기 때문에, 적절한 맥락을 찾아 고객이 쉽게 진입할 수 있도록 경로를 제공해야 합니다. 이 점은 아쉬운 점으로 남아있습니다. 고객 SIDE 관점에서 더 깊이 고민하여 자연스럽게 추천을 접할 방안을 모색하려 합니다.

끝내며

나도 모르게 상품을 클릭하게 되는 마법이 일어나도록, 1~2개일지라도 정말 클릭하고 싶은 상품이 추천될 수 있도록 계속 노력하고자 합니다. 검색과 추천이 하나로 통합되어 가는 과정에서 모두 만족할 수 있는 품질을 고민하겠습니다. 이제 베타 오픈의 첫걸음을 내디뎠습니다. 응원과 많은 이용을 부탁드립니다.

감사합니다!

--

--