무엇을 찾고 계신가요?
Hero background image

SQL 데이터 탐색기로 게임 데이터를 분석하는 방법

이 웹페이지는 이해를 돕기 위해 기계 번역으로 제공됩니다. 기계 번역으로 제공되는 콘텐츠에 대한 정확도나 신뢰도는 보장되지 않습니다. 번역된 콘텐츠의 정확도에 관해 의문이 있는 경우 웹페이지의 공식 영어 원문을 참고해 주시기 바랍니다.

데이터 살펴보기

UGS( Unity Gaming Services) 데이터 탐색기를 사용하면 지표나 이벤트에 따라 데이터를 필터링하고 사용하고 플랫폼, 국가, 버전별로 그룹화할 수 있습니다.

SQL(구조 질의 언어)에 대한 기본 지식으로 UGS 내의 SQL 데이터 탐색기를 사용하여 분석 수준을 높이고 데이터를 심층적으로 분석할 수 있습니다. 이 기능을 사용하면 쿼리를 빌드 및 실행하고, 결과를 다양한 유형의 시각화로 구성하고, 커스텀 대시보드에 시각화를 추가하고, 데이터를 익스포트하여 다른 분석 툴과 함께 사용할 수 있습니다. Unity Dashboard의 UGS 애널리틱스* 분석 패널에서 SQL 데이터 탐색기를 찾습니다.

Unity 애널리틱스* 분석 컨설턴트 중 한 명인 러셀 영은 SQL 데이터 탐색기 모험을 시작할 수 있는 팁과 아이디어를 제공합니다.

미션 시작하기

SQL Cookbook에서 UGS의 풍부한 데이터를 살펴보세요. UGS는 SQL의 Snowflake 맛을 사용합니다.

퀴즈북 쿼리 중 하나는 미션 통계를 살펴봅니다. 이 코드를 조정하여 가상의 게임에서 미션 실패율을 간단히 살펴보겠습니다. 이렇게 하면 생성한 커스텀 이벤트를 사용하여 missionID 파라미터를 사용하여 플레이어의 미션 참여 / 인게이지먼트 추적합니다.

기본 EVENTS 테이블 사용

기본 EVENTS 테이블 사용

이 쿼리는 기본 EVENTS 테이블을 사용합니다. 이 표에는 게임에서 녹화된 모든 이벤트에 대한 세분화된 데이터가 포함되어 있습니다.

효율성을 위한 쿼리 제한

효율성을 위한 쿼리 제한

여기에서는 쿼리를 제한하고 효율적으로 유지하기 위해 날짜 필터를 사용했습니다. 이 제한이 없으면 SQL Data Explorer에서 기본적으로 쿼리할 수 있는 전체 365일 동안 쿼리가 실행됩니다. 또한 SELECT*를 사용하는 대신 원하는 열을 지정하는 것이 더 효율적입니다.

EVENT_JSON:missionID::INTEGER과 같은 구문은 두려운 것처럼 보이지만 'missionID'를 입력하고 자동 완료를 사용하면 SQL Data Explorer가 JSON 구문을 생성합니다. 게임에서 해당 파라미터를 설정했다고 가정하면 됩니다.

결과 구성

결과 구성

쿼리를 실행한 후에는 결과를 구성하여 데이터에서 스토리를 확인할 수 있습니다. 차트는 현재 최대 2개의 Y축과 1개의 X축을 지원합니다. SQL 쿼리에서 ‘as’ 표현식을 사용하여 축 레이블의 이름을 쉽게 변경할 수 있습니다. 이 경우에는 Y축이 정의된 이름을 사용합니다. “플레이어 실패 비율(%)”입니다.

첫 번째 미션(missionID 0)에서 3명 이상의 플레이어가 실패한 것을 확인할 수 있으므로, 사용자에게 더 긍정적인 첫 번째 경험을 제공하기 위해 미션 난이도를 미세 조정할 수 있습니다.

팁: 데이터에 null 값이 있으면 축이 이상하게 보이게 만드는 경우 coalesce(yourParameter, 0)를 사용하여 공백을 채웁니다.

피벗 툴 사용하기

피벗 툴 사용하기

쿼리를 실행하면 결과의 표가 표시됩니다. 플랫폼 쿼리에 추가합니다. 위 이미지에서 테이블이 어떻게 보이는지 확인할 수 있습니다. 오른쪽의 ‘피벗’ 버튼을 확인해 보세요. 이 기능은 쿼리를 다시 작성하지 않고도 데이터를 재구성하는 데 유용합니다.

데이터 미세 조정

데이터 미세 조정

이 예시에서는 피벗 툴을 사용하여 데이터를 미세 조정하여 행에 플랫폼 열에 MISSIONID를 추가할 수 있습니다.

결과 보기

결과 보기

테이블을 미세 조정하면 플랫폼별로 미션 실패 횟수가 거의 달라지지 않았습니다.

쿼리 속도 향상

게임이 점점 더 성공적이고 플레이어 기반이 커짐에 따라 간단한 쿼리도 실행하는 데 상당한 시간이 걸릴 수 있습니다.

데이터에 대해 다음과 같은 기본 쿼리를 실행하려 한다고 가정해 보겠습니다.

데이터 샘플링

상당히 빠르게 실행될 수 있지만, 대규모 데이터 세트에서는 그렇지 않습니다. 유저. '광고 지면'의 타겟 고객_ids가 해시로 저장되어 포함된 사용자 수를 줄이는 빠른 방법으로 쿼리 속도를 높일 수 있습니다.

여기서는 사용자를 100개의 유사한 무작위 지정 및 번호 지정 버킷으로 나누고 버킷 번호를 63로 살펴봅니다.

이 코드를 간단한 쿼리에 추가하면 큰 차이가 없지만, 계산 복잡도가 증가함에 따라 이러한 방식으로 데이터를 필터링하는 것이 점점 더 중요해지고 있습니다. 가상의 게임에서도 이 수정된 버전의 쿼리가 원본보다 75% 빠르게 실행되었습니다. 이를 통해 전체 데이터 세트를 처리하지 않고도 사용자의 샘플 하위 세트에 대한 인사이트를 얻을 수 있는 시간과 비용을 절약할 수 있습니다.

approximate_count_distinct 사용

위의 쿼리에서는 count(distinct...)을 사용하여 개별 플레이어 수와 이벤트 조합을 계산하다. 결과가 100% 정확하지 않아도 쿼리 속도를 높이는 한 가지 방법은 approximate_count_distinct를 사용하는 것입니다. 이전 쿼리는 다음과 같습니다.

용어집 패널 열기

용어집 패널 열기

지금까지 메인 이벤트 테이블만 사용했습니다. 이 표에는 게임에서 발생한 모든 이벤트에 대한 세분화된 데이터가 담겨 있으므로 가장 광범위한 표입니다. 쿼리를 개선하기 위해 작은 오브젝트를 사용하여 더 효율적으로 쿼리를 실행할 수 있습니다.

용어집 패널에서 쿼리할 수 있는 표를 살펴보겠습니다.

UGS 집계 테이블

여기에는 이벤트와 함께 쿼리할 수 있는 모든 종합 테이블이 있습니다. UGS 모두 즉시 사용할 수 있습니다.

  • USERS 테이블에는 이벤트 수, 총 플레이 시간, 총 소비 등 플레이어의 수명 지표와 함께 하나의 행이 있습니다.
  • FACT_USER_SESSIONS_DAY에는 각 플레이어의 세션에 대한 데이터가 포함되어 있습니다.
  • FACT_EVENT_TYPE_USERS_DAY는 플레이어가 매일 전송한 이벤트의 행과 총 개수로 구성됩니다.
  • FACT_WAU_USERS와 FACT_MAU_USERS는 특정 날짜에 지난 주 또는 달에 플레이한 사용자의 프로필 데이터를 포함합니다.

FACT_EVENT_TYPE_USERS_DAY와 FACT_USER_SESSIONS_DAY 사이에서 작은 객체에 대한 대부분의 쿼리의 80% 이상을 답변할 수 있습니다.

FACT_EVENT_TYPE_USERS_DAY 사용하기

예를 들어 첫 번째 쿼리에서는 미션 실패율을 살펴봤습니다. 또한 FACT_EVENT_TYPE_USERS_DAY를 사용하여 매일 전체 실패율을 계산하다 수 있었으며 NUMBER_OF_EVENTS 수는 이 표에 저장되었습니다.

다음 쿼리에도 다음 표 중 하나를 사용하겠습니다.

특정 기준에 따른 플레이어 식별

특정 기준에 따른 플레이어 식별

이 쿼리를 사용하여 특정 기준을 충족하는 플레이어의 이벤트 스트림을 확인할 수 있습니다. 이 기능은 QA 및 디버깅에 유용합니다. 위에서 언급한 유저. '광고 지면'의 타겟 고객 표를 사용하면 실행할 때마다 다른 사용자를 얻을 수 있기 때문입니다.

예를 들어 특정 버전의 게임을 설치한 플레이어의 이벤트가 올바르게 녹화되지 않는다고 의심하는 경우 아래에서 쿼리를 실행할 수 있습니다. 게임 버전을 실행하는 무작위 플레이어가 문제가 있는 것처럼 보이는 이벤트 스트림을 반영합니다. 이 작업을 몇 번 반복하면 데이터에서 패턴을 빠르게 발견할 수 있습니다.

팁: 여러 줄에 주석을 달고 싶다면 키보드 단축키 CTRL+/를 사용하세요.

새롭게 정의된 변수 사용

Snowflake 이외의 언어로 SQL 쿼리를 작성하는 데 사용될 수 있습니다. 예를 들어 이전 Deltadna Data Mining 툴을 사용했다면 Vertica로 쿼리를 작성했을 것입니다.

이제 새로 정의된 변수를 먼저 CTE(공통 표 표현식)에 포함할 필요 없이 참조할 수 있습니다. 예를 들어 이 쿼리는 SQL Data Explorer에서 성공적으로 실행되지만 원래 Deltadna ‘열 ‘리스’가 존재하지 않는’ 오류가 발생했습니다.

데이터 활용 극대화

SQL Explorer에는 많은 잠재력이 있습니다. UGS 애널리틱스* 분석에서는 파이와 스태킹된 바 차트와 같은 다양한 차트 옵션을 포함하여 더 많은 정보를 확인할 수 있습니다. Direct Access를 사용하면 Snowflake를 통해 애널리틱스* 분석 데이터에 직접 액세스할 수 있습니다.

인사이트를 빠르게 추적하고 쿼리 및 대시보드 구축 지원을 받으려면 당사에 문의하세요.

다음 읽기