Taxonomy 작성법과 데이터 로그 작성 사례
고객의 행동을 분석하기 위해 반드시 선행되어야 할 사전작업, 바로 데이터 로그 설계이다. Google Analytics (GA)도 결국 로그 데이터 기획을 통해 최종적으로 반영된 ‘산출물’이며, 최근 관심도가 높은 Mixpanel이나 Amplitude 같은 유료고객 행동분석 툴을 사용하기 위해서는 데이터 로그 설계 작업이 필요하다.
먼저 로그(Log)라는 말의 사전적인 정의를 한번 살펴보자. 로그라는 말의 정의는 명사로 ‘기록’이라는 뜻을 가지고 있다. 동사로는 ‘일지에 기록하다’라는 뜻도 가지고 잊다. 결국 로그는 고객이 남긴 발자취 혹은 기록의 결과물이며, 로그 데이터 설계는 고객이 남긴 발자취를 잘 쌓아서 쉽게 볼 수 있도록 하는 일련의 작업과정을 의미한다.
로그 설계라는 말은 데이터 택소노미라는 말로 대체되어 사용되기도 한다. 먼저 택소노미(Taxonomy)라는 말의 사전적 정의를 살펴보면 명사로 ‘분류체계’라는 뜻을 확인할 수 있다. 데이터 택소노미(Data-Taxonomy)는 고객의 행동 과정을 나름의 분류체계를 통해 정리해 둔 것을 의미한다. 보다 실무적으로는, 주로 고객이 발생한 행동(Event)과 그 행동에서 파생된 속성(Property)으로 분류하여 기록을 해두는 것을 말한다.
일상의 예시와 비교해 보면 보다 쉽게 이해할 수 있다. 우리가 백화점에서 신발 쇼핑을 하는 과정을 생각해 보면 아래와 같은 과정을 거치는데.
신발을 구매하는 과정에서 발생한 5가지의 행동이 각각 고객의 ‘로그’라고 볼 수 있으며, 이를 커머스 플랫폼으로 옮겨본다면 다음과 같은 로그가 발생한다고 이해해 볼 수 있다.
위 5가지 로그 기록을 이벤트(고객의 행동)와 속성(고객의 행동에서 파생된 속성)으로 정리해 보면 (택소노미 화하면) 아래와 같이 분류된다.
먼저 들어가기에 앞서 Taxonomy라는 단어는 Amplitude라는 데이터 로그 분석 툴에서 사용하는 관리체계의 명명 방법이다. 해당 용어는 Tracking plan 등으로도 사용되며, 결국 두 용어 모두 유저의 로그 데이터를 잘 관리하기 위한 관리체계의 한 종류라고 생각하면 된다.
로그 설계의 첫 번째 과정은 “마일스톤 기반으로 사고하기”이다. 서비스 마일스톤을 측정하고자 하는 최종 목표 데이터를 두고, 해당 목표를 달성하는 여러 가지 경로에 대해서 하나씩 정리를 해본다면 로그 설계의 절반은 달성한 셈이다.
예를 들어 A라는 회사의 비즈니스 마일스톤인 ‘구매’라는 행동을 측정하기 위해서, 먼저 유저가 구매를 하는 과정에서 거치는 다양한 경로에 대해 3단계로 구분 지어 나열해 보도록 하겠다.
위에 언급된 행동들은 유저가 ‘구매 완료’를 수행하기 위해서 반드시 거쳐야 할 퍼널(Funnel)들이다. 만약 유저가 구매를 하지 않았다면 구매를 하는 행동에 제약이 있거나, 중간 로그 혹은 시작 로그에 문제가 있을 수 있다. 따라서 위에 언급된 여러 행동들은 ‘구매’라는 최종 목표를 추적하기 위해 반드시 체크해야 할 사전 지표이고 꼭 수집해야 하는 데이터들이다.
우리가 꼭 측정해야 할 중요 목표 데이터를 먼저 생각해 보고, 이를 거쳐가는 경로들을 하나씩 가입하는 방식으로 로그설계를 진행하면 회사의 목표와 고객의 행동흐름을 쉽게 파악할 수 있다.
Taxonomy를 작성하는 데 있어서 가장 중요한 것은 아래의 3가지이다.
일관성 - 이벤트 이름 등을 정리할 때, 관리의 용이성과 더불어 누구나 쉽게 작성할 수 있도록 일관성을 가지고 작성하는 것이 좋다.
명확성 - 이벤트 이름만 보고도 어떤 이벤트인지 직관적으로 한 번에 파악할 수 있어야 한다.
구체성 - 가능한 자세히, 상세하게 해당 이벤트와 속성값 및 작동조건 등에 대해서 설명해 놓는 것이 좋다.
위의 3가지를 기준으로 전사 구성원이 열람할 수 있는 하나의 템플릿(스프레드 시트, 노션, 엑셀 등)을 정해서 체계적으로 관리하는 것이 좋다.
첫째. 이벤트 이름 내에서 Action의 행동을 명확하게 표현하기
서비스 내에서 크게 유저가 하는 행동은 Click, View, Swipe, Complete, Search, Scroll 등으로 구분이 된다. 이벤트 이름 가장 앞단에는 해당 행동을 명시하여 유저가 어떤 액션을 취했는지 한 번에 파악할 수 있도록 하는 것이 중요하다.
둘째. 이벤트 이름의 일관성을 위해 행동 이후 나름의 규칙을 만들어서 적용해 주기
예를 들어 어떤 회사의 핵심 비즈니스 목표가 “유저가 홈 화면에서 광고 배너를 클릭한다”라고 가정하고, 해당 로그를 어떻게 기록할지 세 가지 규칙을 토대로 작성해 본다. 위의 기준으로 살펴보면,
유저는 클릭(Click)이라는 행동을 수행했다.
유저는 해당 행동을 홈 화면 내에서 수행했다.
유저는 홈 화면에서 광고배너라는 대상을 클릭했다.
3가지를 고려하여 이벤트 이름을 ‘click_home_adbanner’로 작성할 수 있다.
셋째. 행동의 발생 조건을 구체적으로 명시하기
이벤트 이름을 작성했다면, 해당 이벤트가 어떤 조건에서 발생했는지에 대한 구체적인 부연설명이 필요하다. 이 작업은 어떤 이벤트인지 파악하는 점에서도 중요하지만, 이벤트로그를 실제로 반영하는 개발자분들과 커뮤니케이션할 때도 꼭 필요한 사항이다.
위와 같은 형태로, 유저가 서비스 내에서 수행한 여러 로그들에 대해 하나의 시트로 취합하여 정리를 해두는 것이 Taxonomy 템플릿 정리의 시작이다.
이제 데이터 로그에 대해서 어느 정도 이해했으니 실무에 적용하는 과정을 살펴보자. 아래는 우아한형제들 데이터 분석팀 전문가가 로그 데이터를 작성했던 사례이다.
클라이언트 로그를 설계하기 위해, 앱의 모든 화면과 이벤트(클릭, 배너 노출)를 상세히 파악하고, 시나리오와 서비스의 흐름을 이해하는 것부터 시작했다. 마치 실제 유저가 앱을 쓰듯이 모든 기능과 화면을 하나씩 파악하면서 로깅 항목을 정리했다. 이 과정에서 편리하거나 이상하다고 생각한 기능들이 있었는데, 이러한 부분은 향후 분석을 위한 방향과 프레임을 잡는데 유용한 정보가 되었다.
로그 설계/정의 업무가 마무리되고 엔지니어 및 개발자와 협업하면서 로그 수집을 진행했다. 데이터는 JSON 형태로 저장소에 차곡히 쌓이기 시작했고, 엔지니어의 도움으로 언제든 저장소에 접근해 데이터를 추출/분석할 수 있는 환경이 마련되었다. 실제 수집된 로그는 아래와 같다. 유저가 우리 서비스에 접속해 특정 화면을 보거나 액션을 할 때마다, 설계된 스키마대로 데이터가 쌓였고 샘플을 추출하여 데이터 탐색 준비를 마무리했다.
일반적으로 로그 데이터의 경우 단기간에 몇 십만, 몇 백만 건의 데이터가 순식간에 쌓이고 로그 정의 항목은 수 건에 달한다. 무작정 데이터 탐색 분석으로 뛰어들 경우 망망대해에서 길을 잃고 허우적거리를 경험을 할 것 같았다. 따라서 목적을 명확이 설정하고 적절한 질문을 사전에 작성하는 것이 효과적일 것으로 판단했고, 로그 설계 시 경험을 바탕으로 대략적인 프레임을 구축하여, 데이터 분석 및 인사이트 도출 과정에 유용한 나침반으로 활용했다. 분석 프레임 설정의 예시는 아래와 같다.
목적
앱 내 시나리오 및 기능을 개선할 수 있는 방안을 찾자(궁극적으로 사용성 및 UX 개선)
질문
구간별 Conversion Rate는 어떠한 기준으로 계산할 것인가, 세션 기준? DAU 기준으로?
Funnel 별 이탈률은 얼마나 될까? 주요 bottleneck 구간은 어디일까?
각 단계별 주요 행동 패턴은? 주로 활용되는 기능은? 세부적인 개선점은?
재구매율 혹은 재방문율은 어떠한가?
지표 계산 방식은? 평균 재구매 시간? 시간이 오래 걸릴수록 패널티 주는 방식은?
초기 주요 인사이트 및 시사점은?
분석의 한계점 및 논의/개선 필요사항은?
로그 데이터를 설계/수집하고 분석하는 일련의 과정은 이 업무의 절반에 해당한다고 생각한다. 나머지는 분석 결과를 유관자에게 전달하고, 설득을 통해 실제적인 변화와 성과를 이끌도록 지원하는 것이라고 생각한다. 이를 위해 분석 결과를 명확하고 간결하며, 이해하기 쉽게 전달하는 것은 매우 중요한 과정인 것 같다.
아무리 고수준의 방법론이라도, 결과를 공유받는 상대로부터 실제적인 변화를 이끌어내지 못한다면 큰 의미가 없다는 것을 깨달았다.
일반적으로 로그 데이터를 수집/처리/분석하기 위해 많은 담당자분들이 노력과 시간을 투입한다. 이러한 인적자원뿐만 아니라, 서버 및 분석도구 등 시스템적 비용 역시 발생하기 때문에 데이터 활용도를 높이는 것이 중요하다고 생각한다. 일차적으로 생각해 볼 수 있는 각 영역/부문별 데이터 활용 방안은 아래와 같다.
개발 영역
버그 혹은 크래시율 수집 및 상시 트래킹
이슈 발생 후 롤백 및 대응 등에 대한 의사결정 판단의 근거로 활용
특정 기능에 대한 사용성 진단
마케팅 영역
마케팅 채널별 ROI 진단 및 비용 최적화
배너/프로모션/이벤트 효과 측정
유저 Segmentation, Targeting
기획/디자인 영역
시나리오/기능/디자인에 대한 성과 측정 및 개선(A/B 테스트)
유저 Journey 경로 분석 및 이탈 구간 개선(UX/UI 최적화)
유저 Persona 구축(with 리서치) 및 신규 기능 Ideation
기타 영역
영업 및 CS 관련 대응
사업 및 투자 성과 진단
기업의 비즈니스 목표를 달성하기 위해 데이터 분석은 꼭 필요한 도구 중에 하나라고 생각한다. 데이터가 쌓인 지표만 확인하는 것이 아니라 그 과정도 자세히 알게 되면 유저의 행동 파악에 더 도움이 될 것 같아 데이터 로그에 대해서 알아보았다. 앞서 글에서도 말했지만 데이터의 수집과 분석은 일련의 과정 중 하나일 뿐, 핵심적인 과제는 이를 통해 비즈니스에 적용해 가시적인 성과를 만들어 내는 것이다. 첫 술에 배부를 수는 없으니 처음으로 추출한 데이터를 통해 그럴듯한 성과를 만들어내긴 어려울 것이다. 그러니 데이터를 꾸준히 수집하고 분석하며 그 안에서 문제를 발견하고 해결 방안을 찾는 것부터 차근차근 시작하는 게 좋을 것 같다.
출처:
https://brunch.co.kr/@learnushigh/50
https://brunch.co.kr/@learnushigh/57
https://techblog.woowahan.com/2536/