시작하는 PM/PO들에게 알려주고 싶은, 프로덕트의 모든 것 , 섹션 6
데이터 축적을 위한 기본 개념 이해하기
데이터는 투자가 필요한 자원
- 의도를 가지고 시간과 노력을 들여서
- 축적할 데이터, 데이터의 형태, 데이터의 활용 방안등의 계획을 수립하고
- 수집 데이터를 바탕으로 어떻게 해석할지도 분명하게 정해서 수집해야함.
Event-Based Analytics
- 이벤트 기반의 데이터 분석
- 유저와 제품 사이에 일어나는 상호 작용
- Amplitude, Mixpanel등의 애널리스트 툴을 적극 활용하자.
Event Property
- 이벤트에 수반되는 상세 정보
- Property 대신 Parameter, Attribute라고 부르기도 함
- Event/ User 에 대한 Property가 존재
- 데이터 드릴다운에 필수적
- 개인적으로는 일반적으로 DB 설계할 때 방식과 매우 유사.
Client-side/Server-side Tracking
- 데이터 트래킹
- 이벤트 데이터를 트래킹하려면, 데이터를 전송해야 함.
Client-side
장점
- 클라이언트 사이드에서만 일어나는 유저 인터랙션 트래킹 가능
- 로그인 하지 않은 익명 유저의 데이터를 트래킹하기 쉬움
단점
- 광고 차단기로 인해 데이터가 유실될 수 있음.
- 수정 사항이 있을 때 신속한 수정이 어려움
- 서버 사이드에서만 일어나는 이벤트는 트레킹이 불가함
Client-side
장점
- 데이터가 유실되지 않음
- 수정 사항이 있을 때 우리 서버에서 반영하면 바로 수정됨
- 서버사이드에서만 일어나는 이벤트 트래킹 가능
단점
- 클라이언트 사이드에서만 일어나는 유저 인터렉션 트래킹 어려움
- 로그인하지않은 사용자의 데이터의 트래킹 어려움
Event Taxonomy 설계
Top-Down 접근
- 목적에서 시작
- 목적을 달성하기 위해 알아야할 것, 답을 찾아야할 질문을 정의한다.
- Event 및 Event Properties 정의하기
- activation 관점에서 시작함.
Bottom-Up 접근
- 우리 제품의 주요 이벤트는 무엇인지에서 시작하기
- 기존에 있는 데이터를 활용하는 것.
꼭 필요한 이벤트부터 트래킹하자
- 모든 이벤트를 다 하려면 시간 등의 비용이 많이 필요함.
- 처음엔 작게 시작하기
Naming Convention
- 이벤트는 대소문자를 구분하기에 주의!
- 프로퍼티도 대문자, 띄어쓰기, 동사의 현재/과거, 명사의 단/복수 등의 규칙을 정하는 것이 중요
- 중복해서 데이터가 수집되거나, 데이터가 안 맞는 문제가 발생할 수도 있을 거 같음.
- 명확하게 프로퍼티가 어떤 의미를 함축하고 있는지 알 수 있어야 혼란이 적음.
이벤트를 나누는 기준
- 너무 잘게 쪼개지 말기.
- 구분되는 서로 다른 행동인지, 본질적으로는 같은 행동인지 잘 판단해서 정하기
Event Taxonomy
꼭 포함되어야할 정보
- 네이밍 컨벤션
- 이벤트 정보 : 이벤트 성격, 이벤트 이름, 클라이언트/서버 사이드 이벤트, 이벤트 트리거, 관련된 이벤트 프로퍼티, 구현 단계
- 이벤트 프로퍼티 : 상품 고유 번호, 이벤트 프로퍼티 이름, 프로퍼티 사용 시점.
- 유저 프로퍼티 : 프로퍼티 성격, 프로퍼티 이름, 데이터 타입, 프로퍼티 업데이트 시점
사용툴 추천
사후 관리
- 제품이 새로운 기능을 만들거나, 기존 기능이 변경될 때 데이터 트래킹 또한 업데이트해줘야함.
- 신규 기능 개발시 데이터 트래킹이 빠지지 않도록 주의