11. 게임 통계 기능

많은 경우 통계 분석을 위해서 클라이언트에 통계 분석 솔루션의 SDK 를 포함하는 작업을 하게 됩니다. 그러나 이런 작업과 별개로 서버에서도 계정 생성이나 로그인, 혹은 결제에 대한 정보는 주요 정보이기 때문에 항상 로그를 남기게 됩니다.

아이펀 디플로이는 이 점에 착안해서 복잡한 클라이언트 SDK 연동 없이도, 어차피 남기는 서버 로그를 활용해 간편하게 핵심적인 지표에 대한 분석을 제공합니다.

이 기능이 게임 서버에서 남기는 로그에 의존하기 때문에, 게임 서버는 기본적으로 로그 연동 에 명시된 로그를 생성해주어야 합니다. 그리고 그 로그를 생성하는 것만으로 아이펀 디플로이의 통계 기능을 사용할 수 있게 됩니다.

Important

게임 로그 DB 사용 여부 를 체크하고 게임 로그 DB 정보가 있어야 활성화됩니다.

Note

아이펀 디플로이가 제공하는 통계는 고난도의 통계 데이터 제공이 목적이 아니라, 복잡한 연동 없이도 필수 통계를 쉽게 뽑아낼 수 있는 것에 중점을 두고 있습니다. 그러나 많은 개발사에서 요구하는 통계 데이터 종류가 다양할 경우, 통계 기능의 강화를 고려하고 있습니다.

11.1. 기본 통계 항목

상단의 최상위 메뉴에서 게임 통계 를 선택합니다.

_images/analytics-01.png

아이펀 디플로이는 다음 통계 항목들을 제공합니다.

  • NRU: 신규 가입 유저 수
  • DAU: 일평균 로그인 유저 수
  • CCU: 동시 접속 유저 수
  • PU: 결제 유저 수
  • NPU: 신규 결제 유저 수
  • ARPU: 유저당 평균 수익
  • ARPPU: 결제 유저당 평균 수익
  • 누적 매출
  • 잔존률
_images/analytics-02.png
_images/analytics-03.png

11.2. 시계열 데이터 코멘트 기능

지표의 기복은 외부 요인에 많은 영향을 받습니다. 가령 예상치 못한 서버 장애는 지표를 떨어뜨릴 것이고, 신규 아이템을 포함한 게임 패치는 지표를 끌어올릴 수도 있습니다. 대부분의 경우 이런 외부 요인을 통계 데이터와 별도로 사람이 기억해야 하는데, 아이펀 디플로이는 이런 내용을 시계열 데이터에 코멘트를 남기는 형태로 지원합니다. 이를 통해서 그래프를 보는 모든 사용자가 시간이 지나더라도 외부 요인에 대해서 공유할 수 있게 됩니다.

이 기능을 위해서는 그래프 위에 마우스를 클릭합니다. 그러면 다음 화면과 같이 코멘트를 남길 수 있는 창이 뜨게 됩니다.

_images/analytics-04.png

여기에 코멘트를 남기면 다음 화면처럼 그래프에 코멘트 플래그가 남게 됩니다.

_images/analytics-04.png

11.3. 사용자 정의 그래프 기능

아이펀 디플로이는 생성하신 디플로이먼트의 게임 로그 DB 에 지정된 컬렉션 데이터를 그래프로 표시하는 기능을 제공합니다.

_images/custom-graph-list.png

Important

데이터를 가지고 올 때 게임 로그 DB 접속은 디플로이먼트 상세사항 내의 로그 DB 설정을 참고합니다.

11.3.1. 사용자 정의 그래프의 생성

화면에 표시할 사용자 정의 그래프를 생성합니다.

_images/custom-graph-create.png
  • 언어 : 화면에 표시될 그래프 이름과 X/Y 축 이름을 어떤 표시 언어로 출력할지 결정합니다.
  • 그래프 이름 : 화면에 표시될 그래프 이름을 지정합니다.
  • 컬렉션 이름 : 그래프 데이터를 가지고 올 컬렉션 이름을 지정합니다.
  • X 축 : X 축 데이터로 사용할 도큐먼트 안에 있는 키 이름을 지정합니다.
  • Y 축 : Y 축 데이터로 사용할 도큐먼트 안에 있는 키 이름을 지정합니다.
  • X 축 타입 : X 축 데이터의 타입을 지정합니다. timestamp, ‘datetime’, number, string 으로 한정됩니다.
  • X 축 이름 : 그래프를 나타낼 때 보이는 X 축 이름을 지정합니다.
  • Y 축 이름 : 그래프를 나타낼 때 보이는 Y 축 이름을 지정합니다.

Important

X 축 타입은 다음과 같이 BSON Type 에 대응하며, X 축의 데이터 또한 타입에 맞추어 반드시 아래의 지정된 BSON Type 으로 존재해야 합니다.

X 축 타입 BSON Type ( X 축 데이터 타입 )
timestamp Timestamp
datetime Date
number 64-bit integer, 32-bit integer, Double
string String

Note

MongoDB 에서 ISODate 를 이용해 생성한 날자는 BSON의 Date 타입으로 저장됩니다.

Note

사용자 정의 그래프는 한 디플로이먼트에 100 개 까지 생성 가능합니다.

11.3.2. 사용자 정의 그래프 기간검색

X 축 타입timestamp, 혹은 ‘datetime’ 일 경우에만 생성한 그래프의 기간 검색을 할 수 있습니다.

_images/custom-graph-timestamp.png

Important

number, string 타입에 대해서는 기간 검색 기능을 제공하지 않습니다.

11.3.3. 사용자 정의 그래프 데이터 제약 사항

화면에 올바르게 그래프를 표시하기 위해서 데이터를 생성하실 때는 다음과 같은 제약 사항이 있습니다.

Important

제약 사항이 지켜지지 않았을 경우. 그래프가 제대로 표시되지 않을 수 있습니다.

_images/custom-graph-violation.png
  • 기본 제약 사항

    • 그래프 설정에서 지정한 컬렉션은 반드시 존재해야 합니다.
  • X 축 제약 사항

    • 데이터 컬렉션 내의 도큐먼트 중, 그래프 설정에서 지정한 X축 키가 존재하는 도큐먼트만을 처리합니다.
    • 데이터 컬렉션 내의 모든 X축 필드 값의 데이터 타입은 같아야 하며, timestamp, datetime, number, string 중 하나여만 합니다.
  • Y 축 제약 사항

    • 데이터 컬렉션 내에서 그래프 설정 내의 X축 필드를 가지는 모든 도큐먼트는 Y축 필드 값도 가져야만 합니다.
    • Y축 필드 값은 반드시 number 타입이어야 합니다.
  • 예시 : X 축 키가 ts 타입이 timestamp 이고, Y축 키가 score 일 때의 데이터

    {
        "_id" : ObjectId("5967247404c1684af32b2841"),
        "ts" : Timestamp(1499931764, 1),
        "score" : 200.0
    }
    
    {
        "_id" : ObjectId("5967247804c1684af32b2842"),
        "ts" : Timestamp(1499931768, 1),
        "score" : 121.0
    }
    
    {
        "_id" : ObjectId("5967247d04c1684af32b2843"),
        "ts" : Timestamp(1499931773, 1),
        "score" : 36.0
    }
    
    {
        "_id" : ObjectId("5967248104c1684af32b2844"),
        "ts" : Timestamp(1499931777, 1),
        "score" : 401.0
    }
    
    {
        "_id" : ObjectId("5967248404c1684af32b2845"),
        "ts" : Timestamp(1499931780, 1),
        "score" : 566.0
    }