이터널 리턴 데이터 분석을 위한 대시보드 구축 및 관리 가이드
상태: 구축 완료
시각화: 신규 가입자 추이, 국가별 분포, 튜토리얼 스킵 현황, 단계별 완료 유저 수, PC방 비율, 언어별 분포
인사이트: 튜토리얼 스킵률 ~47%, 첫 게임 진입률 51.6%, D1 리텐션 16.8%
인덱스: battle-user-game-release-log
시각화:
활용: 패치 전후 밸런스 변화 추적, 핫픽스 필요 캐릭터 식별
인덱스: battle_latency_*, battle-user-game-release-log (avgLatency)
시각화:
활용: 서버 이슈 조기 감지, 지역별 인프라 개선 우선순위
인덱스: battle-user-game-release-log (creditSource, crGet*, crUse*)
시각화:
활용: 인게임 경제 밸런싱, 콘텐츠 가치 평가
인덱스: battle-user-game-release-log (beforeNormalTeamMmr, preMade)
시각화:
활용: 매칭 품질 모니터링, 랭크 시스템 개선
인덱스: battle-user-game-release-log (gameMode, gameModeSub)
시각화:
활용: 콘텐츠 인기도 파악, 이벤트 모드 효과 측정
인덱스: battle-user-game-release-log (hackAttemptLog, afk)
시각화:
활용: 치터 조기 탐지, 제재 우선순위 결정
이터널 리턴의 다양한 게임 데이터를 Kibana로 시각화하여 의사결정에 활용합니다. 이 가이드는 대시보드 구축 방법과 주요 인사이트를 문서화합니다.
유저가 계정을 생성할 때 기록되는 로그입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
userNum |
number | 유저 고유 번호 |
authProvider |
keyword | 인증 제공자 (Steam, Kakao 등) |
country |
keyword | 국가 코드 (KR, US, JP 등) |
language |
keyword | 클라이언트 언어 |
pcCafe |
boolean | PC방 여부 |
@timestamp |
date | 가입 시각 |
튜토리얼 진행 상태가 기록되는 로그입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
userNum |
number | 유저 고유 번호 |
code |
number | 튜토리얼 단계 (10001~10006) |
skip |
boolean | 스킵 여부 |
clearDtm |
date | 클리어 시각 |
rewardDtm |
date | 보상 수령 시각 |
10001 - 기본 조작10002 - 아이템 획득10003 - 전투 기초10004 - 스킬 사용10005 - 제작 시스템10006 - 최종 테스트대시보드는 4개의 시각화로 구성됩니다.
타입: Date Histogram (Line Chart)
인덱스: new-user-release-log
설정: X축 - @timestamp (3시간 간격), Y축 - Count
용도: 시간대별 가입 패턴 파악, 이벤트/마케팅 효과 측정
타입: Pie Chart
인덱스: new-user-release-log
설정: Split Slices by country.keyword, Top 5 by Count
용도: 주요 유입 국가 파악, 지역별 마케팅 전략 수립
타입: Bar Chart (Horizontal)
인덱스: tutorial-release-log
설정: Split by code, Sub-split by skip (true/false)
용도: 어느 단계에서 스킵이 많은지 파악
타입: Vertical Bar Chart
인덱스: tutorial-release-log
설정: Split by code, Metric - Unique Count of userNum
핵심: 단순 Count가 아닌 Unique Count로 중복 제거
한 유저가 여러 번 튜토리얼을 시도하면 Count는 부풀려집니다. 실제 완료 유저 수를 보려면 반드시 Unique Count of userNum을 사용하세요.
Stack Management → Index Patterns → Create index pattern
new-user-release-log와 tutorial-release-log 각각 생성
각 인덱스의 필드 구조와 샘플 데이터 확인
시간 범위가 적절한지 체크 (Last 7 days 권장)
Visualize → Create visualization
4개 시각화를 각각 생성하고 저장
Dashboard → Create dashboard
저장된 시각화들을 추가하고 레이아웃 배치
기본 시간 범위를 Last 7 days로 설정
대시보드 저장 시 "Store time with dashboard" 체크
country.keyword: "KR"
skip: true
code: 10001
pcCafe: true
자주 사용하는 필터 조합은 대시보드에 저장해두면 편리합니다. 국가별/플랫폼별 뷰를 쉽게 전환할 수 있어요.
Python 스크립트로 new-user-release-log와 battle-user-game-release-log를 조인 분석한 결과입니다. (최근 7일 기준)
| 신규 가입자 | 2,197명 |
| 게임 플레이 유저 | 1,134명 |
| 첫 게임 진입률 | 51.6% |
| 1시간 내 첫 게임 | 68.4% |
| 24시간 내 첫 게임 | 98.9% |
💡 게임 플레이 유저의 약 70%는 가입 후 1시간 이내에 첫 게임을 시작합니다.
| D1 리텐션 | 16.8% (186/1,105명) |
| D7 리텐션 | 측정 대기 중 |
💡 가입 다음 날에도 플레이하는 유저는 약 17%입니다.
| 1위 | 금요일 20:00 (76명) |
| 2위 | 목요일 15:00 (75명) |
| 3위 | 금요일 21:00 (73명) |
| 4위 | 금요일 23:00 (73명) |
| 5위 | 목요일 21:00 (72명) |
💡 금요일 저녁~밤 시간대가 신규 유저 유입 피크 타임입니다.
이 분석은 Python 스크립트로 수행되었습니다. Kibana Transform 권한이 있다면 자동화할 수 있습니다.
# calculate_onboarding_metrics.py
# Kibana bsearch API로 두 인덱스를 조인 분석
python3 calculate_onboarding_metrics.py
이 대시보드로 신규 유저 유입과 온보딩 품질을 실시간으로 모니터링할 수 있습니다. 특히 튜토리얼 스킵률 47%라는 인사이트는 온보딩 경험 개선의 중요한 시작점이 됩니다.
데이터 기반 의사결정의 첫 걸음! 🎮📊