d라이브러리









데이터를 요리하는 기본적인 레시피를 알려드렸으니 이제 요리하는 걸 한번 보여드릴게유. 오늘 요리할 데이터는 청소년이 좋아하는 온라인 게임의 데이터예유.

 

 

많은 사람이 즐기는 온라인 게임은 실시간으로 데이터가 쏟아져나오기 때문에 데이터 과학자에게는 다양한 분석을 할 수 있는 일종의 ‘데이터 샘물’입니다. 국내 게임회사인 엔씨소프트는 데이터 분석팀을 만들어 사용자가 게임을 하면서 만들어내는 다양한 데이터를 분석하고 있습니다. 대표적인 사례는 게임에서 이탈하는 사용자의 특징을 분석한 연구로, 2018년 ‘국제전기전자공학회(IEEE)’에서 발행하는 국제학술지에도 소개됐습니다.


이은조 엔씨소프트 I&I실장이 주도한 연구를 보면 앞서 설명한 데이터 분석 과정을 실제로 어떻게 적용하는지 알 수 있습니다. 연구팀은 ‘아이온’이라는 ‘대규모 다중사용자 온라인 롤플레잉 게임(MMORPG)’을 분석했습니다. 2014년 11월부터 2017년 7월까지 약 100만 명이 게임에 남긴 기록을 분석해 게임을 그만두는 사용자는 어떤 특징을 갖는지 알아냈죠.

 

함수와 그래프로 찾아낸 게임 이탈자


연구팀은 우선 어떤 사용자가 게임에서 이탈했는지를 알기 위해 함수와 그래프를 활용했습니다. 먼저 n주 동안 게임에 로그인하지 않은 사용자의 수를 F(n)이라는 함수로 뒀습니다. 그리고 게임에서 대규모 업데이트를 진행하는 주기인 6개월(26주)을 기준으로 n주 동안 로그인하지 않은 사용자와 26주 동안 로그인하지 않은 사용자의 비율을 나타내는 함수 Pn을 정의했습니다. 

 


그리고 n에 대한 함수 Pn을 그래프로 나타냈습니다. 이때 독특한 그래프를 그렸는데요, 수학자 존 튜키가 고안한 ‘상자 수염 그림(박스 플롯)’이라는 이름의 그래프입니다. 상자 수염 그림은 한 집단이 나타내는 값의 분포를 나타내는 그래프로, 중앙값, 최댓값, 최솟값 등 다양한 정보를 담고 있기 때문에 어떤 집단의 시간에 따른 변화를 확인할 때 유용한 그래프입니다. 


연구팀이 게임 이탈자 분석에서 상자 수염 그림을 쓴 이유는 특정 n에 대한 Pn이 하나가 아닌 여러 개이기 때문입니다. 데이터를 모은 기간이 약 2년 8개월이어서 6개월 이상의 기간에 대한 Pn을 구하면 여러 개의 값이 나올 수밖에 없죠. 이때 Pn을 평균값으로 쓰면 된다고 생각할 수 있지만 이럴 경우 정보가 왜곡될 수 있습니다. 예를 들어 P7이 1, 2, 4, 6, 97이라면 평균은 22입니다. 하지만 22는 97 때문에 P7이라는 수의 집합을 대표하기에 적합하지 않습니다. 평균값보다는 여러 자료 중 가운데 값인 중앙값 4를 대푯값으로 취하는 것이 더 적절합니다. 상자 수염 그림은 특정 집단의 분포와 중앙값을 모두 보여주면서 시간에 따른 변화까지 한눈에 확인할 수 있게 도와주는 효과적인 도구입니다. 

 


이은조 실장은 “상자 수염 그림은 집단의 분포를 직관적으로 확인하고, 둘 이상 집단의 값 비교나 추세 변화를 확인하기 좋은 그래프”라고 설명했습니다.


그래프를 그린 뒤 연구팀은 Pn이 1에 가까운 0.75를 사용자의 이탈 시점으로 잡았습니다. 엄밀히 따지면 26주 동안 게임을 하지 않은 사용자가 이탈자지만, 이런 사용자를 분석하는 것은 이탈을 방지하는 데 도움이 되지 않기 때문이죠. 어느 시점에서 사용자가 이탈하지 않도록 조치하려면 너무 늦지도, 이르지도 않은 시점을 설정하고 그 기간 동안 로그인하지 않은 사용자의 특성을 파악하는 것이 중요합니다. 그래서 논의한 끝에 이탈자의 75%가 발생하는 13주를 기준으로 잡았습니다. 

 

▲ PDF에서 고화질로 확인할 수 있습니다.

 

 

게임 그만두는 이유, 단서는 네트워크 그래프 속에!

 


연구팀은 사용자가 이탈하기 전까지 게임에서 어떤 행동을 보였는지 알아봤습니다. 특히 아이온처럼 여럿이 함께 즐기는 MMORPG에서는 사용자 사이의 상호작용이 중요하다는 점에 주목했습니다. 다른 사용자와 어떤 관계를 맺었는지가 사용자의 이탈에 영향을 줬을거라고 본 겁니다. 가령 게임에서 다른 사용자와 잘 어울리지 못하는 사용자는 게임에 흥미를 잃고 그만둘 가능성이 크다고 추정했습니다.


이를 확인하기 위해 연구팀은 사용자들의 ‘파티 활동’ 데이터를 분석했습니다. 파티란 여러 사용자가 공통의 목적을 달성하기 위해 게임 속에서 구성한 소그룹입니다. 혼자 상대하기 어려운 적을 여럿이 힘을 합쳐 무찌르는 것이 파티 활동의 예입니다. 연구팀은 ‘일주일에 최소 두 번 이상 파티 활동을 한 경우’로만 한정해 데이터를 분류하고 네트워크 그래프를 그렸습니다. 이때 네트워크의 점은 사용자고, 함께 파티 활동을 한 사용자는 선으로 연결했습니다.


이렇게 만든 네트워크 그래프에는 여러 개의 군집이 나타나는데, 각 군집은 친밀한 사용자의 모임이라고 할 수 있습니다. 연구팀은 나중에 게임을 그만둔 사용자가 많이 속한 집단과 게임을 오랫동안 즐긴 사용자가 많은 집단의 특징을 비교했습니다. 그 결과 이탈 사용자가 속한 집단은 네트워크의 연결이 느슨했습니다. 


예를 들어 A, B, C, D, E, F라는 사용자가 있을 때 A와 B, A와 C, A와 D, A와 E, A와 F는 파티 활동을 하지만 B~F 사이에는 서로 교류가 없는 경우죠. 반면 충성도 높은 사용자들의 네트워크는 복잡하게 얽혀서 집단 내에서 자주 상대를 바꿔가며 파티 활동을 한다는 것을 알 수 있었습니다. 

 

 

 

기계학습으로 이탈할 사용자 예측!


함수를 만들고, 그래프와 네트워크를 만들어서 어떤 활동 특징을 보이는 사용자가 게임을 그만둘 확률이 높은지 알았습니다. 그런 뒤 연구팀은 현재 게임을 하는 사용자 중에서 앞으로 그만둘 가능성이 높은 사용자를 자동으로 분류해내기 위해 기계학습을 활용했습니다.


머신러닝이라고도 부르는 기계학습은 컴퓨터가 데이터를 학습해서 예측과 분류 등의 작업을 자동으로 수행하게 하는 기술을 말합니다. 기계학습에는 다양한 알고리듬이 있는데, 연구팀은 미국의 통계학자 레오 브라이먼이 고안한 ‘랜덤 포레스트’를 포함한 세 가지 기법을 이용해 데이터를 학습시켰습니다.


랜덤 포레스트는 여러 개의 ‘의사결정나무’ 알고리듬에 데이터를 학습시킨 뒤 그 결과를 종합해 일종의 ‘다수결의 원칙’에 따라 판단 혹은 예측하는 알고리듬입니다. 의사결정나무 알고리듬 여러 개를 모은 것이어서 숲이라는 뜻을 가진 ‘포레스트’라는 단어를 쓴 겁니다. 의사결정나무 알고리듬은 그 자체가 하나의 예측 모형으로, 데이터를 여러 단계의 질문을 거치면서 분류하는 기법입니다. 그 방법이 마치 나뭇가지 모양과 비슷해서 의사결정나무라는 이름이 붙었습니다. 


연구팀은 이렇게 만든 모형으로 특정 사용자가 앞으로 4주 이내에 게임에서 이탈할지를 얼마나 정확하게 판단하는지 실험했습니다. 그 결과 알고리듬이 최고 86%의 정확도로 어떤 사용자가 이탈할지, 게임을 계속 즐길지 예측할 수 있었습니다.

 

 

2020년 09월 수학동아 정보

  • 최영준 기자 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 통계학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?