tech

여러 번의 연산으로 필요한 지표 만들기

Hive 애널리틱스 차트에서는 이벤트와 속성에 1차 연산을 적용해 측정값을 만들고, 2차 연산으로 일정 간격별 결과의 최대·최소·평균·최신 값을 다시 계산할 수 있다. 이를 활용하면 월간 일평균 AU나 오늘의 최대 동시 접속자 수처럼 한 번의 집계로 얻기 어려운 지표를 차트로 구성할 수 있다.

한 번의 집계만으로 확인하기 어려운 게임 지표

게임에서는 접속, 구매, 콘텐츠 플레이 등 다양한 이벤트가 계속 발생한다. 선택한 이벤트의 발생 횟수를 세거나 속성값의 고유 개수, 합계, 평균 등을 계산하는 과정을 적용하면 구매 건수, 접속 이용자 수, 총매출액처럼 이벤트와 속성에서 바로 계산할 수 있는 기본 지표를 확인할 수 있다.

하지만 모든 분석 질문에 한 번의 집계 방식만 적용할 수 있는 것은 아니다. 예를 들어 동시 접속자 수는 시간에 따라 계속 달라지므로, 하나의 수치만으로 하루의 접속 흐름을 파악하기 어렵다. 먼저 2분마다 접속한 이용자를 COUNT DISTINCT로 계산하면, 각 2분 구간의 동시 접속자 수를 확인할 수 있다. 하루 중 가장 높은 동시 접속자 수를 구하려면 2분 단위로 계산된 결과에 MAX를 적용해, 해당 날짜의 최대 동시 접속자 수로 정리할 수 있다. 이처럼 분석하려는 지표에 따라 이벤트와 속성, 계산할 시간 간격과 연산 단계까지 함께 설정할 필요가 있다.

Hive 애널리틱스의 차트 연산과 2차 연산

Hive 애널리틱스의 차트에서는 이벤트와 속성, 연산 방식을 선택해 분석에 필요한 측정값을 구성할 수 있다. 1차 연산 방식은 선택한 이벤트나 속성값을 어떤 기준으로 계산할지 결정한다.

1차 연산 방식

1차 연산 방식 적용 속성 유형 의미
COUNT 문자형·숫자형 이벤트가 발생한 전체 횟수를 계산한다.
COUNT DISTINCT 문자형·숫자형 중복을 제외한 고유한 속성값의 개수를 계산한다.
SUM 숫자형 속성값을 모두 더한 합계를 계산한다.
AVG 숫자형 속성값의 평균을 계산한다.
MIN 숫자형 속성값 중 가장 작은 값을 가져온다.
MAX 숫자형 속성값 중 가장 큰 값을 가져온다.
MAX BY 숫자형 가장 최근 또는 마지막 상태값을 가져온다.

여기에 2차 연산을 적용하면 일정한 시간 간격으로 계산한 1차 연산 결과를 다시 계산해 일간·주간·월간 등의 기간 단위로 확인할 수 있다. 1차 연산을 수행할 시간 단위와 간격을 설정한 뒤 분석 목적에 따라 2차 연산 방식을 선택한다.

2차 연산 방식

2차 연산 방식 의미
MAX 간격별 1차 연산 결과 중 가장 큰 값을 가져온다.
MIN 간격별 1차 연산 결과 중 가장 작은 값을 가져온다.
AVG 간격별 1차 연산 결과의 평균을 구한다.
LAST 간격별 1차 연산 결과 중 가장 최신 값을 가져온다.

2차 연산에서 설정하는 시간 단위와 간격은 1차 연산을 수행할 기준을 의미한다. 설정 탭의 기간은 간격별 1차 연산 결과를 다시 묶어 최종 결과로 표시할 단위이다. 어떤 2차 연산 방식을 선택하는지에 따라 간격별 결과의 최댓값·최솟값·평균·최신 값을 확인할 수 있다.

예를 들어 차트의 기간을 월별로 설정하고 app_login 이벤트의 userId에 COUNT DISTINCT만 적용하면 한 달 동안 접속한 이용자를 중복 없이 계산한 월간 활성 이용자 수를 확인할 수 있다. 같은 조건에 1차 연산 단위를 일, 2차 연산 방식을 AVG로 설정하면 일별로 계산된 활성 이용자 수(AU)의 평균이 월 단위로 표시된다. 이를 통해 월간 AU와 월간 일평균 AU처럼 계산 기준이 다른 지표를 목적에 맞게 구성할 수 있다.

app_login 이벤트의 userId에 COUNT DISTINCT 1차 연산과 일 단위 AVG 2차 연산을 설정한 차트 연산 화면
일별 AU에 AVG 2차 연산을 적용하면 월간 일평균 AU를 확인할 수 있다.

시간대별 동시 접속자 수와 최댓값 확인해보기

게임의 접속 규모를 살펴보려면 먼저 차트의 기간을 일간, 날짜를 오늘로 설정한다. app_session_maintain 이벤트의 userId를 선택하고 COUNT DISTINCT 연산과 2분 간격을 적용하면 오늘 접속한 이용자 수를 2분마다 중복을 제외해 확인할 수 있다.

참고

app_session_maintain은 로그인 후 클라이언트가 실행되는 동안 2분 간격으로 발생하는 이벤트로, 동시 접속자 수와 세션 수, 플레이 시간 등의 지표를 구성하는 데 활용할 수 있다. 단, Hive 콘솔에서 네트워크 통신 최소화 기능을 사용하면 동시 접속 정보가 전송되지 않으므로, 분석 전에 해당 설정과 이벤트 수집 여부를 확인해야 한다.

app_session_maintain 이벤트의 userId에 COUNT DISTINCT 연산을 적용해 시간대별 동시 접속자 수를 표시한 차트
COUNT DISTINCT 연산으로 2분 단위 동시 접속자 수의 변화를 확인할 수 있다.

오늘의 최고 수치를 함께 확인하려면 동일한 이벤트와 1차 연산 기준에 2차 연산을 추가한다. 시간 단위를 분, 간격을 2분으로 지정하고 2차 연산 방식으로 MAX를 선택한다. 차트의 기간을 일간, 날짜를 오늘로 설정하면 2분 단위 동시 접속자 수 중 가장 큰 값이 조회 시점까지의 최대 동시 접속자 수로 표시된다.

2분 단위 동시 접속자 수에 MAX 2차 연산을 적용해 최대 동시 접속자 수를 표시한 스코어카드 차트
2분 단위 연산 결과에 MAX를 적용하면 오늘 조회 시점까지의 최대 동시 접속자 수를 확인할 수 있다.

두 차트를 대시보드에 함께 구성하면 오늘 조회 시점까지의 최대 동시 접속자 수와 2분 단위의 상세한 변화를 한 화면에서 확인할 수 있다. 최댓값으로 현재까지의 최고 접속 규모를 파악하고, 2분 단위 차트에서 최고값이 나타난 시간대와 전후의 접속 흐름을 구체적으로 살펴볼 수 있다.

최대 동시 접속자 수 스코어카드와 시간대별 동시 접속자 수 라인 차트를 함께 구성한 대시보드
대시보드에서 오늘 조회 시점까지의 최대 동시 접속자 수와 시간대별 상세 변화를 한 화면으로 확인할 수 있다.

Hive 애널리틱스 시작해보기

위와 같이 이벤트와 속성에 1차 연산을 적용해 필요한 측정값을 구성하고, 2차 연산으로 시간 간격별 결과의 최대·최소·평균·최신 값을 확인할 수 있다. 이를 통해 시간대별 세부 변화와 기간을 대표하는 수치를 함께 살펴볼 수 있다.

Hive 애널리틱스는 Hive SDK를 통해 수집한 게임 이벤트를 차트에서 분석할 수 있는 게임 전문 애널리틱스 솔루션이다. 지금 Hive 애널리틱스에서 게임 이벤트에 1차 연산과 2차 연산을 적용하고, 분석 목적에 맞는 지표를 차트로 구성해보자.

김동완 기자

애널리틱스가 게임 운영과 의사결정에 도움이 되기를 바랍니다. 앞으로도 게임 운영에 유용하게 활용할 수 있는 다양한 기능과 활용 방법을 꾸준히 소개할 예정이니, 애널리틱스에 많은 관심 부탁드립니다.


TOP