KR101733458B1 - 게임 로그 분석 방법 - Google Patents

게임 로그 분석 방법 Download PDF

Info

Publication number
KR101733458B1
KR101733458B1 KR1020160144166A KR20160144166A KR101733458B1 KR 101733458 B1 KR101733458 B1 KR 101733458B1 KR 1020160144166 A KR1020160144166 A KR 1020160144166A KR 20160144166 A KR20160144166 A KR 20160144166A KR 101733458 B1 KR101733458 B1 KR 101733458B1
Authority
KR
South Korea
Prior art keywords
game
information
log data
log
user
Prior art date
Application number
KR1020160144166A
Other languages
English (en)
Inventor
김주일
정용환
Original Assignee
주식회사 코어사이트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코어사이트 filed Critical 주식회사 코어사이트
Priority to KR1020160144166A priority Critical patent/KR101733458B1/ko
Priority to CN201710018947.9A priority patent/CN108014496B/zh
Application granted granted Critical
Publication of KR101733458B1 publication Critical patent/KR101733458B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management

Abstract

본 발명의 게임 로그 분석 방법은, 단말기를 포함하는 게임 클라이언트로 게임 컨텐츠를 제공하는 게임 서버; 및 상기 게임 클라이언트에서 작성된 상기 게임 컨텐츠에 관련되는 로그 데이터를 수집하는 로그 분석 서버;를 포함하고, 상기 로그 분석 서버는 상기 게임 클라이언트로부터 로그 데이터를 수신하는 통신 모듈과, 상기 통신 모듈을 통하여 수집된 로그 데이터를 저장하는 로그 저장부와, 상기의 수집 또는 저장된 로그 데이터의 작성시기가 이벤트 기간인지 여부에 따라 이탈률 예측을 위해 필요한 지표의 선택과 선택된 지표에 대한 가중치를 다르게 부여함으로써 상기 로그 데이터의 분석을 수행하는 분석 모듈을 포함하고, 상기 이벤트 기간은 상기 게임 컨텐츠에 대한 게임 이벤트가 수행되는 기간을 나타내고, 상기 게임 이벤트는 상기 게임 컨텐츠를 수행하는 정보에 해당하는 게임 상태 정보인 게임 난이도, 게임 내 캐릭터 레벨, 및 게임 진행 속도 중 선택되는 적어도 하나 이상의 설정값이 변경되는 것을 나타낸다.

Description

게임 로그 분석 방법{Method for analyzing game log information}
본 발명은 게임 소프트웨어를 제공하는 게임 제공사 등에게 게임에서 발생되는 로그 데이터를 분석하여 유저 분석과, 게임 분석 등을 통하여 유의미한 정보를 독출해낼 수 있는 게임 로그 분석 방법에 대한 것으로서, 특히, 분석 대상의 게임 소프트웨어(애플리케이션 등)에 대해서 유저가 해당 게임을 삭제하거나 이용하지 않는 것을 의미하는 이탈률을 실시간으로 예측할 수 있는 로그 분석 방법에 대한 것이다.
인터넷 인프라의 보급에 힘입어 과거 스탠드 얼론 게임 위주였던 게임 시장은 점차 온라인 게임을 위주로 재편되고 있다.
온라인 게임 시장이 양적으로 성장하면서 그 스펙트럼 또는 조작이 간단한 캐쥬얼 아케이드 게임에서부터 수천수만의 동시접속자가 동일한 온라인 게임의 맵 내에서 자신의 플레이터 캐릭터를 조작하여 협업플레이하여 퀘스트를 수행하고, 몹(MOB : Mobile Object)을 사냥하는 등의 방식에 의해 진행하는 MMORPG(Massively Multiplayer Online Role Playing Game)에 이르는 다양함을 보이게 되었다.
한편, 그 가운데 온라인 게임의 총아라 할 수 있는 MMO는 과거 스탠드 얼론 형태의 패키지 게임이나 온라인 캐쥬얼 게임에서 나타나지 않는 몇가지의 특징을 갖는다.
그 가운데 한가지는 온라인 게임 아이템이나 게임 머니가 게임의 플레이에 중요한 기능을 하며 때로는 재산적 가치를 인정받아 게이머들간 거래대상이 되기도 한다는 점이다.
이러한 이유에서 때로는 계정의 도용이나 아이템 등의 거래시 불미스러운이 발생하기도 하고, 게이머들로부터 계정 도용 등의 피해신고가 접수되면 온라인 게임 제공사는 온라인 게임 서버가 수시로 생성한 로그 파일을 분석하여 사실관계를 확인하여 피해에 대한 구제책을 마련한다.
또 한가지는 게이머들이 온라인 게임 내에서 조작하는 캐릭터들 사이에 게임에서 다양한 인터랙션이 발생한다는 점이다.
이러한 플레이어 캐릭터들 사이의 인터랙션 또한 게임 로그 분석에 의한 분석대상이 될 수 있다. 즉, 로그 분석에 의한 게임 내용의 후발적 해석이 필요하며 또 가능하다는 점에서 과거 패키지 게임이나 대부분 캐쥬얼 게임과 구별된다.
MMO의 온라인 게임 서버는 일정 시간 간격으로 플레이어 캐릭터들의 액션을 저장하는 게임 로그 파일을 생성한다.
일반적으로 게임 로그 파일은 이와 같이 플레이어 캐릭터들의 액션을 기술하는 정보와 액션이 있었던 시점의 시간정보, 플레이어 캐릭터의 좌표정보를 포함하며, 게임 내의 각종 변수에 관한 정보를 더 포함하기도 한다.
본 발명은 게임 소프트웨어를 제공하는 게임 제공사 등에게 게임에서 발생되는 로그 데이터를 분석하여 유저 분석과, 게임 분석 등을 통하여 유의미한 정보를 독출해낼 수 있는 게임 로그 분석 방법을 제공하는 것을 목적으로 한다.
특히, 본 발명은 분석 대상의 게임 소프트웨어에 대해서 게임 설치단계와, 게임 실행 중의 실시간 단계에서 유저가 해당 게임을 이탈할 가능성에 대해서 분석하고, 이에 대한 분석 결과를 게임 제공사 또는 게임 서비스 제공사에게 피드백함으로써, 유저들이 게임을 이탈하는 사유에 대한 분석 뿐만 아니라 실시간 분석을 통해 유저들이 게임을 이탈하려는 상태에 놓이게 되면 이탈을 억제하기 위한 이탈 방지 알고리즘을 적용할 수 있는 방법을 제안하고자 한다.
본 발명의 게임 로그 분석 방법은, 단말기를 포함하는 게임 클라이언트로 게임 컨텐츠를 제공하는 게임 서버; 및 상기 게임 클라이언트에서 작성된 상기 게임 컨텐츠에 관련되는 로그 데이터를 수집하는 로그 분석 서버;를 포함하고, 상기 로그 분석 서버는 상기 게임 클라이언트로부터 로그 데이터를 수신하는 통신 모듈과, 상기 통신 모듈을 통하여 수집된 로그 데이터를 저장하는 로그 저장부와, 상기의 수집 또는 저장된 로그 데이터의 작성시기가 이벤트 기간인지 여부에 따라 이탈률 예측을 위해 필요한 지표의 선택과 선택된 지표에 대한 가중치를 다르게 부여함으로써 상기 로그 데이터의 분석을 수행하는 분석 모듈을 포함하고, 상기 이벤트 기간은 상기 게임 컨텐츠에 대한 게임 이벤트가 수행되는 기간을 나타내고, 상기 게임 이벤트는 상기 게임 컨텐츠를 수행하는 정보에 해당하는 게임 상태 정보인 게임 난이도, 게임 내 캐릭터 레벨, 및 게임 진행 속도 중 선택되는 적어도 하나 이상의 설정값이 변경되는 것을 나타낸다.
그리고, 상기 분석 모듈은 상기 게임 클라이언트에서 상기 게임 컨텐츠가 삭제된 바 있는 유저의 정보와 해당 게임 클라이언트에 대한 정보를 상기 로그 저장부에 저장된 로그 데이터로부터 추출하고, 추출된 로그 데이터를 기초 데이터로 분석하고, 상기 분석 모듈은 상기 기초 데이터의 분석결과로부터 이탈률 예측을 위한 기초 지표를 추출하고, 추출된 기초 지표를 이용하여 상기 게임 클라이언트에서의 이탈률을 예측하는 것을 특징으로 한다.
그리고, 상기 분석 모듈은 상기 기초 데이터로부터 추출되는 기초 지표로서 유저 활동 정보와, 단말기 상태 정보를 추출하고, 상기 유저 활동 정보는 상기 게임 컨텐츠 내에서의 유저 활동 기록에 대한 정보로서, 게임 내에서의 아이템 구입 정보, 게임 스테이지의 진행 정보, 상기 게임 컨텐츠의 실행 횟수 및 실행 시간에 대한 정보 중 적어도 하나 이상을 포함하고, 상기 단말기 상태 정보는 상기 게임 컨텐츠가 상기 게임 클라이언트에서 실행되기 전 및 실행되는 때의 상기 게임 클라이언트의 네트워크 상태에 대한 정보를 포함한다.
그리고, 상기 게임 컨텐츠가 상기 게임 클라이언트 중 어느 하나인 단말기에 설치되는 경우에, 상기 분석 모듈은 상기 단말기에서 상기 게임 컨텐츠가 삭제되는 것을 나타내는 이탈률 중 하나인 초기 이탈률을 예측하기 위하여 동작하고, 상기 분석 모듈은 상기 단말기에서 수집되는 로그 데이터에서 상기 게임 컨텐츠의 설치 경로 및 설치 방법에 대한 정보로부터 제 1 유저인지 제 2 유저에 해당하는지를 판단하고, 상기 분석 모듈은 상기 제 1 유저 또는 제 2 유저인지 여부에 따라 상기 초기 이탈률의 분석을 수행하지 않거나 상기 유저 활동 정보에 대한 가중치를 상이하게 적용한다.
그리고, 상기 게임 컨텐츠가 상기 게임 클라이언트 중 어느 하나인 단말기에 설치되고, 상기 단말기에서 상기 게임 컨텐츠가 실행되는 경우에, 상기 분석 모듈은 상기 단말기에서 작성되는 로그 데이터와 상기 기초 지표를 비교하여 실시간 이탈률을 예측하는 동작을 수행하고, 상기 분석 모듈은 상기 단말기에서 작성되어 수집되는 로그 데이터가 상기 이벤트 기간 인지 여부에 따라 가중치를 다르게 부여하여 상기 기초 지표와 비교 또는 수식화하여 연산한다.
그리고, 상기 분석 모듈은 상기 기초 지표와 실시간 수집되는 로그 데이터를 이용하여 상기 이탈률이 기설정된 기준값 보다 크다고 판단하는 경우에는, 상기 단말기에서 실행중인 상기 게임 컨텐츠의 게임 상태 정보를 변경하여 유저의 게임 컨텐츠 참여율을 높이기 위한 이탈 방지 알고리즘을 수행하는 것을 특징으로 한다.
본 발명의 게임 로그 분석 방법을 통해서, 실시간으로 수집되는 로그 데이터를 이용하여 유저 분석 뿐만 아니라 게임 설치 및 삭제에 대한 정보, 게임 내에서의 유저 활동에 대한 정보를 용이하게 분석할 수 있는 장점이 있으며, 이러한 분석을 통해서 로그 데이터 분석결과를 활용하여 게임 개발 정보, 게임 수익 창출화방안 등을 쉽게 강구할 수 있는 장점이 있다.
도 1은 본 발명의 게임 로그 분석 방법을 구성하는 시스템 구성도이다.
도 2는 본 발명의 게임 로그 분석을 수행하는 로그 분석 서버의 구성을 보여주는 도면이다.
도 3은 본 발명의 실시예에 따라 게임 로그를 분석하는 방법을 설명하는 흐름도이다.
도 4는 본 발명의 실시예에 따라 게임 이탈률을 분석하기 위한 기준이 되는 기초 데이터를 수집 및 분석하는 과정을 설명하는 흐름도이다.
도 5는 본 발명의 실시예에 따라 게임 설치 후 초기 이탈률을 예측하기 위한 방법을 설명하는 흐름도이다.
도 6은 본 발명의 실시예에 따라 게임 실행시에 실시간으로 이탈률을 예측하기 위한 방법을 설명하는 흐름도이다.
이하에서는, 본 실시예에 대하여 첨부되는 도면을 참조하여 상세하게 살펴보도록 한다. 다만, 본 실시예가 개시하는 사항으로부터 본 실시예가 갖는 발명의 사상의 범위가 정해질 수 있을 것이며, 본 실시예가 갖는 발명의 사상은 제안되는 실시예에 대하여 구성요소의 추가, 삭제, 변경 등의 실시변형을 포함한다고 할 것이다.
본 발명과 관련되는 설명에 사용되는 접미어 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
도 1은 본 발명의 게임 로그 분석 방법을 구성하는 시스템 구성도이다.
먼저, 본 발명의 게임 로그 분석 방법은 클라이언트(10)측에서 게임이 실행되는 게임 클라이언트(11)에서 발생되는 로그 정보를 이용하여 게임 이벤트 발생여부에 따른 지표 분석을 수행함으로써, 게임 제공사측에서 유의미한 정보를 활용할 수 있도록 한다.
발명의 설명에 있어서 게임 이벤트는 게임 제공사의 게임 서버(서비스 제공 서버) 또는 로그 분석 서버에 의하여 설정된 시기에 게임 진행과 관련되는 아이템, 머니, 경기방식 등에 대해서 특정 기간 동안 다르게 수행/적용되는 기획 행사를 나타낸다.
예를 들면, 게임 내에 새로운 캐릭터가 추가되는 경우, 새로 추가된 캐릭터가 레이드 보스인 경우에, 기존에 제공되었던 캐릭터인 기존 보스의 레벨은 낮게 조정되고, 유니크 아이템을 획득할 수 있는 확률이 일시적으로(특정 기간) 높아지도록 설정되고, 레벨의 장벽이 낮아져 참여할 수 있는 유저가 많아지도록 유도하는 행위가 게임 이벤트라고 할 수 있다.
즉, 게임 이벤트는 게임 내에서의 아이템 획득 난이도를 조정하거나, 게임 내 캐릭터의 레벨(수준)을 조정하거나, 게임 진행 속도를 조절하는 등의 게임을 진행하기 위해 필요한 게임 상태 정보를 변경하는 것을 의미한다.
여기서, 게임 상태 정보는 유저가 게임을 진행하는데 필요한 정보들을 가리키는 것으로 정의되며, 앞서 기재한 바와 같이, 유저가 게임을 수행할 수 있도록 게임 내의 각 스테이지에 대한 상황 설정, 각 스테이지를 클리어(clear)하기 위해 필요한 점수나 레벨 등, 각 스테이지를 보다 쉽게 클리어할 수 있도록 사용될 수 있는 아이템에 대한 정보, 상기 아이템을 구매하는데 필요한 캐쉬 등 게임을 진행하는데 필요한 각 아이템, 캐릭터 및 스테이지 설정이 게임 상태가 정보가 될 수 있다.
또한, 본 발명의 시스템 및 방법에서는, 상기 게임 상태 정보와 더불어 사용되는 용어로 유저 활동 로그가 있다.
유저 활동 로그는 유저가 게임을 수행했던 정보를 가리키는 것으로서, 게임 내에서 유저가 수행한 결과의 정보들이 유저 활동 로그가 된다. 예를 들어, 게임내 유저 활동 정보로는 게임 내에서 유저 또는 캐릭터가 수행한 각각의 행위들 모두가 될 수 있으며, 캐릭터, 아이템, 각 스테이지 진행상태, 게임 실행 횟수 등의 해당 게임의 실행 및 게임 진행에 대한 유저의 행동과, 게임 내에서 유저의 아바타가 되는 캐릭터의 행동들에 대한 정보이다.
한편, 이벤트 기간은 상기 게임 이벤트가 진행되는 시기를 가리키며, 이벤트 기간이 아닌 시기는 비-이벤트 기간으로 정의할 수 있다. 즉, 유저가 게임을 실행하거나, 로그 데이터가 작성된 시기는 이벤트기 기간이거나 비-이벤트기 기간이 된다.
본 발명에서는, 수집되는 로그 데이터가 상기 이벤트 기간 내에 작성되었는지 여부에 따라 이탈률 분석을 위하여 추출되는 지표(indicator)들에 대한 가중치를 서로 다르게 반영한다. 즉, 유저가 게임 내에서 활동한 정보들이 로그 데이터로 수집되는 것이 일반적인데, 본 발명에서는 해당 로그 데이터에 기록된 정보를 이용하는 때에 해당 로그 데이터가 작성된 시기가 이벤트 기간 내인지 여부에 따라 상기 지표가 변경되거나, 지표들의 가중치가 변경되는 특징이 있다.
왜냐하면, 게임 서버(20)를 운영하는 게임 서비스 제공사는 게임 내에 새로운 캐릭터를 출시하거나, 게임의 진행 정도를 나타내는 게임 레벨을 더 추가한 경우 등 다양한 경우에 게임 이벤트를 진행하게 되는데, 게임 이벤트 기간에는 게임 참여도가 낮은 유저까지 유입되기 때문이다.
또한, 본 발명에서는 로그 데이터 분석을 위하여, 분석 대상의 게임 소프트웨어가 설치된 단말기에 대한 정보와, 해당 게임 소프트웨어가 설치된 방법에 대한 정보도 함께 이용한다. 여기서, 단말기는 게임 소프트웨어가 설치될 수 있는 PC, Mac, 태블릿 PC, iOS 기기 및 안드로이드 기기들을 모두 포함하는 것으로서, 단순히 모바일 단말기만을 가리키는 것은 아니다.
본 발명에서 로그 데이터 분석을 수행하는 방법에 대한 구체적인 설명은 도면과 함께 아래에서 하기로 한다.
한편, 상기 게임 클라이언트(11)로부터 전달되는 게임 로그에 대해서 해당 게임 로그가 이벤트 기간에 작성된 것인지 여부는 상기 게임 서버(20) 또는 로그 분석 서버(100)에서 확인 및 검증이 가능하다.
상기 게임 서버(20)는 모바일 기기와 같은 유저 단말기에 구성된 게임 클라이언트(11)로 게임 서비스를 제공하며, 유저 기기에서 설치, 실행 및 삭제된 게임에 대한 게임 로그를 상기 로그 분석 서버(100)로 전달한다.
상기 게임 클라이언트(11) 역시 유저 기기에 설치, 실행 및 삭제된 게임에 대한 게임 로그를 상기 로그 분석 서버(100)로 전달한다.
상기 게임 클라이언트(11)와 게임 서버(20)로부터 전달되는 게임 정보, 즉, 게임 로그 데이터를 수신하는 상기 로그 분석 서버(100)에 의하여 로그 분석을 수행하는 방법에 대해서 더욱 상세히 설명하여 본다.
도 2는 본 발명의 게임 로그 분석을 수행하는 로그 분석 서버의 구성을 보여주는 도면이고, 도 3은 본 발명의 실시예에 따라 게임 로그를 분석하는 방법을 설명하는 흐름도이다.
먼저, 도 2를 참조하면, 본 발명의 로그 분석 서버(100)는 게임 로그 데이터를 수신하는 통신 모듈(110)과, 상기 통신 모듈(110)을 통하여 수집된 로그 데이터를 저장하는 로그 저장부(120)와, 수집된 로그 데이터에 대해서 이벤트 기간인지 여부에 따라 분류 기준값과 가중치를 다르게 부여하여 로그 데이터의 분류 및 추출을 수행하는 분류 추출 모듈(130)과, 추출 또는 분류된 로그 데이터에 대한 분석을 수행하는 분석 모듈(140)과, 로그 데이터들에 대한 패턴화 과정을 수행하는 패턴화 모듈(150)을 포함한다.
본 발명의 설명에 있어서는, 상기 로그 분석 서버(100)를 구성하는 구성요소가 복수개의 모듈들로 이루어진 것처럼 상술되지만, 실제의 서버 구성에 있어서는 이들 모듈들이 반드시 물리적으로 구분되어야 하는 것은 아니며, 실시예에 따라서는 단일의 칩 내에서 모듈들의 기능을 복합적으로 수행할 수 있을 것이다. 따라서, 모듈의 구성 및 동작에 대해서는 이해를 돕기 위한 것으로 이해하여도 좋다.
모듈의 각 구성의 동작에 대해서는 첨부되는 도 3과 함께 설명하여 본다.
먼저, 통신 모듈(110)에 의하여 게임 클라이언트(11)와 게임 서버(20)로부터 게임 로그 데이터를 수집한다(S11).
여기서, 수집되는 로그 데이터에는 로그 데이터 작성 시기에 대한 정보와, 게임을 수행하는 유저의 활동에 대한 정보를 가리키는 전술한 유저 활동 로그, 게임이 설치된 단말기의 상태 정보(단말기 상태 정보)가 포함된다. 그리고, 로그 데이터는 유저에 대한 정보(아이디, 이메일 등)를 더 포함할 수 있다.
본 발명에서는, 분석 대상의 게임(소프트웨어)에 참여/수행하는 유저가 이탈되는 것을 미리 예측하기 위하여, 해당 게임을 삭제하는 등의 이탈을 기록했던 유저 및 단말기에 대한 정보를 먼저 수집하고, 해당 유저 및 단말기로부터 수집되었던 로그 데이터를 분석함으로써, 이탈률 예측을 위해 필요한 정보를 독출한다.
이러한 분석을 위하여, 로그 저장부(120)에 저장되기 위하여 수집되는 로그 데이터의 정보는, 다음의 사항을 포함할 수 있으며, 유저 활동 정보와 단말기 상태 정보가 될 수 있다.
게임을 삭제하기 전과 후로 나누어, 해당 게임의 삭제 전 유저 활동 정보와, 해당 게임의 삭제 후 유저 활동 정보와, 해당 게임의 삭제 전 단말기 상태 정보와, 해당 게임의 삭제 후 단말기 상태 정보가 된다. 해당 게임이 설치된 바 있는 단말기는, 상기 로그 분석 서버(100)로 설치 전에 기록하여 두었던 로그 데이터와, 삭제 후에 기록하였던 로그 데이터를 일정 기간 동안 로그 분석 서버(100)로 로그 데이터를 전달하도록 약속될 수 있다.
예를 들면, 해당 게임의 삭제 전 유저 활동 정보는 게임 내에서 아이템 결제 후 실패한 기록, 게임 내에서 특정 스테이지를 클리어하지 못한 채 수일 동안 그 스테이지에 머물러 있었던 기록, 게임 삭제 전 유저가 수일동안 해당 게임을 실행하지 않은 기록, 이벤트 기간임에도 불구하고 특정 스테이지를 수일 동안 클리어 하지 못했던 기록 등의 정보가 될 수 있다.
또한, 해당 게임 삭제 전 단말기 상태 정보로는, 예를 들면, 네트워크 불량이 발생했던 기록, 해당 게임의 유저 아이디가 다른 단말기에서 접속(단말기 교체 등)한 기록, 게임 중 전화나 다른 소프트웨어(애플리케이션)의 실행으로 게임이 중단된 기록 등이 될 수 있다.
이들 로그 데이터는 게임 클라이언트(11)와 게임 서버(20)로부터 상기 통신 모듈(110)로 전달된다. 게임 클라이언트는 앞서 설명한 바와 같이 분석 대상이 게임 소프트웨어가 설치된 바 있는 단말기 등을 포함한다.
본 발명의 실시예에서는 로그 데이터의 분석 및 활용을 보다 용이하게 하기 위하여 다음의 유저 행동에 따른 로그 데이터를 규격으로 관리할 수도 있다.
예를 들면, 분석 대상의 게임을 설치하기 전에 유저 단말기에서 머무른 화면 정보가 로그 데이터로 수집된다. 특정 애플리케이션(페이스북)에서 대상 게임의 설치 UI로 이동된 경우에, 특정 애플리케이션의 화면 정보가 저장 및 전달된다.
이와 같이 수집된 로그 데이터는 상기 로그 저장부(120)에 저장된다(S12).
수집된 로그 데이터들은 일정한 시간 간격을 두고 파일로 저장되며, 저장되는 파일들은 저장 프로토콜이 실행되어 하둡 생태계(Hadoop Ecosystem)에도 저장될 수 있다. 여기서, 하둡 생태계는 저장기능인 HDFS/MaspReduce 와 함께 다양한 서브프로젝트로 이루어진 파일 저장 시스템으로서, Flume, HBase, Hive, Pig, Sqoop, Zookeeper, Storm, Kafka 등의 빅데이터 관련 프로그램들을 총칭한다.
예를 들면, 수집된 로그 데이터는, 20151010120000_connectionlog_0001.log, 20151010120100_itemlog_001.log, 20151010120100_connectionlog_0001.log, 20151010120000_virtualmoneylog_0001.log와 같은 타입의 파일로 상기 로그 저장부(120)에 저장된다.
그리고, 이와 같은 타입으로 저장된 로그 데이터는 저장 프로토콜이 자동 실행되면서 하둡 생태계에 저장된다.
상기 저장 프로토콜의 엔진은 하둡 생태계에서 활용되는 Flume/Fafka를 혼용한 Flafka를 사용할 수 있으며, 데이터 저장은 실시간 데이터 분석을 위한 스파크 스트리밍(Spark Streaming) 또는 하이브(Hive)와, 원천 로그 제공을 위한 HBase 이들 세가지 형태로 저장을 진행하고, 이후 분석 단계의 프로세스가 실행된다.
그리고, 스파크 스트리밍은 실시간 분석이 이루어져야 하는 게임 정보, 예를 들면, 게임 내 결제(가상 머니 포함), 게임 내 아이템 관련 정보, 유저 방문에 관한 정보, 컨텐츠 수행에 관한 정보에 대해서만 저장 프로세서를 진행한다.
여기서, 스파크 스트리밍은 기존의 다양한 플랫폼을 이용하여 반복적으로 수행하여야 하는 일(task)을 하나의 솔루션에서 가능하도록 하고, 여러 대의 서버에서 분산하여 분석이 가능하기 때문에 빅데이터 분석에 적합한 플랫폼이다. 이러한 스파크 스트리밍을 이용하여 실시간 분석 대상 정보, 예를 들면, 분석 대상의 게임 설치한 유저에 대하여 초기 이탈률 분석과, 게임 실행중인 때에 실시간 이탈률 분석을 수행할 수 있다.
참고로, 스파크 스트리밍의 경우, 스칼라로 구현되지만, 파이썬, 자바 등의 다양한 언어를 지원하기 위한 SDK를 갖기 때문에, 데이터 저장단으로는 하둡, 아마존 S3, 카산드라 등의 다양한 데이터 스토리지를 지원한다.
상기 저장 프로토콜에 의하여 하둡 생태계에 저장된 파일들은 분석 모듈(140)에 의하여 로그 분석이 수행된다.
그 다음, 본 발명의 분류 추출 모듈(130)에 의한 저장된 로그 데이터들에 대한 분류 및 추출 동작, 예를 들면, 통계 지표 추출을 위한 동작이 수행된다(S13).
통계 지표 추출의 동작은 이후의 단계에서 진행되는 로그 데이터 분석을 위한 전처리 과정으로서, 앞서 저장된 로그 데이터중에서 통계에 활용하기 위해서 하이브(Hive)에 의해 처리된 로그 데이터를 스파크에 로드하고, 로드된 데이터들은 Spark SQL에 의하여 통계 지표가 추출된다.
Spark SQL은 구조화 또는 반구조화된 데이터를 처리하는 것으로서, sql에 대한 기본 지원을 제공하고, 외부 소스 모두에 저장된 데이터 조회가 간소화되어 RDDs와 관계형 테이블의 경계가 사라질 수 있다.
상기의 Spark SQL을 이용한 통계 지표의 추출은, 게임 소프트웨어 내에서의 예를 들면, 일간 일일활동유저수, 일간 신규 매출, 일간 재구매매출, 일간 누적 매출, 일간 활동시간 10분 미만 유저, 일간 자연 유입 신규 유저, 일간 광고 유입 신규 유저, 일간 활동 유저, 일간 게임 아이템 신규 구매 유저, 일간 게임 아이템 신규 구매 소요시간, 일간 게임 아이템 재구매 유저, 일간 게임 아이템 총 구매 유저, 일간 게임 아이템 5천원 이하 구매 유저, 일간 게임 아이템 5천원 ~ 1만원 구매 유저, 일간 게임 아이템 1만~1.5만원 구매 유저, 일간 게임 설치수, 일간 게임 삭제수, 일간 게임 재설치수, 일간 게임 실행수 등의 정보가 될 수 있다.
추출된 통계 지표는 일반적인 데이터베이스 시스템에 저장되거나, 상기 로그 저장부(120)에 구획되어 저장될 수 있으며, 이후 분석 모듈(140)에 의하여 필요시 활용된다. 통계 지표는 실시예에 따라 다양한 정보와, 다양한 개수가 선택될 수 있으며, 위의 통계 지표는 일례를 보여주는 것이다.
그 다음, 추출된 통계 지표와, 게임 로그 데이터를 이용하여 게임 소프트웨어에 대한 유의미한 분석 결과를 도출해내기 위한 과정(S14)이 수행된다.
즉, 수집된 게임 로그 데이터와, 상기 게임 로그 데이터를 처리하여 추출된 통계 지표들에 대한 데이터 분석(로그 분석)이 수행되며, 상기 분석 모듈(140)에 의하여 이러한 로그 데이터 분석이 수행된다.
상기 분석 모듈(140)에 의한 분석 동작은 스파크 코어(Spark Core)의 분산 컴퓨팅(Distribute Computing) 기술을 이용하며, 게임 이벤트 시작 전, 이벤트 진행중 및 이벤트 종료 후에 통계 지표 각각의 변화를 추적함으로써 이벤트 효율(또는 효용성)에 대한 평가를 가능하게 한다.
상기 분류 추출 모듈(130)에 의하여 추출된 통계 지표들을 이용하여 이벤트 시작전, 진행중 및 종료 후에 어떤 통계 지표가 얼마나 증감하였는지 여부, 지속적으로 유지된 통계 지표가 있는지 여부 및 이벤트 기간에 급격한 증감이 발생된 통계 지표가 있는지 여부를 확인함으로써 이벤트를 실시하지 않는 경우와 실시한 경우에 대한 명확한 비교가 이루어질 수 있다.
또한, 게임 로그 데이터와 통계 지표 분석을 수행(S104)하는데, 본 발명의 실시예에 따라 분석 대상의 게임이 설치된 직후 초기 이탈률 분석과, 게임 실행 중 실시간 이탈률 분석을 진행한다.
이하에서는, 게임 로그 데이터를 이용한 이탈률을 예측 및 분석하는 방법을 자세히 설명하여 본다.
먼저, 본 발명의 실시예에 따라서 게임 설치 후 초기 이탈률 분석과, 게임 실행 중 실시간 이탈률 분석을 하기 위하여 필요한 기초 데이터 분석이 수행된다.
즉, 본 발명의 분석 모듈(140)은 특정 소프트웨어(이하, 게임으로 예시함)를 사용하는 유저가 해당 게임을 지속적으로 사용할 가능성이 높은지, 아니면 해당 게임을 삭제하거나 앞으로 장기간 실행하지 않을 가능성을 예측할 수 있다. 여기서, 기초 데이터에 해당하는 로그 데이터를 생성한 단말기/유저를 제 1 유저라 할 수 있고, 상기 기초 데이터로부터 지표를 추출하여 새롭게 게임을 설치하여 이탈률 예측의 대상이 되는 단말기/유저를 제 2 유저라고도 볼 수 있다.
본 발명의 실시예에서 해당 게임의 이탈 또는 유저의 이탈은 해당 게임을 삭제하거나 기설정된 장기간 다시 접속/사용하지 않는 것을 의미하고, 게임 이탈률 또는 유저 이탈률은 상기 이탈이 발생할 가능성을 의미한다.
도 4는 본 발명의 실시예에 따라 게임 이탈률을 분석하기 위한 기준이 되는 기초 데이터를 수집 및 분석하는 과정을 설명하는 흐름도이다.
추후 수행할 이탈률 예측을 판단하기 위한 기준 지표를 특정하기 위한 과정이 선행된다.
상기 분석 모듈(140)은 상기 로그 저장부(120)에 저장된 로그 데이터들 중에서 이탈률을 분석/예측하고자 하는 게임과 관련되는 로그 데이터를 수집/분류한다(S101). 즉, 상기 로그 저장부(120)에는 게임 로그 데이터에 관한 빅데이터가 저장되어 있고, 상기 분석 모듈(140)은 이탈률을 예측하고자 하는 게임과 관련된 로그 데이터를 상기 로그 저장부(120)로부터 추출한다.
그리고, 추출된 로그 데이터들은 상기 분석 모듈(140)에 의하여 이탈률 분석/예측 대상의 게임과 관련되는 로그 데이터들을 앞서 설명한 유저 활동 정보와 단말기 상태 정보로 구분하여 분석할 수 있다.
또한, 상기 분석 모듈(140)은 해당 게임에 관련되는 것으로 판단된 로그 데이터들에 대해서 그 로그 데이터들이 작성된 시기에 따라 분류하는 작업도 수행한다. 즉, 해당 게임이 설치 후 삭제된 바 있는 유저 정보(아이디 등 계정)와, 해당 게임이 설치 후 삭제된 바 있는 단말기 정보(맥어드레스 등)에 기초하여 해당 유저와 단말기로부터 생성된 로그 데이터들을 분류하고, 분류된 로그 데이터들에 대해서 작성/생성 시기에 따라 분류한다.
여기서, 분류된 로그 데이터에 대한 작성 시기는 해당 게임에 대한 이벤트 기간 내에 작성되었는지 여부가 기준이 될 수 있다. 다른 의미로는, 분류된 로그 데이터들이 작성된 시기가 이벤트 기간 내인지 비-이벤트 기간 내인지 여부가 기준이 될 수 있다.
이벤트 기간과 비-이벤트 기간 일때의 분석되는 지표들은 동일할 수 있다. 다만, 이탈이 실제 발생한 유저 또는 단말기로부터 생성된 로그 데이터에 포함되는 정보들 특정 정보(지표 정보)들에 대한 가중치를 서로 상이하게 부여할 수 있다.
예를 들어, aX + bY + cZ = P 라는 식을 이용해서, 이탈률(P)를 정의하는 경우에, X,Y 및 Z는 로그 데이터에 포함된 지표 정보 및 수치가 되고, a,b 및 c는 각각의 지표 정보에 대한 가중치가 된다. 이탈률을 산출하는 구체적인 예로는, 이탈률(P)은 a(레이드 승률) + b(레이드 기여도) + c(유저 레벨) + d(공격력+방어력)/2로 산출될 수 있다.
본 발명에서는, 분류된 로그 데이터에 포함된 정보들 중 특정 정보(지표 정보)에 대해서 해당 로그 데이터의 작성 시기가 이벤트 기간일 때와 비-이벤트 기간일 때에 따라 서로 다른 가중치를 부여한다(S103).
앞서 정의한 바와 같은 이벤트 기간 내에는 게임 상태 정보가 변경, 즉, 게임에 참여하는 유저를 더욱 늘리기 위해 아이템 가격이 내려가거나 스테이지를 클리어하기 위해 요구되는 점수를 낮게 변경 하는 등의 변경이 이루어진다. 예를 들어, 레이드 승률은 평균적으로 이전보다 오르게 되고, 게임 내 유저별 평균 기여도도 변하게 된다. 따라서, 이벤트 기간일 때와 비-이벤트 기간일 때에 유저수 차이가 많이 발생될 수 있고, 게임의 난이도 및 유저별 기여도가 다소 변동될 수 있기 때문에, 이벤트 기간과 비-이벤트 기간을 구분하여 이탈률 예측을 위해 선택된 지표들에 대해서 다른 가중치를 부여할 필요가 있다.
그 다음, 로그 데이터에 포함된 각각의 정보(지표 정보)들에 대한 가중치가 부여된 값을 이용하여 미리 결정한 수학식에 따라 이탈률이 가장 높게 나오는지를 판단할 수 있다. 즉, 이탈이 실제로 이루어진 유저 및 단말기에서 수집된 로그 데이터에 포함된 정보들에 대해서, 작성 시기에 따른 가중치를 적용하고, 그 가중치가 적용된 값을 미리 결정한 수학식들을 이용하여 이탈률이 가장 높게 나오는 정보(지표)를 추출하여 생성한다(S104).
실제로 이탈이 발생한 로그 데이터이므로, 그 로그 데이터에서 의미있는 지표를 생성하기 위하여 미리 결정한 수학식에 각각의 정보들에 대해 가중치를 부여한 다음 계산되는 이탈률이 실제인 100%에 가장 가깝게 도출되는 지표들을 생성해 낸다. 이때, 생성되는 지표는 추후의 이탈률 예측을 위하여 사용되기 위한 기준 지표가 된다.
게임 이탈이 실제 이루어진 유저 및 단말기에 대한 로그 데이터를 다시 수집/분류하는 때에, 로그 데이터에 포함된 정보들 중 이탈률 예측을 위하여 사용되는 정보는 실시예에 따라 다양하게 변경, 수정이 가능할 것이지만, 이탈률 예측의 대상이 되는 소프트웨어가 실시예처럼 게임일 경우에는 다음의 정보들이 이탈률 예측을 위하여 사용될 수 있다. 다만, 이러한 사항은 본 발명의 일 실시예에 불과하며, 이러한 사항에 한정되는 것은 아니다.
예를 들어, 모험(어드벤처) 류의 게임일 경우에, 스테이지 완료 수준에 대한 정보, 스테이지 수행해 소요된 시간에 대한 정보, 컨텐츠 완료 비율에 대한 정보가 이탈률 예측에 활용될 수 있다.
그리고, PVP(Player Vs Player) 게임일 경우에는, PVP 승률에 대한 정보와, PVP 기여도에 대한 정보가 이탈률 예측에 활용될 수 있다.
그리고, 레이드 게임일 경우에는, 레이드 승률에 대한 정보, 레이드 기여도에 대한 정보, 레이드 획득 아이템에 대한 정보 등이 게임 이탈률을 예측하기 위하여 활용될 수 있다.
즉, 해당 게임에 대한 이탈률을 실시간으로 예측 분석하기 위하여 사용하고자 하는 지표의 선정을 완료한다.
그 다음, 상기의 선정된 지표에 따라 이탈률을 예측하는 과정이 수행된다. 이탈률 예측은 본 실시예에서는 분석 대상의 게임이 설치되는 순간의 초기 이탈률 분석과, 게임 설치 후 게임 실행 중에 실시간으로 이탈률을 분석하는 과정으로 구분될 수 있다.
도 5는 본 발명의 실시예에 따라 게임 설치 후 초기 이탈률을 예측하기 위한 방법을 설명하는 흐름도이다.
먼저, 해당 게임을 설치한 유저 및 단말기 상태 정보를 수집한다(S210). 즉, 상기 분석 모듈(140)은 특정 소프트웨어의 사용을 증대시키기 위하여 이탈률을 미리 예측하는데, 해당 소프트웨어(게임)을 설치한 유저 정보인 계정/아이디와 성별, 나이 등의 유저 정보를 추출하고, 해당 게임이 설치된 단말기의 상태 정보인 설치 단말기 종류 등의 정보를 추출한다.
그리고, 이탈률 예측을 위하여 기초 데이터(이탈 발생한 유저 및 단말기에 대한 로그 데이터)로부터 추출한 지표에 해당하는 정보들을 로그 데이터로부터 추출한다(S202). 이때, 게임 설치 단계에서부터 이탈률을 예측하기 위해서, 상기 분석 모듈(140)이 해당 게임을 설치 경로에 대한 정보를 각 로그 데이터로부터 추출한다. 해당 로그 데이터가 이벤트 기간 내에 작성되어 있는지 여부 따라서도 이탈률 예측을 위해 선정된 지표에 대한 가중치가 다르게 부여되지만, 해당 게임을 어떤 방법 또는 경로로 설치하였는지 여부에 따라서도 선정된 지표들에 대한 가중치를 상이하게 부여한다.
본 발명에서는, 보상형 광고를 통하여 게임을 설치 또는 게임을 실행한 유저를 논-오가닉 유저로 정의하고, 상기 보상형 광고 등을 통하지 않고 유저가 직접 소프트웨어 마켓 플레이스 등에서 검색 또는 선택을 통하여 게임을 설치한 유저를 오가닉 유저로 정의할 수 있다.
보상형 광고는 다양한 웹페이지나 다른 애플리케이션에서 해당 게임을 설치시에 캐쉬, 아이템 등의 혜택을 제공하는 링크를 나타낸다.
이러한 분류 중에서 논-오가닉 유저들은 게임 설치 후만을 하거나 게임 실행 후 필요 레벨만 달성한 다음 게임을 삭제하거나 게임을 다시 실행하지 않는 특징이 있다. 따라서, 본 발명에서는 게임 설치의 경로에 대한 정보가 로그 데이터에 기록되도록 한다.
그리고, 상기 분석 모듈(140)은 오가닉 유저와 논-오가닉 유저들 각각에 대한 로그 데이터에 대해서, 게임이용시간, 컨텐츠 완료율, 컨텐츠 수행하는데 소요되는 시간 등을 이탈률 예측을 위하여 이용한다.
그 다음, 추출된 지표들에 대해서는, 해당 수집된 로그 데이터의 작성 시기가 이벤트 기간 내인지 여부에 따라 서로 다른 가중치를 부여하여 수식화한다(S203).
그 다음, 가중치가 부여된 결과의 값과, 기초 데이터로부터 추출된 기준 지표로부터 산출되는 기준값을 비교하여 해당 게임의 설치 단계에서 이탈률을 예측한다(S204).
게임 설치시에 게임 설치 경로 또는 방법, 그리고 보상형 광고를 통한 유입에 대한 정보가 로그 데이터에 포함되고, 이러한 정보를 이용함으로써, 이탈률 예측시에 오가닉 유저에 대한 이탈률과, 논-오가닉 유저에 대한 이탈률을 각각 별도로 예측/분석할 수 있다. 그리고, 이탈률 예측을 의미있는 유저에 해당하는 오가닉 유저들에 대해서만 수행하는 것도 가능하다.
도 6은 본 발명의 실시예에 따라 게임 실행시에 실시간으로 이탈률을 예측하기 위한 방법을 설명하는 흐름도이다.
분석 대상의 해당 게임에 관련된 유저 또는 단말기 정보에 기초하여 게임 클라이언트(단말기)들로부터 로그 데이터를 실시간으로 수집한다(S301).
그리고, 각각의 로그 데이터들에 대해서는 이탈률 예측을 위하여 사용되도록 결정된 지표 정보에 대한 추출이 이루어지고, 로그 데이터 작성 시기가 이벤트 기간 내인지 여부에 따라 기초 지표가 변동된다(S302). 예를 들면, 이벤트 기간 내에 수집되는 로그 데이터인 경우에는 A정보, B정보 및 C정보를 기초 지표로 추출하고, 비-이벤트 기간일 때에는 B정보, C정보 및 D정보를 기초 지표로 추출할 수 있다.
또한, 수집되는 로그 데이터에 포함된 선정된 지표 정보들에 대한 가중치가 수집 시기(이벤트 기간 내인지 여부)에 따라 가중치가 다르게 적용된다(S303).
그리고, 해당 게임에 대한 이탈률을 예측하기 위하여 선정된 기준 지표들을 이용해서 실시간 수집되는 로그 데이터에 기초하여 유저의 게임 이탈률을 에측한다(S304).
그리고, 이탈률이 기설정된 값에 가깝거나 그 이상이 되는 유저 또는 단말기에 대해서는 미리 설정된 이탈 방지 알고리즘이 적용될 수 있다(S305). 이탈 방지 알고리즘은 이탈률이 높게 평가된 유저 또는 단말기의 로그 데이터에 따라 다르게 적용될 수 있는데, 게임 내 유저 활동 정보 또는 단말기 상태 정보에 따라 다양한 알고리즘이 적용될 수 있다.
예를 들면, 모험(어드벤처) 게임의 경우에, 유저 활동 정보가 기준값 보다 낮다고 판단되어 높은 이탈률로 계산되는 경우는 모험 시간이 이탈률이 낮은 그룹보다 상대적으로 길고, 게임 내에서의 무기/방어구의 수준이 현재 모험 클래스 보다 낮은 경우와, 게임 내 아이템(물약) 소비가 1.3배 높은 경우가 될 수 있다.
이때, 이탈 방지 알고리즘으로 해당 유저/캐릭터의 레벨에 맞는 모험 지역을 푸시로 추천하거나, 아이템(물약) 구매시에 높은 할인이 적용될 수 있음을 알리거나, 게임 내 상황에 맞는 아이템들을 무료로 제공하는 등의 다양한 게임 알고리즘이 변경 적용될 수 있다.
다른 예로는, 게임 내에서의 유저 활동 정보로서, 유저의 컨트롤 미숙으로 게임 이탈 가능성이 높게 판단되는 경우도 있다.
즉, 컨트롤이 미숙한 유저는 한 컨텐츠/스테이지를 클리어하는데 소요되는 시간이 상대적으로 길거나, 컨텐츠 완료 레벨이 낮거나, PVP 승률이 낮은 등의 정보가 높게 나타난다. 이때, 실시예에 따라서는 이탈 방지 알고리즘으로, 게임 내에서의 유저 캐릭터에 대한 공격력과 방어력을 향상시켜주거나, 컨트롤 향상을 위한 아이템 구입 독려하는 푸쉬 알림을 보내거나, 컨트롤이 쉽게할 수있는 아이템을 무료 또는 할인된 가격으로 판매하는 알림을 주는 등의 알고리즘이 적용될 수 있다.
또 다른 예로 게임이 설치된 단말기 정보로부터 이탈할 가능성이 높다고 판단되는 경우는, 사양이 낮은 컴퓨터 또는 핸드폰일 경우에 잦은 렉과 다운으로 인하여 이탈 가능성이 높다고 판단되는 경우가 될 수 있다. 이때는, 단말기 또는 PC등의 게임 클라이언트측의 문제로 인하여 원활한 게임 진행이 안되고 있음을 알리는 메시지를 유저에게 전달할 수 있다.

Claims (5)

  1. 단말기를 포함하는 게임 클라이언트로 게임 컨텐츠를 제공하는 게임 서버; 및
    상기 게임 클라이언트에서 작성된 상기 게임 컨텐츠에 관련되는 로그 데이터를 수집하는 로그 분석 서버;를 포함하고,
    상기 로그 분석 서버는 상기 게임 클라이언트로부터 로그 데이터를 수신하는 통신 모듈과, 상기 통신 모듈을 통하여 수집된 로그 데이터를 저장하는 로그 저장부와, 상기의 수집 또는 저장된 로그 데이터의 작성시기가 이벤트 기간인지 여부에 따라 이탈률 예측을 위해 필요한 지표의 선택과 선택된 지표에 대한 가중치를 다르게 부여함으로써 상기 로그 데이터의 분석을 수행하는 분석 모듈을 포함하고,
    상기 이벤트 기간은 상기 게임 컨텐츠에 대한 게임 이벤트가 수행되는 기간을 나타내고,
    상기 게임 이벤트는 상기 게임 컨텐츠를 수행하는 정보에 해당하는 게임 상태 정보인 게임 난이도, 게임 내 캐릭터 레벨, 및 게임 진행 속도 중 선택되는 적어도 하나 이상의 설정값이 변경되는 것을 나타내고,
    상기 분석 모듈은 상기 로그 데이터에 포함된 정보들 중 일부를 추출하고, 추출된 로그 데이터를 기초 데이터로 분석하고,
    상기 분석 모듈은 상기 기초 데이터로부터 추출되는 기초 지표로서 유저 활동 정보와, 단말기 상태 정보를 추출하고,
    상기 유저 활동 정보는 상기 게임 컨텐츠 내에서의 유저 활동 기록에 대한 정보로서, 게임 내에서의 아이템 구입 정보, 게임 스테이지의 진행 정보, 상기 게임 컨텐츠의 실행 횟수 및 실행 시간에 대한 정보 중 적어도 하나 이상을 포함하고,
    상기 단말기 상태 정보는 상기 게임 컨텐츠가 상기 게임 클라이언트에서 실행되기 전 및 실행되는 때의 상기 게임 클라이언트의 네트워크 상태에 대한 정보를 포함하고,
    상기 분석 모듈은 상기 기초 데이터의 분석결과로부터 이탈률 예측을 위한 기초 지표를 추출하고, 추출된 기초 지표를 이용하여 상기 게임 클라이언트에서의 이탈률을 예측하는 것을 특징으로 하는 게임 로그 분석 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 게임 컨텐츠가 상기 게임 클라이언트 중 어느 하나인 단말기에 설치되는 경우에, 상기 분석 모듈은 상기 단말기에서 상기 게임 컨텐츠가 삭제되는 것을 의미하는 이탈률 중 하나인 초기 이탈률을 예측하기 위하여 동작하고,
    상기 분석 모듈은 상기 단말기에서 수집되는 로그 데이터에서 상기 게임 컨텐츠의 설치 경로 및 설치 방법에 대한 정보로부터 제 1 유저인지 제 2 유저에 해당하는지를 판단하고,
    상기 분석 모듈은 상기 제 1 유저 또는 제 2 유저인지 여부에 따라 상기 초기 이탈률의 분석을 수행하지 않거나 상기 유저 활동 정보에 대한 가중치를 상이하게 적용하는 것을 특징으로 하는 게임 로그 분석 방법.
  4. 제 1 항에 있어서,
    상기 게임 컨텐츠가 상기 게임 클라이언트 중 어느 하나인 단말기에 설치되고, 상기 단말기에서 상기 게임 컨텐츠가 실행되는 경우에, 상기 분석 모듈은 상기 단말기에서 작성되는 로그 데이터와 상기 기초 지표를 비교하여 실시간 이탈률을 예측하는 동작을 수행하고,
    상기 분석 모듈은 상기 단말기에서 작성되어 수집되는 로그 데이터가 상기 이벤트 기간 인지 여부에 따라 가중치를 다르게 부여하여 상기 기초 지표와 비교 또는 수식화하여 연산하는 것을 특징으로 하는 게임 로그 분석 방법.
  5. 제 4 항에 있어서,
    상기 분석 모듈은 상기 기초 지표와 실시간 수집되는 로그 데이터를 이용하여 상기 이탈률이 기설정된 기준값 보다 크다고 판단하는 경우에는, 상기 단말기에서 실행중인 상기 게임 컨텐츠의 게임 상태 정보를 변경하여 유저의 게임 컨텐츠 참여율을 높이기 위한 이탈 방지 알고리즘을 수행하는 것을 특징으로 하는 게임 로그 분석 방법.
KR1020160144166A 2016-11-01 2016-11-01 게임 로그 분석 방법 KR101733458B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160144166A KR101733458B1 (ko) 2016-11-01 2016-11-01 게임 로그 분석 방법
CN201710018947.9A CN108014496B (zh) 2016-11-01 2017-01-11 游戏记录分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160144166A KR101733458B1 (ko) 2016-11-01 2016-11-01 게임 로그 분석 방법

Publications (1)

Publication Number Publication Date
KR101733458B1 true KR101733458B1 (ko) 2017-05-10

Family

ID=58743837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160144166A KR101733458B1 (ko) 2016-11-01 2016-11-01 게임 로그 분석 방법

Country Status (2)

Country Link
KR (1) KR101733458B1 (ko)
CN (1) CN108014496B (ko)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101852079B1 (ko) 2018-03-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR101852077B1 (ko) * 2018-01-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치 및 분산 원장 방법
KR101852078B1 (ko) 2018-03-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR101852080B1 (ko) * 2018-03-16 2018-06-07 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 강화학습을 이용한 분산 원장 장치 및 분산 원장 방법
KR101870112B1 (ko) * 2018-04-18 2018-06-21 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR101870113B1 (ko) * 2018-04-18 2018-06-22 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR102010031B1 (ko) * 2018-12-12 2019-08-12 넷마블 주식회사 게임 지표 정보 예측 방법 및 장치
KR20190119323A (ko) * 2018-04-12 2019-10-22 넷마블 주식회사 로그 데이터 기반의 동시 접속자수 집계 장치 및 방법
KR20200009246A (ko) * 2018-07-18 2020-01-30 주식회사 카카오게임즈 게임 플레이어 관리 방법
KR20200081171A (ko) * 2018-12-27 2020-07-07 일렉트로닉 아트 아이엔씨. 감각 기반의 동적 게임 상태 구성
KR20200120129A (ko) * 2019-04-11 2020-10-21 넷마블 주식회사 게임 업데이트 가이드를 위한 방법 및 장치
KR20200124921A (ko) * 2019-04-25 2020-11-04 넷마블 주식회사 게임 컨텐츠 제공 방법
CN111897888A (zh) * 2020-08-17 2020-11-06 国网辽宁省电力有限公司沈阳供电公司 基于Spark框架和凝聚层次聚类算法的户变关系识别方法
US10866706B2 (en) 2017-08-23 2020-12-15 Samsung Electronics Co., Ltd. Electronic device for displaying application and operating method thereof
KR20220099425A (ko) * 2021-01-06 2022-07-13 (주)지엔에이컴퍼니 Ai 기반의 사용자 게임 플레이 예측 시스템
KR20230023950A (ko) 2021-08-11 2023-02-20 넷마블 주식회사 게임 내 허들(huddle)을 탐지하는 방법
WO2023157994A1 (ko) * 2022-02-21 2023-08-24 (주)지엔에이컴퍼니 Ai 기반의 사용자 게임 플레이 예측 시스템
WO2023229098A1 (ko) * 2022-05-26 2023-11-30 주식회사 센티언스 분석결과를 효과적으로 표시하는 데이터분석장치 및 데이터분석장치의 동작 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6573205B2 (ja) * 2018-09-10 2019-09-11 澪標アナリティクス株式会社 一のユーザによるアプリケーションプログラムの利用に関する予測データを計算する情報処理装置、情報処理方法、プログラム及びマーケティング情報処理装置
CN110935176B (zh) * 2019-11-27 2023-09-12 上海畅造网络科技有限公司 一种基于大数据的游戏指令预判系统及其工作方法
CN112667578A (zh) * 2020-12-29 2021-04-16 广州市昊盟计算机科技有限公司 一种游戏日志数据实时处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350593B1 (en) * 2013-01-09 2016-05-24 Facebook, Inc. Device state capture and analysis
CN103166957A (zh) * 2013-02-21 2013-06-19 浙江大学 虚拟游戏与真实环境游戏之间的数据交互方法
CN104331404B (zh) * 2013-07-22 2018-05-01 中国科学院深圳先进技术研究院 一种基于用户手机上网数据的用户行为预测方法和装置
CN105894324A (zh) * 2016-03-30 2016-08-24 盛趣信息技术(上海)有限公司 游戏奖励方法及系统
CN105912729B (zh) * 2016-05-19 2019-05-14 华南理工大学 基于三维时序动态模型的手机游戏推荐系统

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10866706B2 (en) 2017-08-23 2020-12-15 Samsung Electronics Co., Ltd. Electronic device for displaying application and operating method thereof
KR101852077B1 (ko) * 2018-01-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위한 분산 원장 장치 및 분산 원장 방법
KR101852079B1 (ko) 2018-03-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR101852078B1 (ko) 2018-03-16 2018-04-27 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 조정 정보를 이용한 분산 원장 장치 및 분산 원장 방법
KR101852080B1 (ko) * 2018-03-16 2018-06-07 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 강화학습을 이용한 분산 원장 장치 및 분산 원장 방법
KR20190119323A (ko) * 2018-04-12 2019-10-22 넷마블 주식회사 로그 데이터 기반의 동시 접속자수 집계 장치 및 방법
KR102085364B1 (ko) * 2018-04-12 2020-05-27 넷마블 주식회사 로그 데이터 기반의 동시 접속자수 집계 장치 및 방법
KR101870112B1 (ko) * 2018-04-18 2018-06-21 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR101870113B1 (ko) * 2018-04-18 2018-06-22 주식회사 미탭스플러스 블록체인 기반의 게임 난이도 조절을 위해 작업 증명을 이용한 분산 원장 장치 및 분산 원장 방법
KR20200009246A (ko) * 2018-07-18 2020-01-30 주식회사 카카오게임즈 게임 플레이어 관리 방법
KR102095010B1 (ko) * 2018-07-18 2020-03-30 주식회사 카카오게임즈 게임 플레이어 관리 방법
KR102010031B1 (ko) * 2018-12-12 2019-08-12 넷마블 주식회사 게임 지표 정보 예측 방법 및 장치
CN111375196A (zh) * 2018-12-27 2020-07-07 电子技术公司 基于感知的动态游戏状态配置
KR20200081171A (ko) * 2018-12-27 2020-07-07 일렉트로닉 아트 아이엔씨. 감각 기반의 동적 게임 상태 구성
CN111375196B (zh) * 2018-12-27 2023-08-04 电子技术公司 基于感知的动态游戏状态配置
KR102239062B1 (ko) * 2018-12-27 2021-04-12 일렉트로닉 아트 아이엔씨. 감각 기반의 동적 게임 상태 구성
US10835823B2 (en) 2018-12-27 2020-11-17 Electronic Arts Inc. Sensory-based dynamic game-state configuration
KR102187880B1 (ko) * 2019-04-11 2020-12-08 넷마블 주식회사 게임 업데이트 가이드를 위한 방법 및 장치
KR20200120129A (ko) * 2019-04-11 2020-10-21 넷마블 주식회사 게임 업데이트 가이드를 위한 방법 및 장치
KR102186412B1 (ko) * 2019-04-25 2020-12-03 넷마블 주식회사 게임 컨텐츠 제공 방법
KR20200124921A (ko) * 2019-04-25 2020-11-04 넷마블 주식회사 게임 컨텐츠 제공 방법
CN111897888A (zh) * 2020-08-17 2020-11-06 国网辽宁省电力有限公司沈阳供电公司 基于Spark框架和凝聚层次聚类算法的户变关系识别方法
KR20220099425A (ko) * 2021-01-06 2022-07-13 (주)지엔에이컴퍼니 Ai 기반의 사용자 게임 플레이 예측 시스템
KR102517835B1 (ko) * 2021-01-06 2023-04-05 (주)지엔에이컴퍼니 Ai 기반의 사용자 게임 플레이 예측 시스템
KR20230023950A (ko) 2021-08-11 2023-02-20 넷마블 주식회사 게임 내 허들(huddle)을 탐지하는 방법
WO2023157994A1 (ko) * 2022-02-21 2023-08-24 (주)지엔에이컴퍼니 Ai 기반의 사용자 게임 플레이 예측 시스템
WO2023229098A1 (ko) * 2022-05-26 2023-11-30 주식회사 센티언스 분석결과를 효과적으로 표시하는 데이터분석장치 및 데이터분석장치의 동작 방법

Also Published As

Publication number Publication date
CN108014496B (zh) 2020-11-10
CN108014496A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
KR101733458B1 (ko) 게임 로그 분석 방법
Lee et al. Game data mining competition on churn prediction and survival analysis using commercial game log data
US8851966B2 (en) Predictive analytics for targeted player engagement in a gaming system
Drachen et al. Rapid prediction of player retention in free-to-play mobile games
US20130268393A1 (en) Third-Party Recommendation in Game System
US20110218045A1 (en) Predicting game player monetization based on player logs
CN109670847B (zh) 资源的分配方法和装置
CN108122127A (zh) 预测在线游戏服务的运行结果的方法及装置
CN113101655B (zh) 一种虚拟道具推荐方法、装置、设备及存储介质
US20190340587A1 (en) Systems and Methods to Maintain a Limited Supply of a Total Number of Existing Units of a Coin in a Platform
CN112053198B (zh) 一种游戏数据处理方法、装置、设备和介质
CN113343089A (zh) 用户召回方法及装置、设备
CN106373014A (zh) 一种评估应用健康度的方法及装置
Choi et al. Detecting and monitoring game bots based on large-scale user-behavior log data analysis in multiplayer online games
KR20190123656A (ko) 컴퓨팅 장치에서 게임 애플리케이션의 데이터를 처리하는 방법, 및 컴퓨팅 장치
CN113230665A (zh) 资源分配方法及装置
KR102517835B1 (ko) Ai 기반의 사용자 게임 플레이 예측 시스템
US20220203244A1 (en) Methods and systems for generating multimedia content based on processed data with variable privacy concerns
US20160346687A1 (en) Online Game Having a Computerized Recommender System
CN107609895B (zh) 一种合并业务区域的处理方法及其设备
CN111475268A (zh) 任务项的分配方法、装置、设备及可读存储介质
US20160271500A1 (en) System and Method for Analyzing Data Associated with Electronic Games
US20200242513A1 (en) Technologies for implementing system for aggregating data and providing an application
CN113318448B (zh) 游戏资源展示方法及装置、设备、模型训练方法
KR101222251B1 (ko) 온라인 게임의 아이템 추천 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant