brunch

You can make anything
by writing

C.S.Lewis

by 플러스엑스 Jun 03. 2019

개인화 서비스는 어떻게 만드나요? - 2편

author - Henry│UX 디자이너

안녕하세요.

PlusX UX designer Henry입니다. 드디어 2편을 공개합니다! 1편에서는 개인화 서비스에 대한 이해를 위한 글이었다면, 2편에서는 제작을 위한 고려사항들에 대해서 소개하고자 합니다. 이번에도 역시 TMI로 내용이 많을 수 있지만 재밌게 읽어주세요. :)

*2편은 객관화된 정보보다 주관적인 의견이 많이 포함되어 있으니, 참고해주세요.



*1편을 아직 읽어보시지 않은 분이라면 아래 링크를 통해 읽어보세요.

https://brunch.co.kr/@plusx/30






Part 5. 어떻게 시작해야 할까요?



서비스를 기획하다 보면 '이런 데이터들을 모아 개인화하여 추천하면 좋겠다!'라는 이야기가 오가는 경우가 많습니다. 하지만 정녕 필요한 데이터들을 수집하려면 사용자에게 더 많은 액션을 요구하게 되는 경우도 있고, 막상 사용자들이 추천을 사용하지 않는 경우도 더러 있습니다. 즉, 아이디어 발산 단계에서 여러 아이디어를 수집하는 것도 중요하지만, 아이디어에 대한 몇 가지 검증 단계가 꼭 필요합니다.



1) 고객에게 어떤 경험을 제공할 수 있는가


'고객에게 어떤 경험을 제공할 수 있는가'에 숨겨진 의도는 '사용자의 목적 달성에 도움을 줄 수 있는가'입니다. 서비스를 이용하는 고객들은 모두 목적을 지니고 있습니다. 그중에서도 서비스의 본질을 이용하는 주 이용 고객이 목적을 달성하는 데에 도움을 줄 수 있어야 합니다.


개인화 서비스는 목적 달성에 도움을 주어야 합니다.



예를 들어 유튜브를 사용하는 유저(*크리에이터 제외)는 본인이 구독하는 크리에이터의 영상을 시청하고, 새로운 영상을 발견하길 바란다고 가정해보겠습니다. 이들을 위한 추천 서비스는 기존 크리에이터와 유사한 크리에이터를 소개하거나, 기존 시청한 영상과 유사한 영상을 제안하여, 고객이 새로운 영상을 빠르게 찾을 수 있도록 도와주는 것입니다. 결국 사용자의 목적 달성을 위하는 과정 중 고객이 느끼는 Pain point의 해결방안을 선제하여 Wow point로 전환해 주어야 합니다.



2) 중장기적으로 비즈니스에 어떤 가치를 제공할 수 있는가


콘텐츠, 추천 알고리즘 생산, 데이터 처리를 위한 서버, 딥러닝 등 개인화 서비스를 위해 들어가는 비용은 비즈니스의 규모가 클수록 높아질 수 있습니다. 이러한 투자 비용을 감수하고 개인화 서비스를 제작하였을 때 비즈니스에 도움이 되지 않는다면, 그 비즈니스는 굉장한 리스크가 발생할 수밖에 없을 것입니다.

따라서 개인화 서비스를 통해서 매출 증대, 홍보 효과, 충성 고객 창출, 관리 오버헤드 감소, 새로운 매출 기회, 새로운 매출 기회의 TCO 절감, 개발 민첩성 향상 등 중장기적인 관점에서 비즈니스에 어떤 가치를 제공할 수 있는지를 확인하여야 합니다. 즉, 거시적인 관점에서의 비즈니스 가치를 높여주어야 합니다. 서비스 개선의 목적이 단순히 단기적 매출 증대만을 위한다면, 개인화 서비스는 어울리지 않을 수 있습니다.




3) 고객이 기꺼이 제공할 수 있는 데이터인가


풀어쓴다면 '수집 가능한 범주의 데이터인가'라고 말할 수 있습니다. 다시 말해 개인화를 위해 필요한 데이터가 현실적으로 수집 가능한 범주에 있는가를 확인해야 합니다. 인구통계학적 데이터(개인 정보)는 비교적 수집하기 쉬운 데이터에 속합니다. 하지만 콘텐츠 선호도 데이터를 수집하는 것은 서비스 제공자와 사용자 모두에게 많은 노력이 필요합니다. 그 이유는 사용자가 사용하는 Device input 장치는 감정을 파악하기에 적합한 디바이스는 아니기 때문이죠. 그래서 여러 서비스들이 선호도를 측정하기 위해 여러 요소들을 사용하기 시작했습니다. 시간과 행동 그리고 그 속에 숨겨진 감정을 파악하기 위해서 말이죠.



간단한 예를 들어보겠습니다. 사용자가 콘텐츠에 오랫동안 머물렀고, 해당 콘텐츠를 5번 이상 조회했으며, 콘텐츠별점 4점을 주었다면, 우리는 이 사용자가 해당 콘텐츠를 선호한다고 추측할 수 있습니다. 여기서 좀 더 자세히 바라본다면, Time(사용자가 콘텐츠에 오랫동안 머물다) + Action(일반적인 행동: 콘텐츠를 보기 위해 조회한다)은 사용자가 콘텐츠를 보는 행동 중 어떠한 것도 요구하지 않기 때문에 자연스럽게 데이터화할 수 있습니다. 하지만 Emotion(감정을 표현)에 해당하는 별점은 사용자에게 행동을 요구할 수밖에 없으며, 기획자의 의도만큼의 데이터가 수집되지 않는 경우가 많습니다. 따라서 행동을 요구하는 데이터의 경우 고객이 기꺼이 행동할 수 있도록 가벼워야 합니다.



"Algorithm Experience Design"-서울대학교 융합과학기술 대학원 UX Lab의 자료 24page를 살펴보면 '명시적', '암묵적' 피드백이라고 표현하더군요. 잘 정리된 내용에 감사할 따름입니다.


명시적(Explicit): 사용자의 평가로 선호/비선호를 분명하게 얻어낼 수 있는 피드백 (예시: 별점)

암묵적(Implicit): 사용자의 행동을 해석하는 선호/비선호를 얻어내는 피드백 (예시: 재생시간)




4) 어떤 추천 방식을 사용할 것인가


이제 1편에서 말씀드렸던 추천 방식 중 콘텐츠 기반의 추천이냐, 유사 사용자 기반 추천이냐를 선택하는 것입니다. 고객에게 콘텐츠의 유사성으로 추천해주는 것이 좋을지, 고객과 유사한 사용자를 기반으로 추천해주는 것이 좋을지 판단하는 것이죠. 이는 어떤 도메인(*여기서 의미하는 도메인은 영역, 분야를 의미합니다.)이냐, 어떤 데이터를 보유하고 있는가에 따라서 달라질 수 있습니다. 일반적으로 고객 데이터가 부족한 경우 콘텐츠 유사성으로 추천하는 경우가 많으며, 고객 데이터가 풍부한 경우 유사 사용자 기반을 주로 사용합니다.

사실 고도화된 개인화 추천 서비스의 경우에는 두 가지를 조합하는 모델도 구현 중입니다. 대표적인 선두주자는 넷플릭스입니다. 넷플릭스의 추천 방식은 모델 기반 협력 필터링 (Model-based Collaborative Filtering algorithm)이라고 불리는데요, 단순히 유사 사용자를 기반하는 것이 아니라 잠재(latent) 모델을 활용하는 방법입니다. 구체적인 내용이 궁금하신 분은 위의 이름으로 검색해보시길 추천해 드립니다!

*잠재 모델: 사용자가 특정 항목을 선호하는 이유를 알고리즘으로 알아내는 기법


공부를 하면 할수록 정말 잘 만들었구나라고 생각합니다.






Part 6. 데이터 수집하기


데이터 수집 파트에서 이야기할 내용은 다음과 같습니다.


1. 인구통계학적 데이터 수집

2. 로그 데이터 수집 (Time + Action)

3. 고객 반응 데이터 수집 (Action + Emotion)

 

※ 콘텐츠 데이터 수집을 위한 관리자 페이지는 콘텐츠 종류에 따라 카테고리 분류법 및 키워드 데이터가 상이하여 일반화하기 어렵다고 판단되어 배제하였습니다. 또한 1편을 보셨던 분들이라면, 1번의 경우 키워드 데이터(개인 정보), 2번, 3번의 경우 콘텐츠 선호도 데이터를 세분화한 것이라고 이해하시면 좋을 것 같습니다.




1. 인구통계학적 데이터 수집


인구통계학적 데이터의 경우 가장 얻기 쉬운 데이터라고 할 수 있습니다. 특히 소셜 회원가입 기능으로 인해 해당 데이터를 얻는 것은 수월해졌습니다. 소셜 회원가입을 통해 얻을 수 있는 정보는 아래 이미지를 참고해주세요. 국내에서 흔히 사용되는 네이버, 카카오톡, 페이스북을 기준으로 작성하였습니다.


소셜 회원가입 이외에 자체 회원가입을 제공하는 경우 회원 프로필에서 서비스에서 필요한 인구통계학적 데이터를 수집하는 방법을 설계해야 합니다. 일반적으로 아래 이미지와 같이 회원가입 플로우 상에서 녹이는 방법을 많이 사용합니다. 하지만, 정말 필요한 데이터가 아니라면 수집하는 것을 삼가야 합니다. 앞서 말씀드린 고객이 기꺼이 제공할 수 있는 데이터인가를 고민해보시길 바랍니다.


핀터레스트, 에어비앤비는 생년월일 데이터를 요구합니다.




넷플릭스의 부사장인 토드 옐린은 다음과 같이 말합니다.


Geography, age, and gender? We put that in the garbage heap.
(연령, 성별, 거주지 데이터? 쓰레기통에나 버려)



고객의 성향을 인구통계학적 데이터와 같은 정적 데이터로는 정의할 수 없다고 말한 것이죠. 생각해보면 나와 비슷한 연령대의 친구들을 보더라도 서로 다른 취향을 가지고 있고, 가치관이 전혀 다름을 느낄 수 있습니다. 그래서 정적 데이터보다는 동적인 유사 그룹 데이터가 더 유용하다는 점은 동의합니다. 하지만 인구통계학적 데이터가 완전히 쓸모없는 데이터라고 할 수는 없습니다. 일반적으로 추천 서비스의 경우 초기에 콜드 스타트(Cold start)가 발생할 가능성이 높기 때문입니다.

*콜드 스타트: 새로운 사용자, 새로운 아이템으로 인해 초기 데이터가 부족하여 적절한 추천이 이루어지지 않는 단계.





2. 로그 데이터 수집 (Time + Action) 


사용자가 서비스 내에서 행하는 행동을 수집하는 것을 말하는데요. 이 부분의 경우 프런트 UI에 연관도가 높다기보다는 어떤 방식으로 데이터를 측정하고 측정된 정보를 어떻게 정의하느냐 중요한 부분이라고 할 수 있습니다.



위 그림과 같이 사용자가 콘텐츠를 발견하고 시청하고 종료할 때까지의 행동을 로그 데이터(Time + Action), 고객 반응을 고객 반응 데이터(Action + Emotion)라고 생각하시면 이해하기 편하실 것 같습니다. 콘텐츠 시청 시간, 특정 콘텐츠에 오랫동안 머무는 행위, 콘텐츠를 시청하는 액션, 콘텐츠를 재방문하는 행동 등이 로그 데이터에 해당합니다. 중요한 것은 이 데이터들을 어떻게 정의하느냐입니다. 고객의 어떤 행동이 의미 있는 행동이고, 데이터화하였을 때 가치가 발생하느냐를 고민하는 것이죠.

예를 들어 유튜브의 경우 콘텐츠 리스트에서 특정 콘텐츠에서 화면이 머무는 경우 영상을 자동 재생합니다. 해당 기능은 영상의 플레이 시간을 기준으로 사용자가 콘텐츠에 관심이 있는지에 대한 데이터를 수집합니다. 단순히 기능적 측면이 아닌 데이터 수집 측면으로 바라보았을 때, 콘텐츠 탐색 중 관심 있는 콘텐츠를 발견하는 행동 로그를 측정하는 것은 의미 있는 수집이라고 생각합니다.

자동 플레이되며 시간이 카운트됩니다. 저의 경우 소리 없이 주로 이렇게 보는 편입니다.




3. 고객 반응 데이터 수집 (Action + Emotion)


고객 반응 데이터의 경우 고객이 콘텐츠에 대한 피드백을 제공하는 것을 의미합니다. 흔히 알고 있는 좋아요/싫어요 또는 별점이 이에 해당합니다. 하지만 여러 서비스들을 상세히 들여다보면 이 피드백을 더 세분화하고 있습니다. 바로 내가 다시 보고 싶은 것, 다시 보고 싶은 것은 아니지만 소비하고 싶은 것으로 구분하는 것이죠. 이러한 구성은 인스타그램에서 쉽게 찾을 수 있습니다.  

파란색이 다시 보고 싶은 것, 주황색이 콘텐츠에 대한 반응.


이처럼 고객의 피드백을 더욱 세분화하면 할수록 더욱 정교한 데이터를 얻을 수 있습니다. 하지만 기능이 많아질수록 서비스의 복잡도 또한 올라갈 수밖에 없기에 적절한 선택을 하는 것이 중요합니다. 사용자가 서비스를 이용하는 목적이 아닌 다른 부분에서의 고객 행동 강요는 지양해야 합니다.





Part 7. 콘텐츠 추천하기



일반적으로 대부분의 추천 서비스들은 해당 추천이 어떤 방식으로 제공되는지에 대해서 공개하지 않기 때문에 일반 사용자들이 알 수 없습니다. 그 이유는 무엇일까요?


개인적으로 제가 생각하는 해답은 불쾌한 골짜기의 영향 때문이지 않을까 추측해봅니다.

모리 마사히로의 이론에 따른 인간과의 유사성과 인간이 느끼는 호감도 그래프를 보면 '불쾌한 골짜기' 현상이 발생합니다. 인간과 비슷하다고 느껴 호감도가 상승하는 시점에서 급격한 불쾌감을 느끼는 것이죠.


'불쾌한 골짜기'


개인적으로 추천을 해주고 있다는 정보를 투명과 불투명으로 구분하였을 때 불투명에 가까운 서비스들이 많은 이유는 이러한 불편한 감정을 느끼기 쉽기 때문이라고 생각합니다.


그렇다면 추천되고 있다는 것을 숨겨야 하는 것이 정답일까요?

인간과의 유사성과 호감도 그래프를 본다면 답을 내릴 수 있을 것 같습니다. (그래프에서는 움직임/안 움직임으로 구분되어 있으나, 정확히는 커뮤니케이션할 수 있느냐 없느냐로 구분하는 것이 더 이해하기 쉬울 것 같습니다.) 이 관점으로 바라본다면, 커뮤니케이션이 가능한 수준이라면 휴머노이드 로봇의 경우 호감도 상승 곡선 속에 위치해 있음을 발견할 수 있을 것입니다. 즉, 적절히 추천을 해주고 있다는 인식까지는 서비스에 대한 호감도도 증가할 수 있다는 가설을 만들 수 있을 것입니다. 물론 불쾌한 골짜기에 대한 이론을 비판하는 과학자들도 있다고 합니다.

하지만 덧붙이자면 심리학자 배리 슈워츠와 애덤 그랜트는 이렇게 말합니다. "거의 모든 결과 값은 사실 뒤집힌 U자형 모양을 보인다. 심리학의 여러 영역에 걸쳐서 어느 지점까지는 X가 Y를 증가시키지만, 그 뒤로는 Y를 감소시킨다는 사실이 밝혀졌다. 모든 긍정적인 특성, 상태, 그리고 경험은 일정하게 높은 수준에서는 혜택을 능가하는 비용을 치르게 된다."

즉, 적정선을 지키는, 과유불급을 지키는 추천이 필요한 것 같습니다.



구체적으로 추천 방식의 사례를 살펴보며 이야기보겠습니다.

먼저 유튜브의 경우에는 홈 영역 자체가 영상 추천 영역입니다. 내가 구독하는 콘텐츠, 추천 콘텐츠, 광고 콘텐츠가 적절한 비율로 노출됩니다. 하지만 유튜브에서 추천하지만 추천처럼 보이지 않는 콘텐츠들을 발견할 수 있을 것 입니다. 즉, 추천하고 있지만, 사유를 불투명하게 만든 경우입니다.


불투명한 추천


그와 반대로 투명하고 명확하게 보여주는 콘텐츠들도 있습니다.

'뽈인러브 시청자가 이 채널을 시청합니다.' - 투명한 추천


사실 이 구분자가 명확하게 어떤 방식인지 비율이 어떤지는 저도 잘 모르겠습니다앞서 말씀드린 바와 같이 감정적 반감을 줄이거나 추천 정확도가 낮아서일지도 모른다는 생각이 듭니다.

다른 사례인 넷플릭스를 살펴보면 퍼센트의 방식으로 넷플릭스가 생각하는 콘텐츠 추천의 정확도를 표현해줍니다. 콘텐츠 상세 페이지에서 아래 이미지와 같은 퍼센트를 발견할 수 있습니다.  하지만 넷플릭스가 처음부터 이 방식을 사용하지는 않았습니다. 처음에는 5점 만점의 별점 방식을 사용하였으나, 별점 기준의 모호함과 인지의 부적합성 때문에 수집 방식도 좋아요/싫어요의 형태로 변경되었고, 추천의 정확도의 표현도 퍼센트로 변경되었습니다.

넷플릭스 콘텐츠 상세


그리고 넷플릭스는 조금 다른 방식으로 콘텐츠를 추천하기도 합니다. 바로 개인화에 따라 콘텐츠가 변화하는 것이 아니라 콘텐츠를 소개하는 메인 이미지가 바꾸는 방식을 차용한 것입니다. (아트웍 개인화라고 부릅니다.) 예를 들어 굿윌헌팅이라는 영화를 소개하는 메인 이미지에 멜로 영화를 많이 본 유저에게는 연인의 이미지를, 코믹을 좋아하는 유저에게는 코믹으로 유명한 배우인 로빈 윌리엄스의 이미지를 노출하는 것이죠. 이러한 방식은 인기가 없는 콘텐츠이거나 신규 콘텐츠가 생겼을 때 후킹하는 요소로 사용된다면 좋은 방향일 것 같습니다.


넷플릭스의 아트웍 개인화



또한 커머스의 경우에는 상품 구매 전/후에 다음 이미지와 같은 추천을 사용하는 경우가 많습니다. 여기서도 '다른 고객이 함께 본 상품'이라는 인지를 통해 내가 추천받았구나라는 것을 심어줄 수 있습니다.




종합적인 사례를 정리하자면, 불쾌한 골짜기 이론과 뒤집힌 U자 곡선을 생각하여 개인화를 추천하고, 고객에게 '추천을 받았다.', '제어할 수 있다'라는 인식을 심어주는 것이 무엇보다 중요한 항목인 것 같습니다.







Part 8. 추천 알고리즘


공부를 하다 보니 결국 추천 알고리즘까지 들여다보게 되더군요. 이 부분은 제 영역이 아니라 상세히 설명해 드리진 못하지만 어떤 알고리즘이 있는지 정도로만 소개해드리겠습니다. 공부를 더 하고 싶으신 분들은 해당 키워드로 검색해보시거나 참고 레퍼런스의 링크를 참고해주세요. :)


추천 시스템 유사도 알고리즘

콘텐츠 사이의 관계를 기준으로 유사도를 측정하는 알고리즘

Euclidean Similarity (유클리디안 유사도)

Cosine Similarity (코사인 유사도)

Pearson Correlation Coefficient (피어슨 유사도)

Jaccard Coefficient (자카드 유사도)


전통 알고리즘

사용자 기반 협업 필터링: 사용자의 행동 분석 기반으로 추천하는 방식

아이템 기반 협업 필터링: 콘텐츠의 내용 분석 기반으로 추천하는 방식 (유클리디안, 코사인 유사도 측정)


최신 알고리즘

모델 기반 협업 필터링: 머신 러닝을 이용해 펌점을 예측할 수 있는 모델을 만드는 방식

딥러닝 기반 필터링: 스포티파이, 구글의 추천 텍스트 자동생성으로 사용하는 방식으로 알파고와 같이 딥러닝 방식을 적용하는 방식







마무리하며,


사실 UX 디자이너 입장에서 개인화 추천 시스템을 이해하기 위해 공부하며 글을 쓰기 시작한 것이라, 엔지니어 분들이 보시기엔 턱없이 얕은 정보일 수 있습니다. 하지만 이러한 부분들을 이해하는 것이 서로 다른 분야를 이해하는 첫 단추가 아닐까 생각합니다. 비교적 긴 호흡의 글을 읽어주신 분들에게 감사의 인사를 드립니다. 잘못된 정보나 부족한 정보가 있다면 언제든 알려주세요. :)


감사합니다!





참고 래퍼런스


- 넷플릭스가 인구통계학적 데이터를 사용하지 않는 이유: http://fortune.com/2016/03/27/netflix-predicts-taste/

- 넷플릭스가 별점에서 좋아요/싫어요로 바꾼 배경: https://www.youtube.com/watch?time_continue=19&v=as4pZhodG5I

- 넷플릭스의 아트웍 개인화: https://medium.com/netflix-techblog/artwork-personalization-c589f074ad76

- 알고리즘 익스피리언스 디자인. 서울대학교 융합과학기술 대학원 UX Lab: https://www.slideshare.net/joonyale/algorithm-experience-design-131861367

- 전반적인 알고리즘에 대한 이해, 도리의 디지털 라이프: http://blog.skby.net/

- 정보통신산업진흥원 "Collaborative Filtering 추천 시스템의 핵심기술": https://www.oss.kr/info_techtip/show/5419f4f9-12a1-4866-a713-6c07fd36e647

- 유튜브 추천 시스템: https://ai.google/research/pubs/pub45530

- 한국콘텐츠진흥원 "콘텐츠 추천 알고리즘의 진화" http://www.kocca.kr/insight/vol05/vol05_04.pdf

- Web Data Mining - Bing Liu

- Allison J. B. Chaney, Brandon M. Stewart, Barbara E. Engelhardt (2018). How algorithmic confounding in recommendation systems increases homogeneity and decreases utility.

- CARLOS A. GOMEZ-URIBE and NEIL HUNT, Netflix, Inc(2015). The Netflix Recommender System: Algorithms, Business Value, and Innovation




작가의 이전글 Oh! 크리에이터에서 담아간 플러스엑스의 이야기

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari