Orange bullet points
데이터 엔지니어링 용어집
5.30.2025

플레이어 행동 분석: Databricks와 TROCCO를 활용한 게임 데이터 분석 사례

Background blur
Left arrow orange
모든 블로그 보기

서론

오늘날 경쟁이 치열한 게임 시장에서, 유저들이 게임과 어떻게 상호작용하는지를 이해하는 것은 매우 중요합니다. 유저 유지율부터 수익화 전략까지, 플레이어 행동을 분석하면 제품 방향성과 비즈니스 성과를 개선하는 데 도움이 되는 인사이트를 얻을 수 있습니다.

하지만 게임 데이터를 수집하고 분석 가능한 형태로 정리하는 데에는 여러 가지 어려움이 있습니다. 플레이어 데이터는 보통 MySQL, MongoDB 같은 데이터베이스나 Firebase, Unity와 같은 SDK 등 다양한 시스템에 분산되어 있으며, 구조가 일정하지 않고 대량으로 발생하는 경우가 많습니다.

이번 블로그에서는 Databricks와 TROCCO와 같은 현대적인 데이터 플랫폼과 데이터 통합 도구를 사용해, 게임 분석을 위한 엔드 투 엔드 워크플로우를 어떻게 구축할 수 있는지 소개합니다.

플레이어 행동 분석이란?

플레이어 행동 분석은 유저가 게임에 어떻게 참여하고 있는지를 추적하고 해석하는 작업입니다. 주요 분석 영역은 다음과 같습니다:

  • 이탈(Churn) 분석
  • 유저 유지율 분석
  • 핵심 유저 분석 (가장 활발한 유저)
  • 인게임 구매 행동 분석
  • 지역 및 디바이스 기반 세분화

이 분석이 왜 중요한가요?

게임 데이터의 주요 수집처는 다음과 같습니다:

  • 관계형 데이터베이스 (MySQL, PostgreSQL): 유저 프로필 및 거래 정보
  • NoSQL 데이터베이스 (MongoDB): 원시 게임 플레이 이벤트 로그
  • 게임 SDK 및 백엔드 도구 (Unity, Firebase): 실시간 텔레메트리 수집

예시 파이프라인

게임 데이터를 효과적으로 다루기 위한 한 가지 방법은, 먼저 데이터를 Databricks와 같은 클라우드 데이터 플랫폼에 적재하는 것입니다. Databricks는 Riot, Krafton 등 성공적인 게임사들이 사용하는 플랫폼입니다.

이번 예시에서는 단순화를 위해 MySQL에 저장된 더미 데이터를 소스로 사용합니다. 전체 프로세스는 다음과 같습니다:

  1. MySQL에서 원시 데이터를 추출하고, TROCCO를 통해 Databricks Delta Lake에 적재
  2. Databricks의 노트북에서 SQL을 사용해 데이터를 정제 및 가공
  3. Databricks에서 대시보드 시각화 생성

TROCCO의 워크플로우 기능을 사용해 전체 파이프라인 자동화 및 스케줄링

Step 1: 데이터 추출 및 적재

첫 번째 단계는 MySQL에 있는 테이블을 Databricks로 복제하는 것입니다.
이를 구현하는 방법은 여러 가지가 있지만, 이번 예시에서는 사용 편의성과 안정성을 위해 클라우드 ETL 도구인 TROCCO를 사용합니다.

TROCCO에서는 Managed ETL 기능을 사용하여, 하나의 설정으로 여러 테이블을 동시에 추출할 수 있습니다.

적절한 자격 증명을 선택하고, 데이터를 어디서 추출하고 어디로 적재할지에 대한 기본 정보를 입력한 후에는, 복제할 테이블을 선택하는 단계로 넘어갑니다.

이번 예시에서는 다음의 4개 테이블을 추출합니다:

  • events (이벤트 기록)
  • players (플레이어 정보)
  • purchases (구매 내역)
  • sessions (세션 기록)


구성이 완료되면, 이를 TROCCO의 워크플로우 기능에 추가할 수 있습니다.

워크플로우를 실행하면, 각 테이블이 병렬로 Databricks Delta Lake에 추출 및 적재됩니다.

아래와 같이 Unity Catalog에서 테이블이 정상적으로 적재되었는지 확인할 수 있습니다.

이제 각 유즈케이스에 맞게 데이터를 변환하고 집계할 준비가 되었습니다.


Step 2: 데이터 변환 및 분석 준

현재 데이터는 아직 가공되지 않은 상태이며, 이는 메달리온 아키텍처에서 브론즈 계층(Bronze Layer)이라고도 불립니다.
다음 단계에서는 데이터를 정제(Cleaning)하고, 변환(Transforming)하며, 결합(Combining)하여 보다 분석에 적합한 형태(실버 또는 골드 계층, Silver/Gold Layer)로 만드는 작업을 진행합니다.

Databricks에서는 이 작업을 수행할 수 있는 다양한 방법이 존재하지만, 이번 예시에서는 Databricks Notebooks를 사용하여 SQL 쿼리를 실행하는 방식으로 진행하겠습니다.

좌측 메뉴에서 Workspace → Create → Notebook을 선택하세요.

Databricks 노트북은 Python, SQL, Scala, R 등 다양한 언어로 코드를 작성하고 실행할 수 있는 인터랙티브하고 협업 가능한 환경을 제공합니다.
코드, 시각화, 설명 문서를 하나의 공간에 통합할 수 있어, 데이터 워크플로우를 개발, 테스트, 디버깅하는 데 매우 유용합니다.

우리의 노트북에서는 각각의 SQL 쿼리를 분리하여 작성하고 실행함으로써, 분석에 사용할 최종 테이블(데이터 모델)을 생성할 수 있습니다. 이 테이블들은 이후 시각화 대시보드 구축에 활용됩니다.


노트북을 실행한 후, Unity Catalog에서 새롭게 생성된 테이블들을 확인할 수 있습니다.


Step 3: Databricks에서 대시보드 구축하기

데이터 모델이 준비되었으니, 이제는 그 데이터를 인사이트로 전환하는 단계입니다.
이를 위해 인터랙티브 대시보드를 구축하게 되며, 이를 통해 유저 행동에 대한 다양한 지표를 시각적으로 분석할 수 있습니다.

많은 기업들은 전통적으로 Tableau나 Power BI 같은 전문 BI 도구를 사용해 왔지만, 최근 Databricks는 자체 AI/BI 대시보드 솔루션을 출시하여, 플랫폼 내에서 바로 시각화를 구축할 수 있는 강력하면서도 편리한 선택지를 제공하고 있습니다.

시각화를 시작하려면, 좌측 메뉴에서 Dashboards를 클릭하고, Create Dashboard를 선택하면 됩니다.


대시보드에 사용할 데이터를 선택한 후, 자연어를 SQL로 변환해주는 내장 어시스턴트 기능을 활용하면, 시각화를 손쉽게 생성할 수 있습니다.


대시보드 구성이 완료되면, 우측 상단의 ‘Publish’ 버튼을 클릭하여 공개하거나 외부에 임베드(embed)할 수 있습니다.


Step 4: 데이터 파이프라인 오케스트레이션

지금까지는 각 단계가 일회성 실행으로 이루어졌습니다. 하지만 실제 운영 환경에서는 대시보드가 최신 데이터를 반영하도록 유지되어야 합니다.
이를 위해 전체 과정을 오케스트레이션하는 작업이 필요합니다.

앞서 살펴본 단계들처럼, 이를 실현하는 방법은 다양하지만, Databricks와 TROCCO 모두 정기적인 데이터 파이프라인을 손쉽게 설정할 수 있는 기능을 제공합니다. 이를 통해 최종 사용자는 항상 최신 정보를 확인할 수 있습니다.

Workflow 기능을 사용하면, 노트북을 실행하고 대시보드를 새로 고치는 일련의 과정을 오케스트레이션할 수 있습니다.


우리는 또한 TROCCO에서 실행되는 ETL 작업을 Databricks와 통합할 수 있는 방법이 필요합니다.
이를 위해 두 가지 방법이 있습니다:

  1. Databricks Workflow에 Python 스크립트를 추가하여 TROCCO API를 사용해 ETL 작업을 실행하는 방법
    이 경우, 노트북을 실행하는 작업 이전에 Python 스크립트를 실행하도록 설정해야 합니다.
    다만 이 방법을 사용할 경우, Python 스크립트 내에서 ETL 작업이 완료될 때까지 기다린 후 다음 작업(노트북 실행)으로 넘어가도록 명시해야 합니다.

  2. TROCCO의 Workflow 기능에서 HTTP 트리거를 설정해 Databricks Workflow를 실행하는 방법
    이 방식은 Python 스크립트를 작성할 필요가 없기 때문에 상대적으로 간단한 방법입니다.

TROCCO로 돌아가서, 워크플로 편집 페이지의 좌측 패널에서 HTTP 트리거 추가를 통해 설정할 수 있습니다.


이 경우에 사용해야 하는 API는 "새 작업 실행 트리거(Trigger a new job run)"입니다.


필요한 URL과 파라미터를 입력한 후, 원하는 주기로 실행되도록 TROCCO 워크플로에 스케줄을 추가합니다.

마무리

이제 TROCCO와 Databricks를 활용하여 플레이어 행동 분석을 위한 엔드 투 엔드 데이터 파이프라인을 구축했습니다.

이번 블로그에서는 리텐션, 이탈, 수익화와 같은 기초적인 분석에 중점을 두었지만, 이 데이터를 기반으로 할 수 있는 고급 활용 방법도 다양합니다.
예를 들어, 게임 스튜디오는 이 데이터를 활용해 개인화 추천을 위한 머신러닝 모델을 학습시키거나, 플레이어 세그먼트에 따라 게임 내 콘텐츠를 동적으로 조정하거나, 푸시 알림이나 보상 지급과 같은 실시간 참여 워크플로를 트리거할 수 있습니다.

TROCCO와 Databricks는 모두 무료 체험을 제공하고 있으니, 직접 구축해보고 싶으신 분은 아래 링크를 참고해보세요.

읽어주셔서 감사합니다!

TROCCO는  파트너들에게서 신뢰받고 있습니다.