UX 디자이너를 위한 최소한의 데이터 분석
McDonaldization of UX이라고 일컫는 이른바 UX의 표준화 트렌드에 따라 유명 UX 디자이너들의 명함 내 직함이 프로덕트 디자이너로 바뀌고 있습니다. 이런 추세에 따라 UX디자이너들에게 정성적 분석과 더불어 정량적 분석을 통해 사용자에 대해 “깊게” 이해하고, 마케팅/개발/사업전략 등 비즈니스 전반에 대한 “넓은” 이해가 요구되기 시작 했습니다.
이처럼 비즈니스와 사용자에 대한 깊고, 넓은 이해의 중심에는 데이터와 통합이 있습니다. 이번 글에서는 UX디자이너 개인이 가져야 할 데이터에 대한 역량과 학습의 방향을 중심으로 기술하고자 합니다. 이 글은 UX디자이너의 데이터 학습에 대한 개인적인 생각을 담은 글입니다. 이 글이 데이터를 배우는 것에 대한 정답이 될 수는 없겠지만 데이터라는 큰 벽 앞에서 첫 발을 내딛는데 조금의 도움이 되기를 바랍니다. — PlusX UX팀 기정환
(Growth, Progressive Delivery 등 UX와 관련된 데이터 중심 통합에 대해서는 추후 시리즈에서 전개하도록 하겠습니다.)
—
데이터 학습의 어려움 — “그래서 무얼 얼마나 배울까요?”
몇 년 전 알파고와 함께 빅데이터가 세상을 떠들썩 하게 만든 이후 데이터 학습에 대한 다짐은 영어 공부에 대한 우리의 새해다짐 아래줄에 오래 동안 함께하고 있습니다. 크게 마음을 다잡고 데이터를 공부할 계획을 세우곤 하지만, 프로그래밍 배우기/SQL 배우기/R 배우기/통계 개념 배우기/그로스해킹 배우기 등 데이터 학습이라는 큰 틀 안에서 무엇을 배울 지 선택하는 것 조차 쉽지 않습니다. 고심 끝에 선택한 프로그래밍 강의를 완강 하더라도 배경지식의 한계에 절망하거나 UX실무 적용에 막막함을 느끼며 다시 원점으로 돌아가기 일수입니다. 도대체 우리는 UX디자이너로서 데이터에 대해 어디까지 알아야 할까요?
UX 디자이너와 데이터
UX디자이너가 기본적으로 알아야 할 데이터에 대한 지식은 저장, 추출, 분석의 3가지 분류로 나뉠 수 있을 것 같습니다.
UX 디자이너가 알아야 할 데이터 영역
- 데이터 저장
UX 설계를 위해서는 어플리케이션 서버, 데이터베이스, 네트워크에 대한 기본적인 이해가 필요합니다. 이를 바탕으로 UX디자이너는 ① 트래픽 처리와 데이터 구조 관점에서 안정적이며, ② 추후 UX 개선의 토대가 되는 데이터 구조가 반영된 UX 설계를 하게 됩니다.
— 웹 어플리케이션 구현 강의, 서버 관련 강의 등이 도움이 될 수 있습니다. 개인적으로 생활코딩 웹 어플리케이션 강의를 통해 개념을 정돈에 많은 도움을 받았습니다. - 데이터 추출
분석의 토대가 되는 데이터를 추출하는 과정을 말합니다. 데이터베이스, Google Analytics(GA), 웹 크롤링 등을 통해 개선의 토대가 되는 데이터를 추출하고 전처리 하여 UX 개선에 반영합니다.
— 조직을 불문하고 GA와 SQL은 많은 UX디자이너에게 요구 되고 있습니다. 최근에는 클라우드의 발전으로 별도의 코드 작업 없이 Google Cloud에서 SQL 작성만으로도 머신러닝을 구현할 수 있습니다. - 데이터 분석
분석은 크게 현황에 대한 진단과 가설 검증 실험 두 가지로 나뉩니다. 현황 진단에는 사용자 집단 분류, UX 개선을 위한 그로스 지표, 사용성 지표 설정 및 점검 등이 속합니다. 이렇게 얻어진 사용자 집단과 목표 지표 등을 활용하여 실험을 설계하고 검증하는 과정을 반복합니다.
이 중 UX디자이너가 실무에서 중점적으로 다루는 영역은 데이터 추출과 데이터 분석 2가지 영역입니다. 데이터 추출과 분석의 학습 방향을 알아보기에 앞서 데이터 분석의 과정을 살펴 볼 필요가 있습니다. 데이터 분석은 대략적으로 아래 6가지 과정을 거치게 됩니다.
데이터 추출 및 분석 과정
- 분석 목표 설정*
- 데이터 수집
- 데이터 전처리 (알고리즘에 도입이 가능하고, 유의한 결과를 얻을 수 있는 상태로 데이터를 바꾸는 과정을 말합니다.)
- 분석 기법 적용 (대시보드나 간단한 사칙연산으로 가능할 수도, 데이터마이닝이나 머신러닝 기법이 필요할 수도 있습니다.)
- 아웃풋의 유의성 판단 및 통계적 해석
- 사용자 입장에서 아웃풋 해석*
이 중 UX디자이너의 역량이 빛나는 영역은 1. 분석 목표 설정과 6. 사용자 입장에서 아웃풋 해석입니다. 상당수의 데이터 분석은 화려한 분석 기법 없이 간단한 사칙연산이나 엑셀을 통해서도 충분히 수행될 수 있습니다. 다만 이를 위해서는 적절한 분석 기준과 목표가 요구 됩니다. 분석 목표가 적절하지 않다면 분석 결과에서 통계적 유의성이 보장 되더라도 의사결정에 활용되기 어렵거나 잘못된 의사결정을 이끌 수 있습니다. UX팀은 회계팀, 마케팅팀과 달리 데이터 분석 과정에서 비즈니스 관점의 수익성과 사용자 관점의 사용성을 모두 고려해야 합니다. UX디자이너는 수익성과 사용성의 측면을 모두 고려하고, 지금까지 누적된 사용자에 대한 정성적, 정량적 인사이트를 활용하여 유의미한 분석 목표를 세워야 의미 있는 분석을 진행할 수 있습니다.
UX디자이너는 사용자에 대한 전문가입니다. 다양한 정성적 기법과 UX에 대한 기반지식을 통해 사용자 입장에서 경험을 설계합니다. 적절한 해석 없이는 분석의 아웃풋 역시 그저 숫자에 불과합니다. UX디자이너는 이전까지는 숫자에 불과했던 아웃풋을 해석하고 “사용자는 왜 이렇게 행동할까?”에 대한 답을 내립니다.
— 분석 목표를 설정하고 분석 아웃풋의 해석 대한 학습은 제품 개선 중심의 그로스와 UX A/B Test (또는 Product Driven A/B Test) 관련 다양한 케이스를 학습하는 것을 추천 드립니다. 린분석, 그로스해킹 등의 서적이나 PUBLY, Brunch, Medium 등의 미디어 플랫폼, 앤드류 챈 블로그, YC, 세콰이어캐피탈 등 유명 VC의 블로그 등을 추천 드립니다. 현직자의 경우 지금까지 회사에 누적되어 있던 분석 목표들을 리뷰하는 것이 가장 좋은 학습 소재가 될 수 있을 것입니다.
데이터 학습 — 우리가 데이터 전문가는 아니니까
분석 목표와 데이터 학습
데이터 분석 과정 중 1. 분석 목표 설정과 6. 사용자 입장에서 아웃풋 해석 과정과는 다르게 데이터 수집~통계적 해석에 해당하는 2~5번 과정은 통계와 데이터에 대한 배경지식이 필요합니다. 다만 UX 디자이너는 2~5번 과정에 대해서는 “우리가 가진 데이터에서 내가 알고 있는 기법으로 가능한 분석인가?”에 대한 답을 내릴 정도면 충분합니다. 2~5번 과정 중 코드 작업(R, python 등)에 어려움을 느꼈다면 주저 없이 개발자에게 도움을 요청 하시기를 바랍니다. (물론 조직에 데이터 관련 직군이 본인 혼자라면 눈물을 머금고 구글링 하셔야 합니다.)
UX디자이너가 데이터 사이언티스트나 통계전문가처럼 데이터 자체에 대한 전문가가 되기는 쉽지 않습니다. 분석 알고리즘에 대해 깊게 학습하고 이해하려 할수록 통계, 미적분, 논리구조 관련 지식의 부족함을 깨닫고 되려 데이터 학습의 벽을 더 크게 느끼게 됩니다. 그렇기에 이 글에서는 인풋과 아웃풋 사이의 분석 알고리즘의 원리에 대한 깊은 이해는 우리의 영역이 아님을 과감하게 인정하고 블랙박스 처럼 방치하는 방향으로 데이터를 학습하는 것을 제안하고자 합니다. 알고리즘의 원리를 이해하는데 에너지를 쏟는 것을 대신, 각 분석 방법마다 어떤 인풋이 필요하고 어떤 아웃풋 도출되는 지에만 집중 한다면 데이터 학습의 부담을 대폭 줄일 수 있습니다.
예를 들어, 군집분석(Clustering)이라는 분석 기법을 학습하는 경우 아래처럼 단순한 구조로 정리할 수 있습니다. (더 다양한 인풋과 아웃풋이 가능하겠지만, 이해를 돕기 위해 축약해서 설명하겠습니다.)
군집분석(Clustering)
— 유사한 특징을 가진 사용자 군집을 묶는데 사용하는 분석 기법인풋
(1) 여러 변수를 가진 여러 개의 사용자 데이터
(2) 만들기 희망하는 군집의 수아웃풋
(1) 각 군집에 포함되는 사용자
(2) 군집 마다 각 변수의 평균 및 통계량아웃풋의 해석 예시
— 각 군집의 이름 짓기 — 분석 대상이 음악 스트리밍 서비스이고, 특정 군집의 한 곡 반복 듣기 변수의 평균치가 월등히 높았다면 이 군집을 “매니아 팬”으로 이름 지울 수도 있을 것입니다.
— 퍼소나와 군집 연결하기 — 기존에 정성적 분석으로 수집된 퍼소나 특징을 보이는 군집을 찾아 이를 비교 분석합니다.
코딩을 하지 않아도 데이터 분석 과정에서 자주 사용 되는 지식들
알고리즘의 원리에 대한 깊은 이해를 제하더라도 우리는 분석을 위해 여전히 아래 질문에 대한 대답이 필요합니다.아래 내용들은 데이터 분석 과정을 설계하기 위해 학습이 필요한 키워드 정도로 생각 하시기를 바랍니다. 모르는 단어가 많다면 좌절하지 마시고 통계와 분석 기법 중 알아야 할 내용 몇 가지를 추려 정리했다고 여긴 뒤 대충 훑고 지나가시기를 바랍니다.
A. 우리가 가진 데이터로 가능한 분석인가?
Raw data
(Q) 이번 분석이 현재 우리가 보유한 데이터로 충분히 분석 가능할까?
→ (서버, 그로스) 우리 프로덕트의 데이터베이스, GA 구조, 그로스 지표에 대한 이해Pre-processing
(Q) 이번 분석이 현재 데이터 구조에서 전처리(Pre-processing)가 가능할까?
→ (통계) 표준화 (Standardization)에 대한 이해
→ (통계) 범주형 변수 & 연속형 변수에 대한 이해 (아직 데이터 분석이 낯설다면 이해하기 쉬운 연속형 변수 위주의 분석을 추천합니다.)Algorithm
(Q) 이번 분석이 내가 알고 있는 분석 기법으로 가능할까?
→ (통계) 통계량에 대한 이해
→ (통계) 정규화에 대한 이해
→ (시각화) 그래프 및 데이터시각화에 대한 이해
→ (분석기법) 회귀분석(Regression Analysis)
→ (분석기법) 상관분석(Correlation Analysis)
→ (분석기법) 분류(Classification)에 대한 이해 (분류 기법 중 이해하기 쉬운 Decision Tree를 추천합니다.)
→ (분석기법) 군집분석 (Clustering)에 대한 이해
B. 분석의 결과를 믿을 수 있을까?
Vanity Metrics
(Q) 우리가 다루는 지표가 정말 프로덕트의 개선과 관련이 있을까?
→ (그로스) 퍼널, 코호트 등 지표 체계와 비즈니스의 성장 단계에 대한 점검P-value & 신뢰구간 (Confidence Interval)
(Q) 이번 분석의 결과는 유의한가?
→ (통계) P-value에 대한 이해
→ P-value의 통계적 개념의 이해가 어렵다면, 약간의 모순은 있을 수 있지만 P-value가 0.05 이하일 때 실험결과가 우연에 의해 일어났을 확률이 낮다는 것을 의미한다는 것 정도로 알고 계셔도 됩니다. (다시 말해, 0.05 보다 높을 경우 결과를 신뢰하기 어렵다는 의미이기도 합니다.)
→ 0.05라는 기준 대신 조금 더 너그러운 0.10을 설정 하기도 합니다. 데이터의 양이 적거나 실험 횟수가 잦은 집단이라면 0.10을 기준으로 채택 하기도 합니다.Sampling
(Q) 애초에 편향된 데이터를 추출한 것은 아닐까?
→ (통계) 모집단, 표본집단
→ (통계) 층화추출 (Stratified sampling)
데이터 분석 툴(또는 프로그래밍)의 학습
데이터 분석은 간단한 사칙연산이나 엑셀을 통해서도 충분히 수행될 수 있습니다. 만일 개념에 대한 학습 이후 고도화된 분석 툴 (R, SPSS, python 등)의 사용을 학습 하더라도 어떤 인풋을 넣으면 어떤 아웃풋이 나오는지에 집중하여 학습 하시기를 바랍니다. (프로그래밍의 경우 parameter와 return에 집중해서 코드를 보는 연습을 하는 것으로 볼 수 있겠네요.) 더불어 현직자라면 툴을 학습하는 과정에서는 꼭 우리 프로덕트의 데이터로 실습을 해보는 것을 추천드립니다. 진짜 프로덕트의 데이터로 실습을 진행하면 학습 속도와 이해의 깊이가 배로 늘어날 수 있습니다. 만약 현직자가 아니라서 데이터 수급이 어렵다면 kaggle이나 온라인 강의에서 공유한 데이터셋, 분석 툴의 데모 계정을 활용 하시면 실습을 진행하는데 큰 어려움이 없으실 것입니다. 툴의 사용법만 몰입해서 익히는 것보다는 실제 데이터를 통한 실습을 여러번 수행하는 것이 실력을 올리는데 더 많은 도움이 될 것입니다. 분석 툴을 그저 도구일 뿐, 중요한 것은 어떤 분석을 할 지 결정할 수 있는 능력과 결과를 사용자 관점에서 해석하는 것이라는 것을 잊지 마시길 바랍니다.
정성적 분석은 불필요 할까요?
프로덕트의 현재 운영 시스템 내에서 사용성이나 전환율과 같은 특정 지표의 개선은 많은 경우 정량적 분석이 보다 효과적입니다. 하지만 로그 데이터는 사용자가 현재 프로덕트 환경에서 남긴 결과의 집합입니다. 그렇기 때문에 현재 프로덕트를 처음 기획하는 과정, 서비스 환경 밖의 비즈니스 모델 찾거나 숨은 Product-Market Fit을 찾는 과정은 정량적 분석과 정성적 분석의 멋진 시너지가 필요합니다. 기존 UX 기법(인터뷰, 퍼소나, 멘탈모델, 저니맵 등)에서 획득된 사용자에 대한 정성적인 이해는 현재 프로덕트 밖의 사용자의 니즈(또는 숨은 니즈)를 찾는 시간과 시행착오를 줄여 줍니다. 그리고 무엇보다 데이터 분석 과정에서 설명드린 것처럼 정성적 기법은 데이터 분석의 아웃풋을 사용자 관점에서 해석하는데 있어 UX 디자이너에게 많은 인사이트를 제공합니다. 정성적 분석으로 얻은 인사이트는 정량적 실험을 위한 토대가 되고, 정량적 실험의 결과는 다시 정성적 모델을 고도화 시키는 선순환을 기대 할 수 있습니다. (예를 들어 정량적 분석의 결과를 통해 정성적 분석 과정에서 인터뷰의 편향을 발견하거나, 퍼소나와 정량적 사용자 세그먼트를 매핑 할 수 있습니다.)
마치는 말
‘최소한의 데이터’라는 제목으로 출발 했지만, 이렇게 데이터 분석과정에서 자주 사용 되는 내용들만 나열해도 학습해야 할 내용들이 정말 많네요. 이 글은 “한달만에 데이터 분석 정복하기”와 같은 단기 정복에 대한 표제를 제안하는 글은 아닙니다. 안타깝게도 데이터 분석은 배워야 할 내용을 좁힌다고 해도 여전히 많고 쉽지 않습니다.
다만 이 글에서는 UX디자이너가 위와 같은 내용에 대해 학습하는 과정에서 통계와 분석 기법의 원리에 대한 이해에 에너지를 쏟는 것을 지양하고, 아웃풋이 갖는 통계적 해석과 사용자 관점의 해석을 학습하는 것에 집중하는 것을 제안하고자 합니다. 데이터 학습의 출발점은 분석 기법에 대한 학습 보다는 그로스(그로스 해킹)에 대한 학습을 우선하시는 것을 추천합니다.
그로스를 학습한 이후 위에서 제안한 통계 및 분석 기법 종류를 학습하는 과정에서도 다른 이해를 제쳐두고 ① 어떤 인풋을 넣으면 어떤 아웃풋이 나오는지, ② 아웃풋을 어떻게 해석하는지에 대해 집중해서 학습한다면 데이터 학습의 진입장벽을 상당부분 낮추실 수 있을 것입니다. (“이런 데이터를 넣으면 이런 결과를 얻을 수 있고 결과는 이렇게 해석하면 돼, 근데 그 원리는 모르겠어.” 일단은 이 정도면 충분합니다.) 부디 데이터를 처음 접하는 UX디자이너들이 자판기의 기계적 작동 원리를 모르는 상황으로 좌절하는 경우가 없기를 바랍니다.