Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

쏜SSON의 PM/PO 달리기

믹스패널은 어떻게 작동하나요?_Concept편 본문

기타/Mixpanel

믹스패널은 어떻게 작동하나요?_Concept편

쏘니쏜쏜 2024. 4. 6. 00:07
반응형

Concept

믹스패널 데이터는 프로젝트 내에 저장됩니다. 여러 프로젝트에 걸쳐서 데이터를 조회할 수 있는데요, 믹스패널은 분석에 사용할 수 있는 이벤트, 사용자 프로파일, 그룹 프로파일 및 lookup table과 같은 몇가지 다른 범주의 데이터를 지원합니다. 데이터웨어하우스의 관점에서 이벤트는 fact table을 구성하는 반면 사용자 프로파일, 그룹프로파일, lookup table은 dimension table입니다.

 

더보기

팩트테이블은 데이터웨어하우스 세계에서 트랜젝션처럼 사실이 기록된 것을 팩트테이블이라고 하며, 디멘젼테이블은 팩트테이블에서 참고되는 마스터 데이터 등을 의미한다.
* fact -> 지표 등을 산출하기 위한 집계 대상이 되는 측정값, 수치 등..
* demension -> 비즈니스 프로세스에서 발생하는 이벤트에 대한 설명

 

Type 디스크립션
Events 이벤트는 제품 내에서 발생하는 작업을 의미. 이벤트를 사용자 프로파일, 그룹 프로파일 및 룩업테이블과 결합해 사용할 수 있음
User Profiles 사용자 프로파일은 사용자에 대한 상태를 유지하는 키/값 저장소. 사용자 프로파일은 event.distinct_id = user_profile.distinct_id에 저장
Group Profiles 그룹 프로파일은 그룹 구성원에 대한 상태를 가져오는 것임. 선택한 그룹 키의 이벤트에 그룹 프로파일이 참여되는데, 예를들어 Company_id라는 키 값을 생성하면 event.company_id=group_profile.company_id에 이벤트가 생성됨
Lookup tables 룩업테이블은 엔티티에 대한 값을 유지하는 저장소인데, 선택한 키의 이벤트에 값을 저장하는 것임. 예를 들어 노래에 대한 룩업테이블을 만든다면 song_id로 조인키를 만들면 이벤트가 event.song_id=lookup_table.song_id에 조인됨

 

이벤트 속성 vs 유저 프로파일 속성

이벤트 속성은 이벤트에 대한 세부 정보임. 이벤트 속성은 가치 있는 분석을 보장하기 위해 중요함. 이벤트 기반의 데이터에 대한 통찰력을 제공하며, 한번 추적되면 변경할 수 없음.

유저 프로파일 속성은 특정 사용자에 대한 전체적인 세부정보를 제공함. 프로파일 속성은 사용자에 이름, 마지막 로그인 날짜, 사용자가 재생한 노래수와 같은 변경될 값이 많은 속성임.

 

예시

음악 스트리밍 제품을 작업하고 다음과 같은 질문이 생겼다고 합시다.

  • 이번주에 가장 인기 있는 노래와 아티스트는 무엇입니까?
  • 사용자별 주당 곡 재생 횟수는 어떻게 되나요?
  • A/B테스트를 통해 Free 계정에서 premium 계정으로 전환을 높이기 위해 더 나은 성능을 보인 실험은 무엇인가요?

사용자와 계정 모두의 정보를 분석해 Account_id의 그룹키를 만들고자 합니다. 또, 이벤트를 재생중인 노래에 대한 세부 정보로 Song 테이블을 만들어 song_id로 저장한다고 합니다.

그렇다면 데이터 모델은 다음과 같이 나옵니다.

Event를 해부해본다면..?

위 사진을 보면 john.doe@gmail.com 이 20년 9월 29일 화요일 오후 08시 42분 11초(GMT)에 IP 203.0.113.9에서 0wwPcA6wtMf6HUMpIrdeP7의 song_id를 재생했습니다.

 

{
  "event": "Played Song", 
 
  "properties": { 
    "token": "6972694d809c7390676a138834f8c890",
    "time": 1601412131000,
    "ip": "203.0.113.9",
    "$insert_id": "5d958f87-542d-4c10-9422-0ed75893dc81",
    "distinct_id": "john.doe@gmail.com",
    "app_version": "1.1.34.694.gac68a2b3",
    "song_id": "0wwPcA6wtMf6HUMpIRdeP7"
}

 

User profiles, Group Profiles & Lookup tables

3가지 모두 이벤트 데이터에 대한 엔터티를 추가로 보강하는 데이터입니다. 차이점은 조인키가 사용자 정의가 가능한지, 조인키에 이벤트가 복사되고 인덱싱이 되는지에 대한 여부입니다.

 

인프런에서 사용되고 있는 것을 예시로 보면,,,

view_roadmap_sdp라는 것은 event이며, 그 내부 속성에 유저 프로필, 룩업테이블 등을 볼 수 있다..

그 외에 자료들은 천천히 믹스패널 찾아보면서 더 알아보도록한다~

 

  • User profiles는 distinct_id를 통해 이벤트에 결합되며, 그룹프로파일은 그룹 키로 지정한 속성에 따라 이벤트가 결합되며, 룩업테이블은 사용자가 지정한 조인키를 통해 볼 수 있습니다.

 

반응형