고객지원 > 지식/노하우

지식/노하우

지식/노하우

실시간 Context를 이용한 개인화 추천 - 3. 고객의 관심사와 데이터 분석의 만남

페이지 정보

작성일2015-08-03

본문

실시간 Context를 이용한 개인화 추천

 

고객의 관심사와 데이터 분석의 만남

​넷스루 연구2팀


​앞서 언급한 여러 가지 상품 추천 방법 중에서 가장 기본적인 방식은 주로 사용자들의 주문(구매) 내역이나 상품조회 내역, 평점주기 내역 등을 분석하여 얻은 상품간의 이용 연관성 정보를 이용합니다. 예를 들어, 상품 A의 정보를 보고 있는 사용자에게 A상품과 함께 판매되는 경우가 많은 B상품을 추천하는 식입니다.

여기서 우리가 주목할 부분은 A상품은 “지금 사용자가 보고 있는” 상품, 즉 사용자의 현재 관심상품이라는 점입니다. (물론 상품 정보 페이지를 본다고 해서 반드시 그 상품에 관심이 있는 것은 아니지만, “관심이 있으니까 보겠지?” 라고 조금 느슨하게 생각해도 별 무리는 없을 것 같네요.)

물론 더 정밀하게 관심상품을 파악할 수도 있습니다. 예를 들어, 단순히 상품 페이지를 조회한 것보다는 장바구니에 물건을 담았다면 더 큰 관심을 표현한 것일 테고, 상품을 한 번 본 것 보다는 여러 번 볼수록 더 많은 관심을 표현했다고 볼 수 있습니다. 사용자의 클릭 행동을 구분하고, 클릭 행동에 약간의 가중치를 부여하면 그리 어렵지 않게 관심상품을 점수화하고 순위를 메길 수도 있을 것입니다.

여기서 한 가지 더 생각할 것은 “시간”입니다. 실시간이라는 말이 엄밀하게 “지금 이 순간”만 의미하지는 않습니다. 보통 웹 사이트나 모바일 앱 같은 온라인 서비스에서는 세션(Session)을 중요한 시간 단위로 보는데, 쉽게 생각해서 “사용자가 서비스에 접속해서 쭈~욱 이용하는 동안”을 세션이라고 보면 됩니다. 그래서, 일반적으로 온라인 서비스에서 “실시간”이라는 말은 “현재 사용자의 세션”이라고 좀 더 느슨하게 정의할 수 있을 것 같습니다.

경우에 따라 좀 더 느슨하게 “하루”를 실시간으로 볼 수도 있습니다. 물건에 따라서, 또는 사람에 따라서 관심사가 하루 종일 지속될 수도 있으니까요. 예를 들어, 마라톤화를 사는 사용자가 하루 종일 아디다스, 아식스, 나이키 운동화를 돌아보면서 갈등을 할 수도 있으니까요. 하지만, 통상 사용자의 관심사는 어떤 이유에서든 현재 또는 최근(방금)에 클릭한 상품일 가능성이 가장 높다고 보는 것이 좋을 것 같습니다.

c6ddfa81151c1962eb5c39efdec7de14_1438584


 

따라서, 사용자의 현재 관심상품이란 것은 지금 이 순간 관심을 가지는 상품이라기 보다는 현재 세션에서 맨 마지막에 클릭한 상품이 될 수도 있고 사용자가 서비스에 접속한 후 지금 시점까지 두루두루 살펴본 상품 중에서 가장 관심을 표현한 상품들이라고 볼 수도 있습니다. 상품뿐만 아니라 실시간 관심 키워드나 관심 카테고리도 마찬가지로 파악할 수 있습니다.

 

우리 서비스를 이용중인 시간 동안의 관심사뿐만 아니라 어느 링크를 따라 또는 어디에서 어떤 검색을 한 후 우리 서비스를 찾아 왔는지도 알 수 있는데, 이러한 정보는 사용자가 우리 서비스를 찾은 의도를 파악하는 데에 큰 도움이 됩니다. 예를 들어, 사용자가 “아식스 마라톤화”로 검색한 후 우리 쇼핑몰을 찾아 왔다면 무엇을 추천할 것인지가 한결 명확해 집니다. 추천에 유용한 단서가 될 수 있는 사용자의 실시간 정보는 대략 다음과 같습니다.

 컨텍스트

분석 

 상품, 카테고리에 대한 클릭

몇 번 클릭했는가? 언제 클릭했는가? 얼마나 오래 보았는가?

 검색 내역

어떤 검색어를, 몇 번 사용했는가? 언제 사용했는가?

 관심 상품, 카테고리

사용자의 클릭 액션을 분석하여 실시간 관심도를 Scoring
가장 최근에 클릭한 상품이나 카테고리

 방문 검색어

어떤 검색 결과를 클릭하고 방문했는가?

 방문 참조 (Referrer)

어떤 사이트/페이지/링크를 통해 방문했는가?

 지금 가장 인기 있는 상품은?
(전체 방문자 대상)

지금 가장 인기 있는 카테고리는?
카테고리별로 지금 가장 인기 있는 상품은?

 

위에 언급한 관심도나 인기도는 클릭액션의 유형(단순클릭/장바구니/찜하기 등), 클릭 횟수, 머문 시간, 최근성(Recency) 등을 종합하여 실시간으로 측정할 수 있습니다. 사용자가 상품을 클릭하거나 특정 액션을 할 때마다 브라우저(클라이언트)의 세션이나 쿠키에 정보를 요약해서 관리할 수도 있고, 서버쪽에서 클릭 스트림을 처리할 수도 있습니다. 일반적으로는 두 방법을 함께 사용합니다.

개별 사용자의 간단한 클릭 내역은 브라우저에서 집계하고 다른 정보와 결합하거나 여러 사용자들에 걸친 분석이나 집계는 서버쪽에서 처리하는 식입니다. 서버쪽에서 집계하면 각 사용자의 관심사뿐만 아니라 여러 사용자들의 공통된 관심사를 실시간으로 집계할 수 있는 장점이 있지만, 클릭 스트림 데이터량이 많기 때문에 서버쪽에서 실시간으로 분석 및 집계할 때는 빠른 분석속도를 제공할 수 있는 기술이 필요합니다.


실제 추천 서비스를 할 때는 아래 그림과 같이 과거 이용내역을 분석하여 얻은 결과와 사용자의 실시간 관심사를 결합하여 사용합니다. 또한 적절한 추천 시점에 적절한 위치에서 상황에 맞게 추천을 실행해야 하는데, 이와 같이 사용자의 상황에 따라 어떤 추천 데이터를 언제 어디에서 어떻게 사용할 것인지를 정의하고 관리하고 실행하는 것을 추천엔진이라고 합니다. 추천 엔진은 추천 시점/포인트에서 추천 요청을 받으면 해당 시점/포인트에 적용 가능한 추천 시나리오를 찾아서 실행합니다. 추천 시나리오에는 어떤 실시간 컨텍스트를 참고할 것인지, 그리고 해당 컨텍스트를 이용하여 어떻게 추천 데이터를 구성할 것인지가 정의되어 있습니다.​

거창한 기술을 생각하기보다는 앞에서 예로 든 백화점 매니저처럼 생각해 보면 됩니다. 백화점 매장과 달리 온라인에서는 직접 사용자를 볼 수 없기 때문에 사용자의 관심사를 파악하기 위한 약간의 장치가 필요한데, 사용자의 클릭 내역을 적절히 가공해서 쿠키나 세션에 임시 저장만 해 놓아도 좋은 단서로 사용할 수 있습니다.

사용자의 관심사에 어울리는 추천 상품을 꼭 대용량 데이터 분석을 통해서만 알 수 있는 것은 아닙니다. 백화점 매니저처럼 축적된 경험으로 알 수도 있고, 고단하지만 여러 번의 엑셀 작업으로 찾아낼 수 있는 것들도 많을 겁니다. 규모가 작은 쇼핑몰은 물론이고 규모가 제법 큰 쇼핑몰에서도 간단한 실험을 하는 데에는 이 정도면 충분할겁니다.

실시간 Context를 이용한 개인화 추천 - 1. 개념
실시간 Context를 이용한 개인화 추천 - 2. 추천할 것들 찾아내기
실시간 Context를 이용한 개인화 추천 - 3. 고객의 관심사와 데이터 분석의 만남

  

f5da0738543cb1ffcc334936cc359777_1437558

  • 트위터로 보내기
  • 페이스북으로 보내기

모바일 페이지로 이동