베테랑 플레이어들의 이탈을 예측하다
작성자: 드미트리 노즈닌(Dmitry Nozhnin) 작성일: 2012.8.30
러시아의 MMO 배급사 이노바(Innova)에서 통화 재정과 분석을 맡고 있는 드미트리 노즈닌(Dmitry Nozhnin)이 플레이어 이탈을 예측하는 지난 기사 1 에 이어 베테랑 플레이어들이 게임을 그만두는 시기를 예측하는 방법론을 보여준다. 플레이어들이 게임을 그만두는 때를 이삼 주 전에 알아내는데 그 정확성이 95퍼센트에 달한다. 모두 NCSoft의 <아이온(Aion)> 러시아 버전의 라이브 환경에서 진행되었다.
지난 기사2에서 나는 막 게임에 등록한 신입 유저들의 이탈(churn)을 예견하기 위해 우리가 개발한 프로세스를 보여주었다. 이는 유저들이 게임을 훑어보는 첫 이삼일의 자료를 토대로 했었다. 한편 스펙트럼 저쪽 끝에는 몇 달씩 게임을 하다가 여러 이유로 게임을 접는 노련한 게이머들이 있다. 이 글에서 우리는 게임을 그만두려는 마음을 예측하는 것이 가능하다는 것과 함께, 데이터 마이닝 방법론을 공유하고자 한다.
기술적인 면
첫 데이터 마이닝 프로젝트로부터 바뀐 것은 아무것도 없었다. 우리는 여전히 32기가 램 듀얼 제온 E5630 블레이드 두 개, 10 TB 콜드 스토리지와 3TB 핫 스토리지 RAID10 SAS 유닛을 돌렸다. 두 블레이드 모두 MS SQL 2008R2로, 하나는 데이터 웨어하우스로 쓰고, 다른 하나는 MS Analysis Services용이었다. 표준 MS BI 소프트웨어 스택만 사용했다.
우리 데이터셋에는 3만 8000여 명에 달하는 베테랑 플레이어들의 게임플레이를 최대 육 개월까지 보관했다.
이탈 시점을 규정하다
새로운 플레이어들의 이탈을 규정하는 것은 아주 단순하다. 그들은 몇 분 혹은 몇 시간 뒤 게임을 떠난다. 그게 전부다. 게임을 접는 날이 명확하게 규정되었고 그런 이탈 요인의 데이터 마이닝 모델은 이미 잘 구축되어 있었다. 그러나 베테랑의 경우에는 분명히 게임에서 떠났다고 규정하려면 여러 번 반복해야 했다. 우리의 첫 추정은 이랬다. 한 플레이어가 게임을 한동안 즐기고 있다. 하지만 그러다 그만두고 떠나기로 결심한다. 이 플레이어가 게임을 한 날을 녹색으로 표시하면서 우리는 이렇게 예상했다.
이탈 포인트를 규정한 우리의 추측은 간단했다. 마지막으로 게임을 한 날. 그러나, 현실은 더 복잡했다. 대다수의 플레이어들은 이렇게 행동했다.
우리가 마지막으로 그 플레이어를 본 게, 즉 8월 25일이 이탈 포인트인가? 혹은 사실상 7일을 연속으로 보지 못한 8월 16일인가? 아니면 처음으로 7일보다 더 오래 게임에 접속하지 않았던 7월 31일인가? 우리는 여러 가설을 세웠고, 단순한 가정은 잘 들어맞지 않았다. 단순한 방법으로 이탈을 규정하는 것은, 말하자면 특정 날이 마지막일 것이라고 예측하는 것은 정확도가 65퍼센트밖에 되지 않았다.
수작업으로 데이터를 점검해보니 게임에서 이탈하는 플레이어들의 대다수가 꼬리가 길다(long tail)는 것을 알 수 있었다. 두 번째 달력의 예에서 볼 수 있듯 몇 주 혹은 몇 달 동안 가끔씩 게임을 하는 것처럼 말이다. 이들은 활발하게 게임 하는 것은 실질적으로 그만두었지만 가끔 로그인을 한다. 사실 게임은 이미 접었지만 경매나 채팅을 하기 위해서이거나, 어쩌면 길드 친구(guildmate)들에게 계정을 넘겨주었기 때문에 가끔 로그인하는 것이다.
다음 단계는 플레이어의 활동이 줄어들기 시작한 날을 역추적하기 위해 실증적인 기준치를 사용해 이 꼬리를 잘라내는 것이었다. 가장 효과적인 질문(query)은 이런 것이었다. “지난 30일 동안 게임을 한 날이 9일보다 적을 때 플레이어의 마지막 날은?” 그럼에도 정확도는 80퍼센트가 안 됐고, 실증적인 규칙은 아주 캐주얼한 플레이어들에게는 적용되었지만 충성도 높은 플레이어들에게는 적용되지 않았다.
이탈 순간을 재규정하다
이 프로젝트가 성공할 수 있었던 주요 요인은 이탈 순간을 “플레이어가 게임을 떠났을 때”에서 “플레이어의 활동이 이탈 한계점 아래로 떨어졌을 때”로 재구성한 것이었다. 우리는 이미 “지난 30일 중 게임에 로그인한 날”로 정의되는 빈도 기준(Frequency metric)을 만들어두고 폭넓게 사용하고 있다. 요컨대, 이는 플레이어가 얼마나 자주 게임을 해왔는지를 의미한다. 매일, 하루 걸러, 주말에, 한 달에 단 며칠일 수 있다. 우리는 플레이어들을 플레이 빈도에 따라 다음과 같이 나눈다.
다음 단계는 그들이 이탈의 아주 높은 가능성을 가진 극도의 휴지 상태 구역인 “구덩이(The Pit)”로 떨어질 때 이탈을 재규정하는 것이다. 이 아이디어는 비즈니스 견해로 볼 때 정말 타당하다. 이탈자들을 그들이 게임을 영원히 떠나는 날 발견해내는 대신, 우리는 일찍 발견하는 것에, 그리고 흥미를 잃은 플레이어들을 예상하는 것에 포커스를 맞추고 있다. 그리고 몇 주 동안 그들이 계속 게임을 하도록 장려한다.
이 새로운 접근은 2주 안에 구덩이로 떨어질 7-9, 10-15, 그리고 16-20 집단의 플레이어들, 3주 안에 떨어질 21-25 집단을 예상하는 것이었다. 그래서 우리는 탄력을 잃고 있는, 다음 몇 주에 걸쳐 활동이 상당히 떨어지는 플레이어들 찾고 있다.
※ 자세한 내용은 첨부(PDF)화일을 참고하시기 바랍니다.
|