쇼핑에 영상을 더하다: GSSHOP 숏픽 추천 알고리즘 진화기
고객의 쇼핑 여정에 있어 영상 콘텐츠는 점점 더 중요한 역할을 차지하고 있습니다.
짧고 임팩트 있는 영상으로 상품 정보를 직관적으로 전달하는 방식은
단순한 콘텐츠 소비를 넘어 구매 행동으로 자연스럽게 연결될 수 있기 때문입니다.
GSSHOP에서는 이러한 트렌드를 반영해 자사만의 숏폼 콘텐츠 브랜드인 숏픽을 운영하고 있습니다.
숏픽은 상품의 핵심 포인트를 30초 내외로 간결하게 담아낸 영상 콘텐츠로,
고객의 흥미를 끌어내고 구매 전환까지 유도하는 홈쇼핑 특화형 숏폼 콘텐츠입니다.
하지만 '숏픽'을 고객에게 어떻게 보여주느냐,
다시 말해 어떤 콘텐츠를 어떤 순서로 노출할 것인가는 단순한 UX 문제를 넘어서는 복잡한 기술적 과제였습니다.
이번 글에서는 GSSHOP 숏픽 추천 시스템이 어떻게 설계되었고, 어떤 고민을 거쳐 진화해왔는지 공유드리고자 합니다.
무작위에서 출발한 '숏픽' 노출
'숏픽'이 초기 런칭되었을 당시에는 콘텐츠 수가 많지 않았기 때문에
기본적으로 고정된 순서 혹은 랜덤 노출 방식을 적용하였습니다.
하지만 이 방식은 금세 한계를 드러냈습니다.
고객의 관심과 상관없는 콘텐츠가 노출되며 낮은 클릭률과 전환율을 기록한 것입니다.
고객이 '무작위 콘텐츠'에 피로감을 느낄 수 있을 것이라고 판단했고,
이를 통해 추천 기반 콘텐츠 노출의 필요성을 느끼게 되었습니다.
고객의 취향을 반영하다 - '선호 기반' 추천
가장 먼저 도입한 방식은 고객의 행동 로그를 기반으로 선호 카테고리를 추출하고,
해당 고객이 선호하는 카테고리의 숏픽 콘텐츠를 중심으로 구성하는 방식이었습니다.
GSSHOP은 디지털 쇼핑 환경에서 발생하는 상품 클릭 이력과 카테고리 조회 정보 등 다양한 데이터를 보유하고 있었고, 이를 통해 고객이 자주 반응하는 카테고리의 상대적 선호도를 산정할 수 있었습니다.
📦 숏픽은 ‘상품 기반’ 콘텐츠입니다
GSSHOP의 숏픽은 각 영상이 특정 상품에 매핑되어 있는 구조입니다.
즉, 숏픽 하나하나는 단순한 광고 영상이 아니라 상품 상세 페이지와 직접 연결되는 콘텐츠입니다.
이 구조 덕분에, 숏픽 추천은 콘텐츠 메타 정보가 부족한 상황에서
일반적인 콘텐츠 추천이 아니라 '상품 기반 추천'에 가까운 형태로 풀어낼 수 있었습니다.
🧠 어떻게 추천했을까요?
숏픽 추천에서는 다음과 같은 방식을 채택하게 되었습니다.
"각 숏픽에 해당하는 상품의 인기도 점수에 고객 선호도 기반 가중치를 곱하여 추천 점수를 계산하고, 이를 기준으로 정렬한다."
즉, 인기 있는 숏픽을 우선 고려하되,
고객 선호 카테고리에 속한 상품을 포함한 콘텐츠일수록 상위에 노출되도록 설계한 것입니다.
그렇다면 고객의 카테고리 선호도는 어떻게 선정하였을까요?
고객 A의 최근 상품 상세페이지 체류시간이 다음과 같다고 가정해보겠습니다:
- 여성의류 > 바지: 300초 (50%)
- 아우터 > 패딩: 180초 (30%)
- 식품 > 김치: 120초 (20%)
→ 이 체류시간 값을 해당 카테고리 선호 정도로 정의하였습니다.
이 구조는 Elasticsearch 기반 추천시스템으로 구현되었으며,
내부적으로 정의한 상품 인기도 점수에 고객별 카테고리 선호도를 가중치로 사용하여 정렬하였습니다.
인기도 점수를 기반으로 하기 때문에 Cold-start 유저에게는 자연스럽게 인기도 기반 숏픽 콘텐츠가 추천되게 됩니다.
이 방식은 고객 관심사를 높이며 CTR 및 CR 개선 효과를 만들어냈습니다.
하지만 선호도 기반 가중치 추천도 시간이 지나면서 또 다른 문제를 드러내기 시작했습니다.
바로 다양성 부족과 편중된 노출이었습니다.
숏픽 콘텐츠의 다양성 확보 여정
⚠️ 추천은 되는데, 너무 비슷해요 - 다양성 이슈 발생
선호 기반 추천은 고객의 관심을 잘 반영했지만, 알고리즘이 너무 정직하게 동작하면서
같은 카테고리의 숏픽만 반복 노출되는 현상이 발생하였습니다.
특히 여성 의류 등 인기 상품군에 과도하게 집중되는 경향이 있었고,
이는 고객의 시청 피로도를 유발할 수 있었습니다.
이를 통해 단순히 '정확하게 맞추는 추천'이 아니라,
'의외성을 주는 추천(Serendipity)'도 중요하다는 점을 다시 깨닫게 되었습니다.
✅ 다양성 확보를 위한 해법 - Shuffle 알고리즘
항상 비슷한 카테고리 상품만 많이 등장한다는 문제를 해결하기 위해
카테고리를 셔플하여 다양성을 높일 수 있는 방안을 검토하게 되었습니다.
이 알고리즘은 음악 재생에서 사용하는 balanced shuffle 방식에서 착안하였으며,
인기나 선호도를 크게 해치지 않으면서도 콘텐츠의 다양성과 흐름을 유지할 수 있도록 설계되었습니다.
(참고: https://keyj.emphy.de/balanced-shuffle/)
Shuffle 알고리즘 핵심 로직 요약:
1) 셔플 대상 아이템들을 카테고리별로 분류합니다.
(이때 카테고리별 아이템 순서는 추천 적합도에 맞게 정렬하였습니다.)
2) 가장 많은 카테고리 수만큼 빈 공간을 포함한 리스트를 생성합니다.
3) 같은 카테고리의 아이템끼리 Shuffle 합니다.
4) 블록의 세로 영역을 기준으로 정렬합니다.
이러한 알고리즘의 장점은 다음과 같습니다.
- 인기 또는 선호 콘텐츠의 흐름은 유지하면서도, 노출 순서에 자연스러운 랜덤성을 부여할 수 있었습니다.
- 같은 대카테고리나 중카테고리 콘텐츠가 연속으로 노출되는 상황이 줄어들어, 고객 피로도가 낮아졌습니다.
📊 그래서 얼마나 다양해졌을까요?
실제로 알고리즘 없는 랜덤 셔플 대비 효과를 비교하기 위해, 정량적으로 다양성 지표를 확인했습니다.
지표 항목 | 랜덤 셔플 | 대카테고리 기반 셔플 | 중카테고리 기반 셔플 |
Intra Diversity@10 (서로 다른 카테고리 개수) | (대카 기준) 3.43 (중카 기준) 6.99 |
(대카 기준) 6.20 (중카 기준) 8.43 |
(대카 기준) 5.62 (중카 기준) 8.86 |
연속 카테고리 노출 수 (10개 중 연속 항목 수) | (대카 기준) 2.62 (중카 기준) 0.35 |
(대카 기준) 0.24 (중카 기준) 0.16 |
(대카 기준) 1.55 (중카 기준) 0 |
의류 콘텐츠 수 (10개 중 평균) | 8.61 | 5.83 | 6.14 |
카테고리 기반 셔플이 단순한 랜덤 셔플보다 목적에 더 부합하는 성과를 낸 것을 확인할 수 있었습니다.
중카테고리 기반 셔플은 다양성 지표상 높은 수치를 기록했지만, 실제 고객 입장에서는 눈에 띄는 변화로 느껴지지 않는 경우가 많았습니다.
- 예: 니트 → 가디건 → 맨투맨은 모두 다른 중카테고리지만, 전반적인 느낌은 비슷한 옷처럼 보일 수 있습니다.
또한 대카테고리 기반 셔플은 다양성, 연속 노출, 의류 편중 완화 측면에서 고르게 좋은 성능을 보여주었습니다.
이러한 이유로, 실제 서비스에는 대카테고리 기반 Shuffle 방식을 적용하게 되었습니다.
Multi Armed Bandit 알고리즘의 적용
앞서 소개한 카테고리 기반 셔플 알고리즘은 추천 콘텐츠의 다양성을 개선하는데 효과적이었습니다.
하지만 여전히 하나의 고민이 남아있었습니다.
"시간이 지나면 고객의 관심도 달라질 텐데, 추천이 계속 정적인 상태라면 의미가 있을까?"
이 질문을 출발점으로, GSSHOP 숏픽 추천 시스템은 또 한 단계 진화하게 됩니다.
고객의 반응을 학습해가며 추천을 개선하는 방식, 즉 Multi-Armed Bandit(MAB) 기반 추천을 개발하게 되었습니다.
🎯 MAB 알고리즘 개발 과정
쉽게 말해 Bandit 방식 추천은 다음과 같은 구조입니다:
추천 → 반응 관찰 → 다음 추천 개선
정답을 미리 알 수 없는 상황에서, 시스템이 다양한 선택지(팔, Arm)를 조금씩 시도하면서
고객 반응을 바탕으로 점차 더 나은 선택지를 학습해나가는 방식이라고 할 수 있습니다.
이러한 학습 구조를 설계하기 위해, 저희는 먼저 숏픽 콘텐츠의 노출 및 클릭 로그(impression 데이터)를 쌓는 작업부터 시작했습니다.
MAB는 고객이 무엇을 클릭했는지만이 아니라, '무엇이 노출되었지만 클릭되지 않았는가'까지도 함께 관찰하고 학습하는 구조이기 때문입니다.
이를 위해 숏픽 영역에서의 콘텐츠 노출, 위치, 시간대, 고객 식별자 등의 데이터를 수집하였고,
이 데이터는 reward를 설계하고 MAB를 구성하는데 있어 필수적인 기반이 되었습니다.
GSSHOP에서는 Thompson Sampling이라는 확률 기반 샘플링 알고리즘을 사용하였습니다.
이 방식은 각 추천 항목의 클릭률에 따라 Beta 분포를 만들어 확률적으로 샘플링하고,
클릭을 유도할 가능성이 높은 항목을 선택하되 때때로 새로운 항목도 시도하여 탐험(Exploration)을 지속하는 구조입니다.
Bandit을 숏픽 추천에 적용할 때는 다음과 같은 방식으로 구성했습니다:
- Arm (팔): 숏픽의 중카테고리
- Reward (보상): 숏픽에 연결된 상품 클릭 여부
- 개별 고객 단위로 MAB 구성
즉, 다음과 같은 문제 정의를 통해 MAB 알고리즘을 적용할 수 있었습니다.
고객 식별자 단위로 개별 Bandit 구성을 진행했으며,
각 고객에 대해 샘플링된 카테고리에 해당하는 숏픽을 랜덤하게 선택해 추천 리스트를 만들었습니다.
⚖️ Reward 설계 시 고려한 요소들
MAB를 적용하면서 'reward를 어떻게 정의할 것인가'가 중요한 문제였습니다.
숏픽은 화면에 캐러셀(Carousel) 형태로 노출되며, 사용자가 좌우로 스크롤해야 다음 콘텐츠를 볼 수 있는 구조입니다.
이러한 인터랙션 특성상, 초기 노출 위치에 따라 콘텐츠의 클릭 확률이 크게 달라질 수 밖에 없습니다.
예를 들어, 첫 번째나 두 번째 위치에 있는 콘텐츠는 자연스럽게 많이 노출이 되지만,
스크롤해야 보이는 뒤쪽 콘텐츠는 클릭률이 상대적으로 낮게 나타나는 경향이 있습니다.
그래서 reward를 단순 클릭 여부만으로 판단하지 않고, 노출 위치(position weight)와 같은 가중치 요소를 함께 고려하였습니다.
또한 MAB의 대표적인 문제인 Cold Start 문제도 함께 다뤄야 했습니다.
숏픽은 아직 사용자 클릭 로그가 많지 않은 경우가 많았고, 초기에는 아무런 피드백이 없는 경우가 대부분이었습니다.
이를 보완하기 위해 기존에 사용했던 카테고리 선호도 정보를 활용해 베타 분포 초기값을 고객의 관심사에 따라 미리 context로 반영해 세팅하는 형태로 확장했습니다.
MAB 알고리즘을 적용함으로써 기대했던 사항은 다음과 같았습니다.
- 고객이 선호할 가능성이 높은 카테고리를 중심으로 추천하되, 확률적으로 새로운 콘텐츠도 함께 노출
- 고객의 반응을 빠르게 반영해 고객이 좋아할 콘텐츠를 더 빠르고 정확하게 추천
- 클릭 로그가 적은 숏픽 영역에서 탐험과 활용의 균형을 잡아 추천 품질을 점진적으로 향상
실험 결과 CTR이 개선되는 긍정적인 효과를 확인할 수 있었습니다.
앞으로의 방향
숏픽 추천은 아직 갈길이 멉니다. 기술적으로도, 콘텐츠 전략 측면에서도 진화의 여지가 많습니다.
숏픽 추천의 Next는 영상 자체의 메타 정보를 활용한 콘텐츠 이해에 기반한 추천이라고 생각합니다.
지금까지는 숏픽에 매핑된 상품 정보를 중심으로 추천을 구성해왔다면,
앞으로는 영상 내 포함된 텍스트, 음성, 이미지 등 콘텐츠 자체의 속성까지 분석해 추천에 반영하여 더 좋은 성능을 낼 수 있을 것입니다.
마무리하며
GSSHOP의 숏픽 추천 시스템을 설계하고 개선해나가는 여정은 하나의 알고리즘을 도입하는 데서 끝나지 않았습니다.
많은 실험과 시행착오, 그리고 긴밀한 협업을 거쳐 지금의 모습에 이르게 되었습니다.
사실 이 글에 담지 못한 더 많은 고민과 히스토리가 있었고,
추천 알고리즘 개발 외에도 기획, UX, 콘텐츠 전략, 배포 및 운영 등 다양한 분야의 전문가 분들이 함께 만들어낸 결과였습니다.
이 자리를 빌려 함께 힘써주신 모든 분들께 진심으로 감사의 마음을 전합니다.
숏픽 추천 시스템, 그리고 GSSHOP의 추천 시스템은 앞으로도 더 나은 방향으로 계속해서 진화하도록 하겠습니다.
감사합니다 :)
이세윤 Erica | DX본부 홈쇼핑DX부문 검색추천파트(H)
추천 알고리즘 개발을 담당하고 있습니다.
사용자에게 도움이 되는 서비스를 개발하고,
합리적인 추론을 통해 변화를 만들어내는 일을 하고 싶습니다.