brunch

You can make anything
by writing

C.S.Lewis

by 전성진 Sep 19. 2019

Data Driven User Modeling

데이터 기반의 사용자 모델링 프로세스

pxd에서 사용자를 이해하는 방법으로 데이터 활용에 관심을 갖기 시작한 것은 2013년 전후일 것 같습니다. 이번 글에서는 UX 디자인 프로세스에서 데이터에 근거하여 사용자 모델링을 하는 방법에 대해 이야기하려고 합니다.



사용자 가설에 대한 객관적 근거의 아쉬움

저(담당자)는 충분히 납득이 되는데 윗분들은 증거를 원하시거든요. 명백한 숫자가 있으면 좋은데...
그럴 듯 하긴 한데 정말 그런 사용자가 얼마나 되는 걸까요?

이전 글에서 디자인 프로세스에서의 사용자 모델링의 중요성과 방법에 대해서 소개를 한 바 있습니다. 사용자 모델링은 목표 사용자에 대한 명확한 이미지를 갖는다는 점에서, 그리고 디자인 과정의 구심점이 된다는 측면에서 유용합니다. 그러나 정성적인 리서치 과정에서 얻어진 행동 패턴으로 만드는 사용자 모델은 객관적 설득이 잘 안 되는 경우가 종종 있습니다. 이는 공감에 기반하는 정성적 리서치 특성에 기인하는 것인데요, 클라이언트사의 담당자가 리서치 과정에서 함께 참여하였고 내용을 깊이 이해하였다면 이러한 문제는 대부분 해소가 됩니다. 그러나 일반적으로 높은 직급의 의사결정권자는 리서치에 함께 참여하는 경우가 드물기 때문에 충분한 공감을 갖기가 어렵습니다. 결국 의사결정의 확신을 위해서는 어떻게든 '숫자와 같은 명백한 증거'가 필요한 경우가 많습니다. 사용자 조사 후에 발견한 인사이트에 대해 한참 설명했는데도 '그럴 듯 하긴 한데 정말 그러한 사용 패턴의 사용자가 얼마나 되는 건가요?'라고 묻는 경우가 바로 그것입니다. 보통은 정성적인 조사 데이터 외에도 추가적인 서베이 결과나 각종 시장 통계 자료들로 보완을 하면 이러한 의심이나 걱정들은 상당 부분 해결이 되긴 합니다만... 좀 더 속 시원히 증명하고 싶은 아쉬움이 항상 있습니다.



Lean UX와 사용자 데이터

뭐야?! 결국 우리가 하던 디자인 프로세스와 다르지 않은데?

pxd에서는 2013년 전후로 Lean UX 프로세스에 주목하기 시작하여 다양한 사내 스터디가 진행되었습니다. 

처음에는 '뭐야?! 결국 우리가 하던 디자인 프로세스와 다르지 않은데?'라고 생각했습니다. 기존의 디자인 접근 방법을 그럴듯하게 재포장하여 디자인 프로세스에 익숙지 않은 분야의 사람들 대상으로 '마치 새로운 것인 양' 얄팍하게 상품화 한 느낌마저 들었습니다. 

사실 이러한 초기의 저항감은 UX라는 분야가 갑자기 떠오르던 시기에도 있었고, 서비스디자인 분야가 소개될 때에도 있었습니다(제 이야기입니다 ^^;). 새로운 것이 나타났을 때 백지 위에서 출발하지 않고 기존의 인식체계로 우선 파악하려는 경향은 학습의 효율성을 추구하려는 본능이라고 생각합니다. 하지만 깊이 이해해보면 기존의 지식의 체계로 설명할 수 있는 부분도 있지만 굳이 새로운 용어로 달라 보이도록 설명하는 이유가 있고 그 부분의 핵심을 취해야 합니다.

내부에서 Lean UX에 관한 많은 토론과 학습을 거치면서 그동안 간과하고 있었던 '빨리 실패하여 배우고 지속적으로 개선하기'의 중요성과 이 과정에서의 빠른 프로토타이핑의 유용성을 재발견할 수 있었습니다(Lean UX Lab, 보다 빨리, 자주, 적은 비용으로 실패하기). 물론 기존의 디자인 프로세스에서도 분명히 이런 부분들이 있습니다만, 새롭게 바라볼 수 있는 기회가 되었다고 해야 할 것 같습니다. 그리고 이 과정에서 사용자 데이터를 디자인 프로세스에서 어떻게 적극적으로 활용할 수 있을지 고민하게 되었습니다. 


사용자가 남긴 데이터 = 사용자 행동의 흔적!

요즘의 대부분의 서비스들은 네트워크 접속을 기반으로 이루어지는 경우가 많습니다. 이러한 서비스들은 사용자들의 접속 기록을 포함하여 각종 이용 데이터들이 남습니다. 특히 모바일 서비스의 경우 사용자가 대부분의 일상생활에서 폰을 소지하기 때문에 위치 기록을 포함하여 사용자의 일상생활과 연결된 데이터를 확보할 수 있습니다. 이렇게 남겨진 사용자의 서비스 이용 데이터는 사용자의 행동의 흔적, 즉 로그 데이터입니다. 로그 데이터를 보면 어떤 사용자가 무슨 행동을 했고, 왜 했는지 이해할 수 있습니다. 또한 로그 데이터는 샘플링 방법으로 표본수를 늘리기 쉽고 정량적 객관성을 확보할 수 있고 가공이 쉽습니다. 이를 잘 활용하여 디자인 프로세스에서의 모호성과 임의성을 보완할 수는 없을까요?

'사용자 데이터 = 사용자 행동의 흔적'이라는 관점에서 우선 시도해 볼 수 있는 것은 사용자 모델링을 위한 사용자 데이터로 활용하는 것입니다. 사용자의 행동 패턴 발견을 위하여 직접 관찰하고 인터뷰하여 수집하던 정성적 데이터를 정량적 로그 데이터로 대체하거나 보완하는 것입니다. 

pxd에서 데이터를 기반으로 사용자 유형을 추출하는 시도는 2016년도에 이루어졌습니다. 

트위터 사용자 유형 - 데이터 기반 퍼소나

데이터 기반 퍼소나 - 트루밸런스 

그리고 실제 프로젝트에 응용해보면서 데이터 기반 사용자 모델링의 효과를 확인할 수 있었고, 디자인 프로세스로 정리할 수 있었습니다. 다음 단락에서 정리할 데이터 기반의 사용자 모델링 프로세스는 Lean UX Lab의 無異님이 코칭을 했던 프로젝트의 경험을 포함하여 사내 스터디와 다양한 프로젝트 사례를 토대로 한 것임을 밝혀둡니다.



데이터 기반의 사용자 모델링 프로세스 (Data Driven User Modeling Process)

본 프로세스는 위의 프로젝트 적용 사례를 토대로 제가 두 번의 외부 발표(Alibaba UCAN 2017, HCI Korea 2018)를 준비하면서 정리한 내용을 주로 다루고 있습니다. 또한 2019 HCI Korea에서는 pxd의 김선기, 류정우 두 분이 Data driven UX사례 발표라는 제목으로 데이터 기반 사용자 모델링 외에 근거 기반의 디자인, UX 개선에 따른 성과지표 관리에 대하여 발표한 바 있습니다. 


이제 데이터 기반의 사용자 모델링 프로세스에 대하여 본론으로 들어가겠습니다.


User Log Data Sampling (사용자 데이터의 확보)

사용자 로그 데이터 샘플

수집 가능한 사용자 데이터를 우선 확인해야 합니다. 보통은 위와 같이 스프레트시트 형태로 출력이 가능합니다. 이러한 데이터를 확보하기 위해서는 클라이언트사의 서버 관리자의 도움을 받는 것이 좋은데, 어떤 데이터가 쌓이고 있고 어떻게 관리되고 있는지, 큰 노력 없이도 추가 확보 가능한 데이터는 무엇인지 파악해야 합니다. 그러나 데이터가 제대로 수집, 관리되고 있지 않는 경우도 많고, 부서 간 협의가 잘 안 이루어져 제대로 된 지원을 받지 못하는 경우도 있습니다. 이런 경우 UX프로젝트를 진행하는 부서와 데이터를 관리하는 부서의 상위 레벨 의사결정권자의 지원을 받을 수 있으면 큰 도움이 됩니다.

사용자의 로그 데이터는 처음에 볼 때는 복잡해 보입니다. 이럴 때는 '사람(사용자)'를 중심으로 바라보는 것이 좋습니다. 우리가 보고자 하는 데이터는 결국 사용자가 남긴 흔적이고 사용자의 의도가 반영된 행동의 결과입니다. 

사용자가 남기는 데이터는 우리에게 익숙한 5W 1H를 기준으로 파악하면 도움이 됩니다.

Who (누가?) : 우선 사용자 ID를 중심으로 데이터를 추출합니다. 즉, '사용자별 데이터'를 보는 것이 중요합니다. 기존의 데이터 분석 경험으로는 '데이터 유형별'로 보는 것에 익숙해져 있을 것이기 때문에 이 차이를 분명히 알고 가야 합니다. 특정 데이터 유형의 총합이나 평균치는 서비스의 전반적인 흐름이나 경향을 이해하는 데는 도움이 되지만, 사용자의 관점에서 서비스를 이해하고 디자인하는 데는 도움이 되지 않습니다. 예를 들어, 특정 서비스 연결 부분에서의 사용자의 이탈이 많았다면 이 부분에 대한 개선이 필요하다고 판단할 수 있지만, 이것만 가지고는 이 부분에서 사람들이 왜 이탈하는지는 알기 어렵습니다. 즉 문제의 원인을 파악하고 해결하기 위해서는 사용자별 데이터를 추적하는 것이 중요합니다.  

When (언제?) : 서비스 이용은 순차적 흐름으로 연결되는 경향이 있기 때문에 시간축을 기준으로 데이터를 보는 것이 유용합니다. 시간대별, 일별, 주별, 월별 등 의미 있는 시간 단위가 무엇인지 생각해보고, 여기에 더하여 서비스 특성에 따라 단발성 이벤트 및 빈도, 또는 지속적 사용이나 점유의 구간 등 유형별 특성을 파악해야 합니다.

Where (어디서?) : 사용자의 서비스 접속 위치 파악을 통하여 서비스 이용의 환경이나 맥락을 유추해 볼 수 있습니다. 혹은 서비스 흐름 상의 특정 지점일 수도 있습니다.

What (무엇을?) : 서비스 목적과 특성을 드러내는 데이터입니다. 콜택시 서비스라면 콜 발생, 콜 취소, 변경, 대기, 결제, 이용후기, 불만 접수 등 서비스와 직접 관련이 있는 데이터들입니다. 

How (어떻게?) : 서비스 이용 행동 패턴에 해당하는 데이터입니다. 보통은 단일 유형의 데이터로 존재하기보다는 위의 'Who, When, Where'에 따라 'What'을 조합하여 결과적으로 'How?'가 드러납니다. 즉, 사용자의 행동목표에 따라 위의 '4W(Who/When/Where/What)'를 조합하여 사용자의 행동 패턴(가설)을 도출해 냅니다.

Why (왜?) : 사용자의 행동 패턴을 발견하였다면 위의 각각의 4W 1H의 데이터를 통하여 왜 그런 패턴을 보이는지 이해할 수 있습니다. 그리고 'Why'를 이해할 수 있다면 행동의 목표(goal)를 이해한 것입니다. 

이외에도 기록은 되고 있으나 실제 활용은 잘 안되고 있는 유용한 데이터가 있을 수 있으니 잘 챙겨 보아야 합니다.

이렇게 파악된 데이터들을 놓고 팀에서 활발한 토의를 하는 과정을 통하여 어떤 데이터를 보는 것이 프로젝트 목표에 부합하는지 판단해야 합니다. 데이터는 객관적 사실이지만 어떤 사실을 채택하여 엮을 것인지는 사람의 판단과 해석이 필요합니다. 데이터는 거들 뿐이죠!


Data Visualization (사용자별 데이터 시각화) 

데이터를 이용하여 행동 패턴을 발견하는 가장 효과적인 방법은 데이터를 시각화를 하는 것입니다. 개별 데이터에 연연하지 않고 전체적인 경향을 파악할 수 있기 때문입니다. 어떤 행동(데이터)이 어떻게 반복되는지, 각각의 차이가 무엇인지를 이해하는 것이 데이터 시각화의 목표입니다. 위의 4W가 패턴 발견을 위한 재료입니다. 다시 말하지만 여기서 중요한 것은 '사용자 별 행동 데이터'를 시각화하는 것입니다. '특정 유형 별 데이터'가 아니고요. 

경험으로 알게 된 유용한 시각화 방법은 시간(When) 또는 공간(Where)에 보고자 하는 주요 이용 데이터(What)를 매핑해 보는 것입니다. 무엇을 보고자 하는가에 따라 시각화의 기준은 달라질 수 있지만 시간과 공간이라는 기준은 모두가 영향을 받는 일차적인 조건이어서 기준으로 삼기에 좋습니다. 샘플링된 사용자 데이터를 시간의 축 또는 공간의 축 위에 매필을 하기 위해서는 코딩을 통하여 간단한 툴을 만들기도 합니다. 

시간축에 사용자의 행동 데이터를 매핑한 예

사용자별로 데이터를 시각화하였다면 다음과 같이 종이에 프린트하여 직접 늘어놓고 보는 것이 도움이 됩니다(모니터 화면은 작아요!). 이렇게 하면 팀원들이 다 함께 보면서 토론하고 서로 연관성이 깊은 것들을 떼어 가까운 곳에 붙이고 의미를 찾아나가는 과정을 자연스럽게 진행할 수 있습니다. 이 과정에서는 사용자들의 행동의 차이를 발견하고 무엇이 이러한 행동의 차이를 만들어 내는지에 대하여 다양한 가설을 세우는 것이 중요합니다. 가끔 생각지도 못했던 요인에 의하여 행동이 달라지는 경우 종종 프로젝트에서의 큰 기회가 되기도 하니까요. 

사용자별 데이터 시각화를 통한 행동의 차이 발견하기


Data Dirven Behavior Pattern (데이터 기반 행동 패턴 도출)

주요한 행동의 차이를 발견할 수 있었다면 이번에는 이러한 행동의 차이들이 서로 어떤 관련이 있는지 조합을 해보면서 차이를 만드는 요인에 대하여 심층적으로 파고 들어가 보아야 합니다. 행동 패턴의 이유와 목표를 탐색하는 과정입니다.

택시 호출 서비스의 콜 로그 데이터 매핑 비교 예시 (패턴 1,2,3)

위 예시는 택시 호출 서비스의 콜 로그 데이터를 시계열 매핑과 지도 매핑을 예시적으로 나타낸 것입니다. 이렇게 주요 시각화 데이터를 교차 비교해보면 해당 행동 패턴이 만들어지는 이유(Why)를 이해할 수 있습니다. 위 예시에 나타난 패턴(1)(3)은 각각 오전 출근 시간과 밤늦은 시간에 콜이 몰려서 나타나고 이를 지도 위에서 확인해 보면 특정 두 지점 사이를 반복적으로 이동하는 것으로 보아 출근과 밤늦은 야근 택시를 이용하는 패턴으로 볼 수 있습니다. 패턴(2)의 경우 낮 시간대에 산발적이고 빈번한 콜이 이루어지고 지도 위에서도 다양한 경로가 표시되는 것을 보면 아마도 영업 목적으로 업무 시간 동안의 잦은 시내 이동이 필요한 사용자일 거라고 유추할 수 있습니다.

또 다른 예를 보겠습니다. 다음은 VOD 서비스에서 전형적으로 나타나는 이용 로그 패턴입니다. 마찬가지로 사용자별로 시각화하여 시청 시간대, 재생 시간, 빈도, 소비 콘텐츠 유형 등의 관계를 연결하여 볼 수 있도록 시각화하였습니다.

VOD 서비스의 시간대별 이용 빈도, 길이, 내역에 대한 시각화 및 교차 비교

위 예시에서 좌측은 하루 시간대에 따라 VOD 서비스를 이용한 시간을 표시하였습니다. 단순히 이용했다/안 했다의 사실보다는 얼마나 지속적으로 이용했는지, 전체적인 빈도는 어떤지 볼 수 있도록 구성하였습니다. 그리고 한번 실행할 때 몇 분을 이용하는지 파이 그래프에 컬러와 면적 대비를 주어 한눈에 알 수 있게 하였습니다. 그리고 서비스 이용의 의도와 목적을 이해하기 위하여 우측 이미지와 같이 하나의 이용 세션에서 어떤 항목을 실행했는지 알 수 있도록 구성하였습니다. 물론 이렇게 정리되기까지는 어떤 데이터를 봐야 할지, 어떻게 비교해야 할 지에 대한 시행착오가 필요했습니다. 

위의 예시는 시청시간 10분 이내의 짧은 시청 패턴을 가진 사용자들을 보여주고 있는데, 하루 종일 산발적으로 무료 클립 영상을 짧게 시청하는 사용자의 경우는 '짬짬이 시간을 때우기 위한 시청 패턴'이라고 볼 수 있습니다. 또는 10분 이상의 다소 긴 영상 시청 전에 매우 짧은 플레이어 실행 기록은 '어떤 컨텐트를 볼 지 사전 탐색하는 패턴'으로 유추해 볼 수 있습니다. 

만약 단순하게 데이터 유형별로 보았다면, 예를 들어 하루 평균의 무료 클립 영상의 총 재생 횟수, 시간이나 하루 중 재생 빈도가 가장 높은 시간대를 통계 내는 방식으로 보았다면 위와 같은 사용자의 사용 패턴과 의도를 이해할 수 없을 것입니다. 물론 그 자체로는 서비스 운영에 필요한 유용한 데이터겠지만요. 

이제 데이터에 기반하여 사용자의 행동 패턴(가설)을 추출하였습니다. 기존의 정성적인 조사는 적은 표본의 사용자를 관찰하고 인터뷰하면서 연구자의 '감'에 의존하여 행동 패턴을 발견했다면, 이제는 로그 데이터로부터 객관적인 행동의 차이들을 충분한 표본을 통하여 얻어냈고, 이를 다른 데이터와 교차 비교하면서 행동 패턴을 도출해 낸 것입니다. 잊지 말아야 할 것은 '무엇이 유의미한 패턴인가?'라는 해석과 판단은 여전히 사람의 몫이라는 것입니다!


User Research (행동 패턴에 부합하는 사용자 직접 조사) 

위의 과정을 통하여 객관적 데이터에 근거하여 의미 있는 행동 패턴 가설을 얻었습니다. 이제는 행동 패턴에 부합하는 실제 사용자를 리크루팅하고 인터뷰와 관찰 등의 필요한 조사방법을 활용하여 행동 패턴 가설을 검증할 차례입니다. 그리고 데이터만으로는 알 수 없었던, 보다 풍부한 서비스 이용 맥락과 내면의 니즈, 감정, 태도 등 정성적인 데이터를 얻어야 합니다. 이 과정 이후부터는 기존에 익숙하게 해 왔던 정성적 조사와 비슷합니다만, 차이점은 정성 조사 이전에 이미 데이터를 통하여 유의미한 행동 패턴을 파악했고, 이것이 정성 조사를 위한 '꽤 쓸만한 사용자 가설'을 이루고 있다는 것입니다. 이와 같이 데이터에 근거하여 도출된 행동 패턴은 실제 조사를 위한 대상자를 선별하는 가이드가 될 수 있고, 실 조사 이전에 탄탄한 가설을 만들어 주기 때문에 연구자가 안정감과 함께 디테일에 집중할 수 있는 여유를 가질 수 있게 도와줍니다. (짧은 조사 과정에서 연구자는 조사 과정도 이끌어야 하고 사용자와의 인터뷰에 공감도 해야 하고 행동 패턴도 발견해야 해서 무척 바쁩니다. 또한 행동 패턴이 잘 안 보이면 이에 집중하느라 디테일에 신경 쓸 여유가 없을 수도 있습니다.) 

결과적으로 데이터 기반의 행동 패턴 도출을 통하여 정성조사를 더욱 풍부하고 충실하게 진행할 수 있게 되고, 보다 다양한 혁신의 기회를 포착할 수 있을 것입니다.


User + Context Modeling

사용자의 행동 패턴과 숨은 니즈, 맥락에 대한 이해를 했다면 이를 통하여 목표 사용자를 선명하게 만들 수 있습니다. 기존 정성적 방법에 의존했던 프로세스와는 달리 앞의 과정에서 데이터에 근거하여 행동 패턴 가설을 도출하고 실제 사용자 조사를 통하여 이를 검증하였기 때문에  행동 패턴 매핑과 같은 과정은 상당 부분 생략될 수 있습니다. 기존에는 이 과정에서 어떤 사용 패턴을 주요 패턴으로 도출할지 상당한 노력과 집중을 요했다면, 이제는 데이터 분석 과정부터 가설로 도출된 행동 패턴과 실제 조사를 통한 검증과 이를 통해 이해한 사용자의 목표, 맥락적 디테일을 가지고 사용자 모델링을 진행할 수 있습니다. 그리고 설득력 있는 정량적 데이터와 공감할 수 있는 정성적 데이터를 균형 있게 가질 수 있게 되었습니다. 


Validation (행동 패턴에 부합하는 실제 사용자 비율 검증)

"실제로 그런 사람들이 얼마나 될까요? 정말 그 사용자 모델이 우리 고객을 대표하는 것 맞나요?"

기존의 정성 조사에 기반한 디자인 프로세스에서 사용자 모델은 검증이 어려웠습니다. 따라서 공감을 얻는데 실패하면 목표 사용자 모델에 대한 설득도 어려워지고, 디자인 과정 내내 소모적인 도전을 받는 경우도 많았습니다. 그러나 이제 데이터에 기반하여 특정 패턴을 추출하였고 이를 통해 사용자 모델을 만들었다면 해당 패턴을 가진 사용자 집단의 크기를 역으로 추정해 볼 수 있습니다. 예를 들어 100만 명의 사용자를 가진 서비스가 있다고 가정하였을 때 무작위 추출 방법에 의해 신뢰 수준 95%, 표본오차 +-3%를 만족하는 표본의 수는 1066명입니다(샘플 사이즈 계산기). 이 정도 표본수를 대상으로 위와 같이 행동 패턴을 추출하였을 때 특정 행동 패턴을 만족하는 표본의 숫자(비율)를 구하는 것은 어렵지 않습니다. 그리고 이 표본 수를 가지고 전체 서비스 사용자 모집단에서의 실제 크기를 추정할 수 있습니다.  



정리

pxd는 20여 년 가까이 정성적 리서치에 의한 디자인 전략 도출과 해법을 만들어내는 일을 해 왔습니다. 앞으로 아무리 도구가 발달하더라도 '사람을 이해하고 해석하여 의미를 찾아내는 전문가의 역할'을 사라지지 않을 것 같습니다. 오히려 더욱 전문화될 것 같습니다. 그리고 이러한 전문성은 객관적 데이터를 다루는 기술에 의해 뒷받침될 때 훨씬 고도화될 것입니다. 


덧붙임 : Lean UX Lab과 Data Lab

pxd에는 Lean UX Lab이 있습니다. 프로토타이핑으로 문제 해결을 하는 컨설팅 프로젝트의 지원조직입니다. 2013년도부無異님을 중심으로 그때그때 게스트가 참여하는 소규모 조직으로 운영해오다가 올해부터는 데이터 분석 영역을 강화하여 1그룹 내에 Data Lab을 추가로 신설하였고, 다양한 프로젝트에서 데이터 분석을 통하여 사용자의 문제를 진단하고 데이터에 기반한 디자인을 해 오고 있습니다. 이는 위에서 언급한 바와 같이 서비스에서의 사용자 데이터가 주목을 받기 시작하고, 실패를 줄이면서도(혹은 저렴한 비용으로 실패하고) 보다 객관적 근거에 의하여 해법을 찾고자 하는 업계의 변화를 반영한 결과이기도 합니다. 


향후에는 Lean UX Lab과 Data Lab의 성공과 실패의 경험을 공유할 수 있기를 기대해 보겠습니다.(뭔가 유체이탈 화법 같은데;)


고맙습니다.


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