분석
토스 | SLASH 24 - DW 테이블 구축 사례를 통해 본 ThinkingEngine 활용법

토스 사례를 통해 데이터 설계의 복잡성과 유지보수 문제를 설명하며, ThinkingEngine이 이를 효율적이고 유연하게 해결하는 방법을 제시합니다.

December 31, 2024
데이터 분석은 제품 운영과 의사결정의 핵심입니다. 하지만 데이터 모델링부터 추출까지의 과정은 쉽지 않죠.
특히, 활성 사용자 데이터를 분석하려면 복잡한 데이터웨어하우스(D/W) 설계와 반복적인 쿼리 작성이 필수입니다.
토스의 전천후 데이터 분석을 위한 DW 설계 및 운영하기 사례를 통해 이 복잡성을 이해하고, 프로덕트 분석 툴인 ThinkingEngine이 이런 문제를 어떻게 해결할 수 있는지 살펴보겠습니다.

토스 사례: 데이터 설계의 주요 고민

토스는 활성 사용자 데이터를 관리하기 위해 기존 D/W 설계에서 다음과 같은 문제를 겪었습니다.

1. 사용자 데이터를 분류하는 복잡한 로직

  • 활성 사용자(Active Users)를 신규, 복귀, 이탈 등으로 세분화해야 했습니다.
  • 복귀와 이탈의 기준일(Threshold Days)을 동적으로 변경할 수 있어야 했습니다.

2. 사용자 행동 데이터를 심층 분석하는 데 제약

  • 단순 방문 데이터 외에도, 앱 내 주요 행동(예: 주식 매매, 커뮤니티 글 작성)을 기준으로 분석해야 했습니다
  • 행동별 특수 지표(예: 매매 금액, 게시글 수)를 계산하려면 복잡한 쿼리가 필요했습니다.

3. 확장성과 데이터 활용성 부족

  • 데이터 사용자들이 테이블 구조를 이해하기 어렵고, 새로운 지표를 추가할 때마다 설계 복잡성이 증가했습니다.
  • 복잡한 SQL 작성 없이 데이터 분석이 가능한 환경이 필요했습니다.

토스의 해결책: AU Pipeline 2.0

토스는 AU Pipeline 2.0 설계를 통해 이 문제를 해결했습니다.

  • 사용자 친화적인 네이밍 컨벤션 도입
  • 행동별 특수 지표 반영
  • 복귀 및 이탈 사용자 집계 자동화

예를 들어, 복귀 기준일(Threshold Days)을 쉽게 변경할 수 있도록 retain_periodchurn_period를 포함한 테이블 구조를 설계했습니다.

이는 데이터 분석 팀이 코호트를 동적으로 분류하고, 자유롭게 신규/이탈/복귀 기준을 세울 수 있도록 돕습니다.

ThinkingEngine은 이 과정을 어떻게 단순화할 수 있을까?

ThinkingEngine은 복잡한 데이터 설계 과정을 대폭 단순화하며, 다음과 같은 방법으로 효율성을 제공합니다.

1. 기본 데이터 구조로 복잡성을 줄이기: 이벤트 테이블 & 유저 테이블

ThinkingEngine은 이벤트 테이블유저 테이블이라는 두 가지 주요 데이터 구조를 제공합니다.

이벤트 테이블: 사용자의 행동 데이터를 시간 순으로 기록합니다.

각 이벤트는 타임스탬프, 이벤트 이름, 속성(예: 매매 금액, 카테고리 등)을 포함합니다.

유저 테이블 : 사용자의 정보 및 정적인 행동 속성을 저장합니다.

이 기본 구조 덕분에 복잡한 테이블 설계 없이도 데이터를 손쉽게 이해하고 활용할 수 있습니다.

2. 복귀 및 이탈 사용자 분류 자동화

ThinkingEngine은 토스가 겪었던 복귀 및 이탈 사용자 분류 문제를 손쉽게 해결할 수 있습니다.

  • 조건 태그 기능을 활용해 활성 유저, 복귀 유저, 이탈 유저를 손쉽게 정의할 수 있습니다.
  • 복잡한 SQL이나 데이터 모델링 없이, 직관적인 설정만으로 분석 기준을 명확히 설정할 수 있습니다.
  • 이렇게 만들어진 태그에 데이터는 시각화, SQL 쿼리 자동생성, 데이터 다운로드가 가능합니다. 또한 자동 업데이트를 통해 매일 저장 가능합니다.

3. 이벤트 데이터를 활용한 행동 분석

ThinkingEngine은 이벤트 데이터를 통해 사용자 행동을 심층 분석할 수 있도록 돕습니다.

1. 2024년 1월 동안 주식 매매 월간 사용자 수 및 거래금액

토스 :

ThinkingEngine :

2. 2024년 1월 동안 “30일 이상 이탈했다가 돌아온” 복귀 주식 매매 일간 사용자 수 (retain_period 활용)

토스 :

ThinkingEngine :

3. 2024년 1월 동안 일간 신규 주식 매매 사용자 수 (seq 활용)

토스 :

ThinkingEngine :

4. Main Funnel (증권 앱 방문 → 종목 상세 페이지 방문 → 매매)

토스 :

ThinkingEngine :

또한 모든 시각화에 대한 SQL 쿼리와 API 코드 그리고 데이터를 쉽게 추출할 수 있습니다.

4. 대시보드로 데이터 활용성 강화

ThinkingEngine은 데이터를 시각화하고 실시간으로 추적할 수 있는 대시보드를 제공합니다.

활성 사용자 트렌드

  • DAU, WAU, MAU를 일목요연하게 시각화.

퍼널 분석

  • 예 : 회원 가입부터 스테이지 10까지의 퍼널

커스텀 메트릭 정의

  • 매출, 이벤트 전환율 등 필요 지표를 설정하고, 대시보드에서 실시간으로 확인.

정리

장점과 단점으로 볼때 (제 개인적인 생각)

장점

맞춤형 분석 가능

  • 특정 지표(예: 활성화, 이탈, 복귀 등)를 테이블 단위로 설계해 요구사항에 최적화된 데이터 제공.
  • 각 테이블이 특정 비즈니스 요구를 충족시키도록 설계되므로 분석의 명확성과 정밀성이 향상.

데이터 접근 속도 향상

  • 특정 목적에 맞게 사전 집계된 데이터를 활용해 쿼리 처리 속도를 대폭 향상.
  • 대규모 사용자가 데이터 요청 시에도 성능 저하를 방지.

데이터 품질 보장

  • 각 테이블은 명확한 규칙과 정의를 기반으로 설계되므로, 데이터 품질과 일관성 유지.
  • 반복적인 쿼리 작성으로 인한 오류를 방지.

복잡한 비즈니스 로직 처리 가능

  • 세부적으로 설계된 테이블 구조 덕분에 복잡한 비즈니스 로직을 효율적으로 구현 가능.
  • 예: 특정 Act Type별 매출/활동 분석, 이탈/복귀 기준 세분화.

대규모 데이터 환경에서 유리

  • 데이터 볼륨이 클수록 사전 집계와 분산 처리된 테이블이 데이터 시스템의 안정성과 성능을 보장.
  • 예: 하루 수백만 건의 사용자 로그 데이터를 처리해야 하는 대기업.

단점

테이블 관리 복잡성

  • 테이블 수가 증가하면서 관리해야 할 데이터 구조가 비대화.
  • 테이블 추가/변경이 잦아지면 데이터 팀의 유지보수 부담이 급격히 증가

확장성 제한

  • 새로운 지표나 요구사항이 등장할 때마다 테이블을 추가하거나 설계를 변경해야 함.
  • 비즈니스가 빠르게 변화할 경우 기존 구조가 유연하게 대응하지 못할 가능성.

기술적 부채 발생

  • 시간이 지남에 따라 시스템이 점점 복잡해지고, 전체적인 리팩토링 필요성이 증가.
  • 기술적 부채가 쌓이면서 성능 저하와 운영 비용 증가로 이어질 수 있음.

실시간 데이터 활용의 어려움

  • 실시간 데이터를 필요로 하는 비즈니스 요구(예: 실시간 캠페인)에 적합하지 않음.

ThinkingEngine이 제공하는 핵심 가치

ThinkingEngine은 복잡한 데이터 설계의 필요성을 줄이고, 데이터 분석의 효율성을 극대화합니다.

데이터 활용의 용이성
  • 직관적인 UI와 자동화된 분석 기능으로 SQL 없이도 분석이 가능합니다.

설계 복잡성 감소
  • 초기 설계와 데이터 연동 시간을 대폭 줄입니다.

확장성과 유연성
  • 새로운 이벤트나 지표를 추가해도 시스템에 부담을 주지 않습니다.

결론: 더 나은 데이터 분석 환경을 위해

토스의 사례는 복잡한 데이터 설계가 필요하다는 점을 보여줍니다.

하지만 ThinkingEngine과 같은 프로덕트 분석 툴을 사용하면, 이 모든 과정을 단순화하고 더 빠르게 실행할 수 있습니다.

ThinkingEngine을 통해 데이터 설계 고민에서 벗어나, 핵심 인사이트에 집중하세요!

왜 ‘리텐션 분석 A to Z 플레이북’ 인가?

게임 기획자와 데이터 분석가라면 필수로 알아야 할 리텐션 분석의 핵심과, 이를 바탕으로 제품 개선 및 유저 유지율을 높일 수 있는 실전 전략까지 모두 담았습니다.

만약 게임의 리텐션이 고민이라면, 지금 바로 이 플레이북을 통해 게임 유저들의 마음을 사로잡는 방법을 알아보세요. 비즈니스 로직 기반의 리텐션 분석 전략을 확인하고, 당신의 게임을 한 단계 성장시킬 기회를 잡으세요!


[플레이북의 주요 내용]

프롤로그
• 리텐션 데이터의 중요성 이해
• 게임의 순위에 따른 평균 리텐션율

1. 실전에서의 데이터 분석 사례
• 분석 주제 명확히 세우기
• 합리적인 가정 제시하기
• 데이터로 가설 세우기

2. 비즈니스 로직 기반의 리텐션 분석
• 플레이어 행동 지표와 목표 파악
• 게임 진행 단계별 플레이어 목표 분석
• 분석 방법
• 신규 운영 전략의 아이디어 발굴 및 실행

3. 데이터 계산시 주의사항
• 유저의 식별 기준과 식별 규칙
• 초기 이벤트와 복귀 이벤트의 정의
• 유저의 시간대와 잔존 기간의 처리

4. 결론