서비스 기획자를 위한 ‘고객 추천 시스템’ 정복하기

추천 시스템 알고리즘의 종류와 적용 사례
Content's avatar
May 27, 2024
서비스 기획자를 위한 ‘고객 추천 시스템’ 정복하기

다양한 상품을 고객에게 소개하는 추천 시스템은 이커머스 회사를 운영하는 데 필수적입니다. 그만큼 많은 회사에서 다양한 서비스를 제공하고 있는데요. 여러 추천 알고리즘 중 어떤 것이 우리 서비스에 적합할까요?

이번 글에서는 서비스에 맞는 알고리즘을 찾기 쉽도록 ‘협업 필터링(Collaborative filtering), ‘콘텐츠 기반 필터링(Content Based filtering)’, ‘시퀀셜 추천(Sequential Recommendation)’ 등 추천 알고리즘의 여러 종류에 관해 설명할 예정입니다. 또한 추천 시스템 구축을 위한 기본 개념과 적용 예시에 대해서도 알아보겠습니다.

협업 필터링(Collaborative filtering)

협업필터링

협업 필터링은 ‘User(=고객)’와 ‘Item(=상품)’ 간의 관심도에 따라서 제품을 추천해 주는 알고리즘입니다. 이는 ‘고객 기반 협업 필터링’, ‘아이템 기반 협업 필터링’, 그리고 ‘딥러닝 기반 협업 필터링’으로 더 자세히 분류할 수 있습니다.

1) 고객 기반 협업 필터링(User-based Collaborative filtering)

‘고객 기반 협업 필터링’이란 비슷한 관심사를 가지고 있는 두 고객이 있을 때 한 고객이 관심을 보인 상품을 다른 사용자에게 추천합니다.

만약 고객 A와 고객 B가 공통으로 ‘SF 영화’를 많이 클릭했거나 높은 평점을 매겼으면, 두 고객은 비슷한 관심사를 가지고 있다고 볼 수 있습니다. 이럴 때 기업은 B에게 A가 높은 평점을 매긴 영화를 추천해 줄 수 있습니다.

2) 아이템 기반 협업 필터링(Item-based Collaborative filtering)

아이템 기반 협업 필터링은 비슷한 종류의 상품인지를 먼저 분석한 다음, 고객이 관심을 보인 상품과 유사한 상품을 추천하는 알고리즘입니다.

만약 ‘턱걸이 바’란 상품과 ‘홈트레이닝 밴드’란 상품을 같이 봤거나 구매한 고객이 많으면 두 상품은 유사한 상품이라고 볼 수 있습니다. 이때 아이템 기반 협업 필터링 알고리즘을 사용하면 특정 고객이 ‘턱걸이 바’를 클릭했을 때 ‘홈트레이닝 밴드’ 역시 추천해 줄 수 있게 됩니다.

3) 딥러닝 기반 협업 필터링(Deeplearning Based Collaborative filtering)

딥러닝기반협업필터링

‘협업 필터링(Collaborative filtering)’을 딥러닝 기반으로 학습하는 방법도 있습니다. 바로 2017년에 나온 ‘신경망 협업 필터링(Neural Collaborative Filtering, NCF)’입니다. 기존에는 고객(=유저, User)과 상품(=아이템, Item) 각각을 표현하는 ‘고객 수 x 상품 수’ 크기의 행렬을 만들었습니다. 이렇게 되면 고객 또는 상품 수가 늘어났을 때 만들어야 하는 행렬 크기가 너무나도 커지기 때문에 상용화 하기 어려웠습니다.

NCF에서는 고객과 상품을 각각 ‘임베딩 벡터(Embedding vector)’로 표현하고, 상호 간 인터랙션 정보(클릭, 좋아요, 구매 등)를 바탕으로 학습하게 됩니다. 고객이 선호하는 데이터를 중심으로 정보가 쌓이기 때문에 이를 바탕으로 특정 고객이 반응할 확률이 높은 순서대로 상품을 추천합니다.

협업 필터링 알고리즘의 장단점

협업 필터링 알고리즘의 장점은 고객에게 맞춤형 추천을 제공해 직관적인 결과를 기대할 수 있다는 점입니다. 여전히 많은 플랫폼에서 쓰이고 있으며, 특히 ‘딥러닝 기반 협업 필터링’을 사용했을 때 더 좋은 추천 효과를 볼 수 있습니다.

반면 협업 필터링 알고리즘의 한계도 명확합니다. 만약 관심을 보인 상품이 아직 없는 신규 고객이라면 데이터를 쌓지 못해 추천을 하지 못합니다. 이를 추천 시스템에서는 ‘콜드 스타트(Cold Start)’ 문제라고 합니다. 이러한 문제를 해결하기 위해 신규 고객을 대상으로 관심 취향을 확인할 수 있는 설문조사를 진행하거나 인기 상품들을 보여줘 클릭을 유도하는 방법 등을 활용하고 있습니다.’

또한 고객과 상품 간 인터랙션이 많을수록 유의미한 추천이 가능해지기 때문에 상대적으로 인기가 없는 하위 80%의 ‘롱테일(Long tail)’ 상품들은 추천 결과로 나오지 않을 가능성이 높습니다. 이런 ‘데이터 희소성(Data sparsity)’ 효과가 심할수록 추천으로 노출되는 항목이 인기 상품들 위주로 편향되어 상품 추천의 다양성을 잃을 수 있습니다.

협업 필터링 예시

협업필터링예시

협업 필터링 알고리즘은 많은 이커머스 서비스에서 이미 널리 사용되고 있습니다. 위 이미지를 보면, 고객이 오렌지를 클릭했을 때 하단에 표시되는 추천 화면입니다. 예를 들어, 오렌지를 클릭한 고객이 참외나 사과도 함께 선택한 경우가 많다면 특정 고객 A가 오렌지를 클릭했을 때 참외와 사과도 추천하는 방식입니다.

고객 입장에서 특정 상품을 구매할 때 비슷한 사람들이 선택한 다른 상품들을 쉽게 비교할 수 있어 구매 결정에 도움이 되며, 만족도가 높아집니다.

콘텐츠 기반 필터링(Content-based filtering)

콘텐츠기반필터링

‘콘텐츠 기반 필터링(Content-based filtering)’이란 상품의 카테고리, 설명, 이미지 등 메타 정보를 활용해 고객이 관심을 보인 것과 비슷한 콘텐츠를 추천해 주는 알고리즘입니다.

콘텐츠 기반 필터링 알고리즘의 장단점

콘텐츠 기반 필터링의 장점은 오로지 상품 정보만을 사용하기 때문에 고객들이 어떤 제품을 클릭했는지에 대한 데이터가 필요하지 않습니다. 따라서 신규 고객이 가입했을 때 별도 절차 없이 상품을 쉽게 추천할 수 있으며, 데이터가 없어서 추천할 수 없는 문제가 일어나지 않습니다.

반대로, 단점은 고객 데이터를 활용할 수 없을 때 추천 화면이 단조로울 수 있다는 점입니다. 데이터를 사용할 수 없다는 것은 고객 맞춤형 개인화 추천을 제공할 수 없다는 의미이기도 합니다.

콘텐츠 기반 필터링 예시

콘텐츠기반필터링예시

콘텐츠 기반 필터링 알고리즘을 쉽게 설명하기 위해 예시 이미지를 가져왔습니다. 위 이미지는 패션 플랫폼 ‘29CM’의 상품 상세 페이지 하단에 있는 화면입니다. 고객이 클릭한 옷과 비슷한 종류의 옷을 추천하고 있습니다. 

이때 상품의 메타 정보를 이용해 유사한 상품들을 추천하기 때문에 카테고리, 브랜드, 스타일 등과 같은 텍스트 정보를 활용해 필터링할 수 있습니다. 또한 상품 정보의 이미지를 기반으로 추천할 수도 있습니다.

데모그래픽 기반 필터링(Demographic-based filtering)

데모그래픽기반필터링

‘데모그래픽 필터링(Demographic filtering)’은 나이, 성별, 태그 등을 통해 고객들을 분류한 뒤 해당 집단에게 비슷한 상품 추천을 제공하는 알고리즘입니다.

데모그래픽 필터링 알고리즘의 장단점

데모그래픽 필터링은 고객 입장에서 비슷한 집단의 다른 고객이 어떤 상품을 주로 구매하는지 알 수 있습니다. 이런 방식의 추천은 고객 취향이 명확하지 않은 플랫폼이나 종합 커머스와 같이 다양한 상품이 있을 때 효과적으로 추천 상품을 노출할 수 있습니다. 다만 고객에게 개인화된 추천을 해 줄 수 없는 단점을 가지고 있습니다.

데모그래픽 필터링 예시

데모그래픽필터링예시

데모그래픽 필터링은 고객을 비슷한 유형의 그룹으로 나누어 상품 추천을 진행합니다. 위 이미지는 네이버 쇼핑 탭에서 볼 수 있는 추천 화면으로 ‘내 또래가 많이 찾는’ 상품을 보여주고 있습니다. 이처럼 플랫폼 성격에 따라서 나이나 성별을 기준으로 나누거나 회원 가입 시 작성한 고객 정보를 바탕으로 구분하기도 합니다.

시퀀셜 추천(Sequential Recommendation)

시퀀셜기반추천

'시퀄셜(Sequential)' 혹은 '세션 기반(Session-based)' 추천은 메타 정보 대신 실시간 행동 데이터로 시퀀스 임베딩을 만들어 고객의 행동을 표현하고 이를 기반으로 추천하는 알고리즘 방식입니다.

시퀀셜 추천의 장단점

시퀀셜 추천의 첫 번째 장점은 고객의 행동 데이터에 시간 정보가 포함되기 때문에 순차적으로 클릭한 상품들의 패턴을 반영할 수 있다는 점입니다. 시간 정보가 포함되어 있기 때문에 고객이 최근에 클릭한 상품인지, 예전에 클릭한 상품인지에 따라서 그다음에 추천할 수 있는 상품들을 모델이 다르게 학습할 수 있습니다.

두 번째는 고객의 행동을 실시간으로 반영하여 추천할 수 있습니다. 고객이 새로운 상품을 클릭하게 되면 시퀀스 임베딩이 달라지며 새로운 취향에 대한 추천을 진행할 수 있습니다. 또한 시퀀셜 추천은 추가로 학습하지 않아도 고객의 행동 데이터를 반영하여 실시간으로 고객에게 다른 추천을 보여줄 수 있습니다.

단점으로는 고객이 상품을 클릭해, 장바구니에 옮기고, 구매하는 등 일련의 인터랙션 데이터가 충분히 있어야 합니다. 고객의 행동 패턴은 짧게는 몇 분에서 길게는 몇 달 동안 이어지기 때문에 이러한 행동 패턴을 학습하기 위해서는 긴 시간이 필요합니다. 또한 대부분의 고객이 서비스에서 오랫동안 체류하지 않고 짧게 클릭하고 이탈한다면 시퀀셜 모델을 학습하기 어렵습니다. 만약 짧은 행동 패턴만 계속되는 경우에는 고객이 관심 있을 만한 상품을 추천하기 어렵습니다.

시퀀셜 추천 예시

시퀀셜기반추천예시

위 이미지는 다이소 모바일 앱 홈화면 추천 화면으로 고객 취향에 맞는 상품 추천을 위해 고객이 최근에 본 제품들을 기반으로 화면을 노출하고 있습니다. 이처럼 고객이 상품을 클릭할 때는 장기적인 선호도뿐만 아니라 최근에 찾고자 하는 선호도에도 영향을 받습니다. 예를 들어 ‘최근에 본 상품’이나 ‘최근에 장바구니에 담은 상품’을 기반으로 화면에 추천하면 고객의 클릭과 구매 전환을 더 유도할 수 있습니다.

또한 세션 기반 추천은 동적으로 변화하는 고객의 선호도를 실시간으로 파악해 추천에 반영할 수 있습니다. 고객은 실시간으로 본인이 관심 있게 본 상품과 비슷한 상품들, 혹은 같이 구매하면 좋은 상품들을 추천받기 때문에 자연스럽게 구매로 넘어가게 됩니다.

하이브리드 추천 시스템(Hybrid Recommender System)

‘하이브리드 추천 시스템(Hybrid Recommender System)’은 위에 설명한 여러 추천 알고리즘에서 발생한 단점을 해결하기 위해 여러 필터링 알고리즘을 동시에 사용하는 방식입니다.

하이브리드 추천 시스템 예시

하이브리드 추천 시스템의 경우, 이름처럼 여러 추천 알고리즘의 결과를 하나로 합쳐서 만들어냅니다. 합치는 방법은 여러 가지가 있으며, 보통 7가지 정도의 방식을 사용합니다. 그중 많이 쓰이는 2가지를 구체적으로 설명하겠습니다.

  • 웨이티드(Weighted)

웨이티드

‘웨이티드(Weighted)’는 여러 추천 알고리즘의 결과를 가중치로 합치는 방식입니다. 예를 들어 협업 기반 필터링과 콘텐츠 기반 필터링을 진행하고, 이들의 결과를 5:5 또는 7:3으로 섞어서 최종 데이터를 선보입니다. 가령, ‘데이터 희소성’ 문제로 협업 기반 필터링 결과에 인기 상품만 나온다면 콘텐츠 기반 필터링의 결과를 활용해 다른 유형의 추천 상품을 적절하게 섞는 방법입니다.

  • 스위칭(Switching)

스위칭

‘스위칭(Switching)의 경우, 고객 정보에 따라서 여러 추천 알고리즘 중 하나를 선택하는 방식입니다. 예를 들어 고객이 플랫폼에 오랜만에 접속했다면 협업 기반 필터링 대신 콘텐츠 기반 필터링 알고리즘을 적용해 상품을 추천하는 방식입니다.

마무리하며

지금까지 고객의 흥미를 끌고, 구매 전환율을 높이기 위한 다양한 추천 알고리즘에 대해 알아보았습니다. 플랫폼 서비스에 추천 시스템을 도입하기 위해서 중요한 것은 자사 서비스에 적합한 추천 알고리즘을 파악하는 것입니다. 이번 글이 실무자 여러분들이 조금이나마 도움이 되었기를 바라며, 다음 글에서도 도움이 되는 콘텐츠로 찾아오겠습니다.

글쓴이

홍성훈(Jeff) 블럭스 Product Owner 기술적 초격차를 달성하기 위해 끊임없이 노력하는 블럭스의 PO로, 흔한 AI 솔루션이 아닌 클라이언트가 실질적인 가치를 느낄 수 있는 서비스를 만들기 위해 끊임없이 노력합니다. 매일 빠르게 성장하는 블럭스를 함께 만들어갈 멋진 팀원을 찾고 있습니다.


 

Share article
AI 마케팅 솔루션 '블럭스' 도입 문의
RSSPowered by inblog