들어가며

앞선 포스팅에서는 저희 회사 게임을 대상으로 좋은 아이템(영웅/전설 등급 전직 아이템)이 유저의 게임 플레이에 영향을 미치는지 인과 분석한 내용을 소개해 드렸습니다.(게임 플레이어는 좋은 아이템을 획득하면 게임을 더 열심히 하게 될까?). 접속 일수, 결제 금액 등 아이템 획득 전후 30일(단기간) 간 게임 플레이 활동의 변화값을 보았을 때 전반적으로 좋은 아이템을 획득한 사건이 플레이 활동 증대에 영향을 미친다는 결과가 나왔습니다.

그런데 분석을 하던 중 “획득한 아이템에 만족스럽지 않다면 플레이 변화가 없거나 이후 활동량이 감소하지 않을까?” 라는 궁금증이 생겼습니다. 캐릭터가 갖는 직업에 따라 사용하는 무기가 정해지는데 최초 획득한 영웅/전설 등급 전직이 다른 직업인 경우 무기 및 스탯, 스킬을 다시 세팅해야하는 불편함이 있기 때문입니다. (예를 들면 기존에 사용하던 직업은 원거리 무기를 사용하는 직업인데, 근거리 무기를 사용하는 영웅/전설 등급 전직을 획득한 경우입니다.)

아무리 기존의 전직보다 스탯, 속도 측면에서 좋은 영웅/전설 등급을 얻었다고 할지라도, 내가 사용하지 않던 직업 아이템이라면 이에 만족하지 않을 수 있고, 이에 따라 플레이 변화가 다르게 나타날 수 있지 않을까? 라는 생각이 들어 후속 분석을 진행하게 되었습니다.

상세 내용을 공유드리기 전에 배경을 간략히 설명 드리면, 영웅 등급 이상 전직 아이템은 획득 후 동일 등급의 다른 전직 아이템으로 랜덤 변경할 수 있는 기회가 주어집니다. 무제한으로 변경 가능한 건 아니고, 최대 변경 횟수가 있으며 변경 시에는 소정의 비용이 요구됩니다. 영웅 등급 이상은 매우 얻기 어렵기 때문에 만약 원하는 전직 아이템이 아닌 경우, 아이템을 변경하는 것이 새로 획득하는 것보다 나은 경우가 많습니다.


[그림1] 영웅/전설 획득 ~ 전직까지의 절차

그래서 본 포스팅에서는 “최초로 획득한 영웅/전설 등급 전직에 대한 만족도에 따라 향후 플레이 변화 차이가 있을까?”, 즉 “최초 획득한 영웅/전설 등급 전직에 대한 만족도는 향후 플레이 변화 차이를 일으키는 원인이 될까?”로 분석한 내용을 공유드리고자 합니다.

본 포스팅은 앞선 분석의 후속 분석으로 설계 및 결과 부분에 유사한 내용이 많아 간략히 작성하였습니다. 해당 내용을 먼저 보고 오시는 것을 추천드립니다 :)

→ (보고오기) 게임 플레이어는 좋은 아이템을 획득하면 게임을 더 열심히 하게 될까?

분석 설계

분석 설계를 간단히 말씀드리면 다음과 같습니다.

영웅/전설 등급을 획득한 유저를 대상으로 획득한 등급 전직에 대한 만족 여부에 따라 획득 전후 30일 간 접속 일수, 결제 금액 등 플레이 변화의 평균 비교 및 통계적 유의성을 확인합니다.

여기서 만족도를 세밀하게 측정하기 위해 최초 획득한 영웅/전설에 대한 최초 만족도와 최종적으로 사용하게 될 영웅/전설에 대한 최종 만족도 두 가지를 같이 보았습니다. 최초 만족도는 유저를 그룹으로 구분하는 기준으로 사용하였고 실제 영웅/전설을 전직하여 플레이하며 느끼는 것은 최종 만족도에 해당하므로 이를 기준으로 두 집단으로 나누어 플레이 변화를 비교하였습니다.

그 후 두 집단 간 공정한 비교가 가능하도록 설계하기 위해 앞서 분석한 인과 분석 방식을 주로 참고하였습니다.

1. 변수 정의

1-1. 원인 변수 및 결과 변수

원인 변수는 “획득한 영웅/전설 등급 전직에 대한 만족도”입니다. 위에서 설명드린 것처럼 획득한 영웅/전설 등급을 변경할 수 있는 시스템이 있기 때문에 만족도는 변경 전과 변경 후 두 단계로 걸쳐 측정하는 것이 적절하다고 판단하였습니다. (변경하지 않은 경우 최초 획득한 영웅/전설은 최종 획득한 영웅/전설과 같습니다. 이 경우 최종 만족도는 최초에 획득한 영웅/전설에 대한 동일 무기 포함 여부를 의미합니다.)

  1. 최초 만족도 : 최초 획득한 영웅/전설을 유지 or 변경하였는가?(“유지 여부”)
    • 유지 : 만족함
    • 변경 : 불만족함
  2. 최종 만족도 : 최종 획득한 영웅/전설이 기존에 사용한 무기를 사용할 수 있는 직업인가?(“동일 무기 포함 여부”)
    • 포함 : 만족함
    • 미포함 : 불만족함

이 두 변수 중 전직을 한 후 실제로 플레이하며 느끼는 영웅/전설에 대한 만족도는 최종 만족도이므로 플레이 변화에 미치는 인과 효과를 확인하기 위해서는 최종 만족도를 사용하는 것이 적절하다고 판단하였습니다.

그리고 추가로 만족도를 세밀하게 측정하기 위해 최종 획득한 영웅/전설에 대한 만족 여부(최종 만족도) 뿐만 아니라 최초 획득한 영웅/전설에 대한 만족 여부(최초 만족도)도 같이 고려하는 것이 중요하다고 판단하였습니다. 예를 들어, 똑같이 최종 영웅/전설에 만족한 유저라도 최초 만족 여부에 따라 최종 영웅/전설에 느끼는 애착이 다를 것이고, 이는 플레이 변화에 영향을 줄 수 있습니다.

  • case1) 최초 만족 → 최종 만족 : 처음부터 만족하는 영웅/전설을 획득하여 변경 없이 사용
  • case2) 최초 불만족 → 최종 만족 : 처음 획득한 영웅/전설에 불만족하여 랜덤 변경하였고, 만족하는 것을 얻음
    • case1과 달리 랜덤 변경이라는 본인의 노력을 들여 최종 만족하는 영웅/전설을 획득한 경우임
    • 획득한 영웅/전설에 대한 애착은 case1보다 높을 수 있음 → 애착은 플레이 변화에서 다르게 나타날 것

즉, 최초 만족도도 같이 고려하여야 유저가 획득한 영웅/전설에 대해 느끼는 만족도를 세밀하게 측정할 수 있을 것입니다. 이를 반영하기 위해 최초 만족 여부가 같은 유저끼리 그룹화하여 각각 최종 만족도가 플레이 변화에 미치는 인과 관계를 측정하는 것으로 설계하였습니다. 정리하면 다음과 같습니다.


[그림2] 최초 만족도와 최종 만족도에 따른 인과 분석 설계

  • 최초 만족도(유지 여부) : 그룹을 나누는 기준으로 사용
  • 최종 만족도(동일 무기 포함 여부) : 영웅/전설에 대한 만족도를 측정하는 기준으로 사용

결과 변수는 앞서 진행한 분석과 동일하게 3개의 결과 변수를 사용하였습니다.

  • 전후 30일 간 접속 일수 변화
  • 전후 30일 간 결제 금액 변화
  • 1/2/3/4주 후 유저 그룹 지표 상향 여부

1-2. 통제 변수 후보

통제 변수도 마찬가지로 동일한 변수 9개를 후보 변수로 사용하였습니다.

  • 성장 : 희귀 등급 수, 컬렉션 완성 횟수, 스킬 습득 수, 인챈트 성공 횟수, 등급 합성 성공 횟수
  • 정체 : 사망 횟수
  • 매몰 비용 : 계정 생성 후 경과일, 레벨, 총 결제액

2. 분석 기간 및 대상 선정

앞서 분석한 5개의 기간에 대해 유사한 결과가 나왔기 때문에 본 분석은 그 기간들 중 하나의 기간을 선택하여 분석을 진행하였습니다.

원인 변수가 “획득한 영웅/전설 등급에 대한 만족 여부”이므로 영웅/전설을 획득한 유저에 한해서 분석을 진행하였습니다.

3. 세부 그룹

앞서 진행한 분석에서 유저 등급 지표(그룹1, 그룹2)와 기존 결제 여부(과금 그룹, 무과금 그룹)에 따라 인과 효과가 다르게 나타날 것으로 판단하여 각 그룹별로 인과 효과를 추정하였습니다. 본 분석에서도 해당 기준을 참고하였으나 약간의 변화를 주었습니다.

결제 금액 변화 인과 효과 추정 시 유저 등급 지표와 기존 결제 여부 2개의 기준으로 총 4개의 그룹별 인과 효과를 추정하였으나, 유저 등급 지표에 따라서는 인과 효과의 차이가 크지 않았고 기존 결제 여부 그룹에 따라 차이가 크게 나타났습니다. 그래서 본 분석에서는 그룹을 너무 많이 나눔으로써 발생하는 샘플 수 부족을 방지하고 분석 결과의 복잡도를 낮추기 위해, 결제 금액 변화 인과 효과를 추정할 때는 그룹을 나누는 기준으로 기존 결제 여부만 사용하였습니다.

그 후 위의 원인 변수 설계 시 설명드린 최초 만족도(“유지 여부”)를 그룹을 나누는 기준으로 추가하였습니다. 최종적으로 인과 효과를 분석할 그룹은 다음과 같습니다.

인과 효과 추정 세부 그룹
접속 일수 변화 유저 그룹 지표 & 유지 여부 → 총 4개의 그룹
결제 금액 변화 기존 결제 여부 & 유지 여부 → 총 4개의 그룹
유저 그룹 지표 상향 여부 유저 그룹 지표 & 유지 여부 → 총 4개의 그룹

이렇게 원인 변수와 합쳐져 결과 변수에 영향을 미치는 것을 “상호작용”이라고 합니다. 상세 내용은 Appendix에 작성하였으니 참고하시면 좋을 것 같습니다.

4. 인과 다이어그램을 통한 통제 변수 구성

인과 다이어그램의 전체적인 틀은 앞서 진행한 분석을 참고하였고 그 중 일부 인과 관계를 변경하여 본 분석에 사용하였습니다. 일부 변경 사항은 아래와 같습니다.

  • 원인 변수인 “만족 여부” 노드가 추가
    • 영웅/전설 획득 → 만족 여부 → 결과 변수 경로(V1, V2)가 추가
  • 분석 대상은 영웅/전설을 획득한 유저로만 선정하였으므로 “영웅/전설 획득” 노드에 미치는 영향이 사라집니다
    • 희귀 등급 수 → 영웅/전설 획득(C2)
  • 그리고 이에 따라 원인 변수인 만족 여부로 흐르는 영향이 차단되게 됩니다
    • 희귀 등급 수 → 영웅/전설 획득 → 만족 여부(C2 → V1)

이렇게 인과 다이어그램을 수정한 후 인과 효과(V1; 만족 여부 → 결과 변수) 측정을 위해 실제로 통제할 변수를 선정하는 절차는 아래와 같이 동일하게 진행하였습니다.

  • step1) 원인 변수, 결과 변수에 직접적인 영향을 주지 않는 인과 관계 무시를 위한 노드 통제
  • step2) 원인 변수 외에 결과 변수에 영향을 주는 노드 통제
  • step3) 원인 변수, 결과 변수에 동시에 영향을 받는 노드(collider)
  • step4) 최종 통제 변수 선정
    • step1과 step2에서 선정된 전체 통제 변수들 중 step3에 포함되는 변수는 제외

5-1. 접속 일수 변화 인과 다이어그램


[그림3] 접속 일수 변화에 대한 인과 다이어그램

step1)

  • 만족 여부, 접속 일수 변화 노드에 연결되지 않는 엣지를 의미합니다 (C4, C5, C6, C12, C13)
  • 해당 엣지가 향하는 노드를 통제함으로써 해당 인과 관계를 무시할 수 있습니다. (컬렉션 완성 횟수, 스킬 습득 횟수, 인챈트 성공 횟수, 레벨, 총 결제액 노드 통제)

step2)

  • 접속 일수 변화 노드에 직접적으로 인과 영향을 미치는 영웅/전설 획득을 제외한 노드입니다 (C7, C8, C9, C10, C11, C14)
  • 해당 노드들은 인과 효과(V1) 이외에 접속 일수 변화에 영향을 미치는 변수이므로 통제가 필요합니다 (컬렉션 완성 횟수, 스킬 습득 횟수, 인챈트 성공 횟수, 레벨, 총 결제액, 사망 횟수 노드 통제)

step3)

  • 만족 여부, 접속 일수 변화 노드로부터 동시에 영향을 받는 노드를 의미합니다(없음)
  • 해당 변수는 collider이므로, 통제 변수에서 제외하여야 합니다.

step4)

  • step1, step2에서 선정된 통제 변수들 중 step3에 포함되는 변수를 제외합니다. (컬렉션 완성 횟수, 스킬 습득 횟수, 인챈트 성공 횟수, 레벨, 총 결제액, 사망 횟수)

이제 인과 효과 추정을 위해 선정된 통제 변수를 포함하여 모델을 구성합니다.

  • 접속 일수 변화 ~ 만족 여부(동일 무기 포함 여부) + 컬렉션 완성 횟수 + 스킬 습득 횟수 + 인챈트 성공 횟수 + 레벨 + 총 결제액 + 사망 횟수

5-2. 결제 금액 변화 인과 다이어그램


[그림4] 결제 금액 변화에 대한 인과 다이어그램

위의 방식과 마찬가지로 최종 통제 변수를 선정하여 모델을 설계하면 아래와 같습니다.

  • 결제 금액 변화 ~ 만족 여부(동일 무기 포함 여부) + 등급 합성 성공횟수 + 총 결제액 + 사망 횟수

5-3. 유저 그룹 지표 상향 인과 다이어그램

유저 그룹 지표 상향 여부는 마찬가지로 통제 변수를 접속 일수, 결제 금액 인과 추정 시 선정된 통제 변수의 집합을 사용하였습니다.(유저 그룹 지표는 접속 일수, 결제 금액 등 전반적인 게임 플레이 활동량에 따라 산출되기 때문입니다)

그리고 변수의 값이 binary type(0 또는 1)이므로 로지스틱 회귀 모델을 사용하여 인과 효과를 추정하였습니다.

  • 유저 그룹 상향 여부 ~ 만족 여부(동일 무기 포함 여부) + 등급 합성 성공횟수 + 컬렉션 완성 횟수 + 스킬 습득 횟수 + 인챈트 성공 횟수 + 레벨 + 총 결제액 + 사망 횟수

분석 결과

아래의 그래프들은 최종 만족도인 최종 획득한 영웅/전설의 동일 무기 포함 여부(2번 원인 변수)에 따른 플레이 변화의 평균 차이를 보여줍니다. 동일 무기를 미포함하였을 때 대비 포함하였을 때 평균적으로 플레이 변화가 1) 얼마나 높은지와 2) 이에 대한 신뢰 구간을 나타냅니다. 즉, 동일 무기 포함 여부 기준으로 불만족하였을 때 대비 만족하였을 때 플레이 변화 차이가 있는지, 있다면 얼마나 큰지에 대한 인과 효과를 측정한 것입니다.

신뢰 구간이 점선(값이 0인 부분) 우측에 위치한다면 “획득한 영웅/전설 전직에 대해 만족한 경우 불만족하였을 때보다 플레이 변화가 증가한다”라고 해석합니다.

결과를 간단히 요약해드리면, 전반적으로 최초 획득한 영웅/전설에 대한 만족도에 따라 플레이 변화 차이는 보이지 않는 것으로 보입니다. 이를 해석하면 전반적인 능력치가 대폭 향상되는 영웅/전설 등급을 최초로 획득한 것이므로 동일 무기 포함 여부에 따른 만족도는 플레이에 큰 영향을 미치지 않는 것으로 보입니다.

5-1. 접속 일수 변화에 미치는 인과 효과 추정

최초 영웅/전설 유지 최초 영웅/전설 변경

모든 그룹에서 영웅/전설 등급의 동일 무기 포함 여부는 접속 일수 변화에 유의한 영향을 미치지 않는 것으로 보입니다.

5-2. 결제 금액 변화에 미치는 인과 효과 추정

무과금 과금

(x축의 범위는 과금 그룹이 무과금 그룹에 비해 5배 넓습니다)

마찬가지로 모든 그룹에서 영웅/전설 등급의 동일 무기 포함 여부는 결제 금액 변화에도 유의한 영향을 미치지 않는 것으로 보입니다.

5-3. 4주 후 유저 등급 상향 확률에 미치는 인과 효과 추정

최초 영웅/전설 유지 최초 영웅/전설 변경

(x축이 나타내는 것은 유저 등급이 상향될 확률입니다)

대부분 그룹에서 영웅/전설 등급의 동일 무기 포함 여부는 유저 등급 상향 확률에 유의한 영향을 미치지 않습니다.

단, 특정 그룹(그룹1이며 최초 획득 영웅/전설을 변경한 유저)에서는 6.7%p 정도의 인과 효과가 나타났습니다. 이는 해당 그룹에서 최초 획득한 영웅/전설에 불만족하여 변경한 유저 중 최종적으로 획득한 영웅/전설 전직에 불만족한 유저 대비 만족한 유저가 향후 전반적인 플레이 증대가 일어날 확률이 높다는 것을 의미합니다.

그룹2에서는 위와 같은 현상이 나타나지 않았는데, 게임 참여도가 낮은 유저 층이므로 영웅/전설 등급 자체는 매우 중요하지만 동일 무기 포함 여부는 크게 중요하게 작용하지 않는 것으로 생각됩니다.

마치며

지금까지 영웅/전설을 획득한 유저의 만족도에 따른 향후 플레이 변화에 인과 관계가 존재하는지 소개드렸습니다.

유저의 만족도는 전직 아이템 유지 여부, 동일 무기를 사용하는 직업인지 여부로 2단계에 걸쳐 살펴보았고 이를 통해 최초 만족도 → 최종 만족도로 나누어 정의하였습니다.

이전 포스팅의 결과와 함께 보자면, “최초로 획득한 높은 등급의 전직이다보니 획득 자체가 중요하고, 만족도는 향후 플레이가 감소하거나 증가하는데 영향을 미치지 않는 것으로 보인다”라고 결론 지을 수 있습니다.

이번에도 쓰다보니 글이 길어졌네요. 다음에는 더 재미있는 주제로 찾아오겠습니다 :D

Appendix.

아래의 그림의 출처는 [wikipedia] Interaction입니다.

상호작용(interaction)

  • 결과변수에 합쳐져 영향을 주는 변수 간 관계

  • 각 변수가 결과 변수에 독립적으로 영향을 미치지 않고 하나의 변수가 변함에 따라 다른 하나의 변수가 결과 변수에 미치는 영향이 바뀌는 것

상호작용을 고려해야하는 이유

변수 간 상호작용을 고려하지 않고, 개별 변수가 결과변수에 미치는 영향만을 고려할 시 해석에 오류가 발생할 수 있음

  • \(Y\) : 결과 변수, \(T_1\) : 상호작용 변수1, \(T_2\) : 상호작용 변수2

\(T_2\)가 변함에 따라 \(T_1\)이 \(Y\)에 미치는 영향이 바뀐다. 예를 들어 \(T_2=a\)인 경우 \(T_1\)이 \(Y\)에 미치는 영향은 \(A\)이지만, \(T_2=b\)인 경우 \(T_1\)이 \(Y\)에 미치는 영향은 \(B\)이다. (\(a \ne b\), \(A \ne B\))

따라서 \(T_1\)이 \(Y\)에 미치는 영향을 확인하기 위해서는 \(T_2\)를 고정시켜놓고 측정해야 함

상호작용을 고려한 영향 추정 방법

주로 2번이 해석이 용이하여 2번 방식을 사용함

  1. 상호작용을 일으키는 두 변수를 곱하여 회귀항에 추가하여 해결할 수 있으나 해석에 어려움이 있음
  2. 하나의 상호작용 변수의 값에 따라 sub group으로 나누어 효과를 추정하는 방식이 해석에 용이함
    • 위의 예시에서 \(T_2\)를 고정하고 \(T_1\)에 따른 \(Y\)의 변화를 본다.

예시) 과자의 수율 ~ 온도의 높낮이

데이터는 아래와 같음

  • 과자의 수율(yield) : float
  • 온도(temperature) : ordinal (1 : 낮음, 2 : 높음)
  • 시간(time) : ordinal (1 : 낮음, 2 : 높음)
temperature time yield
1 1 30
1 1 35
1 2 60
1 2 58
2 1 60
2 1 64
2 2 30
2 2 35

그룹별 수율의 평균을 구하면 아래와 같음

  시간 - Short(1) 시간 - Long(2)
온도 - Low(1) 32.5 59
온도 - High(2) 62 32.5

그래프로 확인하면 다음과 같음


상호작용을 고려하지 않았을 때

  • 시간을 고정하지 않은 채 온도의 증가(Low → High)가 수율에 미치는 평균 차이를 구하면 (62+32.5) / 2 - (59+32.5) / 2 = 1.5
  • → 온도가 수율에 영향을 미치지 않는다고 판단할 수 있음

상호작용을 고려하였을 때

  • time을 Short로 고정
    • 온도의 증가(Low → High)가 수율에 미치는 영향의 평균 = 62-32.5 = 29.5
  • time을 High로 고정
    • 온도의 증가(Low → High)가 수율에 미치는 영향의 평균 = -26.5
  • → 수율에 대해 온도와 시간이 상호작용을 일으키므로 하나의 변수를 고정한 후 나머지 하나의 영향을 살펴보는 것이 타당함