오랜만에 적어보는 용어, 개념 정리 글.
최근 IT, 게임 업계 채용 공고를 살펴보면 직군 불문 데이터 분석 역량을 요구하는 경우가 많다.
데이터 분석이란 수많은 원시 데이터를 바탕으로 실행 가능한 인사이트를 도출해 내는 것이라고 정의할 수 있지 않을까 싶다. 방대한 원시 데이터 중에서도 특정 현상을 설명하는 데 필요한 속성의 값을 지표라고 하고.
예를 들어 며칠 전 <검은 신화: 오공> 초기 성적이 <엘든 링>의 초기 성적을 넘어섰다는 기사가 났다. <엘든 링>의 출시 첫날 최고 동시 접속자 수는 55만 명인데 <검은 신화: 오공>은 출시 약 한 시간 만에 최고 동시 접속자 수 118만 명을 기록한 것.
이때, 기자가 게임이 흥행했다는 주장을 하기 위해 사용한 '최고 동시 접속자 수'가 지표의 일종이다.
[그림 1] <검은 신화: 오공>은 2020년 처음 공개되었을 때부터 호쾌한 액션, 화려한 아트로 전 세계 게이머의 이목을 모았고 자국 문화를 바탕으로 한 AAA급 게임에 목말라있던 중국 게이머의 갈증을 해소해 줄 것으로 기대된 바 있다. (출처: 게임 사이언스)
[그림 2] 최종 확인된 출시 첫날 최고 동시 접속자 수는 무려 220만 명. 미집계 된 스팀 차이나까지 고려하면 와우 👍 (출처: SteamDB)
그렇다면 데이터 분석 시 어떤 지표를 사용해야 할까.
OMTM
1. 정의
OMTM(One Metric That Matters)은 특정 시점에 데이터 분석, 서비스 운영을 위해 반드시 확인해야 하는 지표를 가리킨다.
2. 종류
OMTM은 서비스의 분야 및 성숙도, 사용자의 특성, 외부 환경처럼 다양한 요인에 따라 달라진다. 아래 이미지를 들여다보자.
[그림 3] AARRR. Acquisition(획득), Activation(활동), Retention(재방문), Referral(공유), Revenue(수익)의 앞 글자를 따 명명되었다. (출처: WISE TRACKER)
분석 프레임 워크 중 하나인 AARRR은 사용자가 서비스를 이용하기 시작하고 유료 사용자로 전환되는 과정을 단계별로 나타낸다.
만약 내가 가능한 많은 사용자를 끌어모아야 하는 단계에 있다면 나의 OMTM은 NRU, DAU, MAU 등일 것이다. 충분한 사용자를 확보한 이후 사용자가 서비스에 잘 정착했는지 들여다봐야 하는 상황이라면 나의 OMTM은 잔존율, 이탈률 등일 것이다.
비슷한 맥락으로 게임 사업 측면에서 이른바 '플랑크톤 유저' 유치가 중요한 캐주얼 게임은 객단가를 희생하더라도 PUR, ARPU를 집중 관리하는 경우가 많다. 반대로 '고래 유저' 의존도가 높은 MMORPG는 ARPPU에 보다 주의를 기울인다.
각 지표에 대한 설명은 📚 [용어 정리] 게임 실무 기본 개념 - 유저 및 게임, 📚 [용어 정리] 게임 실무 기본 개념 - 매출 및 마케팅에서 자세히 확인할 수 있다.
여담으로 AARRR은 '해적 지표'라는 별명을 가지고 있다. 일부 콘텐츠 속 해적들이 "Arrr~" 같은 말투를 쓰는데 거기에서 유래한 모양이다앓ㄹㄹㄹ~ 🏴☠️
3. 중요성
OMTM을 활용해야 하는 이유는 다음과 같다.
- 가장 중요한 질문에 대한 답 : OMTM은 현재 내 서비스가 가장 집중해야 하는 부분에 대한 답을 준다. (e.g. D1 잔존율)
- 공통된 하나의 목표: KPI는 조직마다 상이할 수 있다. 예컨대 기획은 사용자의 콘텐츠 참여 비율, 개발은 프로젝트 완료 일정 준수율, 아트는 컨펌 통과 비율, QA는 테스트 커버리지, 사업은 매출 증대, 운영은 답변 만족도, 마케팅은 사용자 전환을 목표로 삼을 수 있다. 반면 OMTM은 기획, 개발, 아트, QA, 사업, 운영, 마케팅할 것 없이 모든 조직이 같은 방향을 바라보고 협력할 수 있게 하며 의사 결정에도 도움이 된다. 1
- 상황 판단의 근거: OMTM은 현재 내가 올바른 중요도, 시급도를 설정하고 업무에 임하고 있는지 정비할 수 있도록 돕는다.
- 거시적인 시야: OMTM은 눈에 보이는 단기적인 성과(e.g. 다운로드 수)에 집착하는 대신, 서비스를 전체적으로 조망할 수 있게 한다.
4. 팁
좋은 지표가 무엇인지에 대한 견해는 개인의 경험이나 상황에 따라 차이가 나겠지만, 내가 허상 지표를 사용하고 있지 않은지 의심이 들 때에는 2에릭 리스가 <린 스타트업>에서 제안한 3A 테스트를 참고해봄직 하다.
- 접근하기 좋은가(Accessible): 지표는 누구나 쉽게 접하고 이해할 수 있어야 한다.
- 행동하기 좋은가(Actionable): 지표의 원인과 결과가 객관적이고 명확하여 어떤 행동을 실행에 옮겨야 하는지 알 수 있어야 한다.
- 현실을 반영하는가(Auditable): 지표는 검증 가능하며 사용자의 행동, 생각을 대변할 수 있어야 한다.
그 밖에 지표를 선행 지표와 후행 지표로 나누고 소 잃고 외양간 고치는 격인 후행 지표보다 선행 지표를 활용하는 게 좋다는 의견도 있었다.
- 선행 지표(Leading Indicator): 미래를 예측하는 데 사용하는 지표 (e.g. 가입 후 1일 이내에 튜토리얼을 완료한 사용자 비율)
- 후행 지표(Lagging Indicator): 과거를 되짚어보는 데 사용하는 지표 (e.g. 이탈률)
데이터 분석
1. 필요성
OMTM을 포함한 주요 지표는 꾸준히 관찰해야 한다. 데이터 분석의 필요성은 올바른 사업적 의사 결정이 필요할 때 특히 부각된다. 예상되는 상황을 정확한 수치로 확인 및 검증함으로써 아래와 같은 문제를 최소화할 수 있기 때문이다.
- 목표 달성: 목표를 얼마나 달성하였는지 확인하고 추가적인 전략의 필요성, 방향성을 검토할 수 있다. (e.g. 신규 사용자 수, 동시 접속자 수)
- 이슈 대응: 사용자 불만의 원인을 찾아 개선하거나, 갑작스러운 변화를 인지하고 신속하게 대응할 수 있다. (e.g. 특정 그룹에 속한 사용자가 이벤트 참여 시도 시 일정 확률로 클라이언트 강제 종료, 원인 불명의 동시 접속자 수 급락)
- 지표 관리: 서비스 성숙도에 따라 나타날 수 있는 경향을 파악하고 대응할 수 있게 한다. (e.g. 지속적인 매출 및 사용자 감소)
2. 방법론
다소 막막한 데이터 분석, 어떻게 시작해야 할까.
2.1. 확증적 데이터 분석
확증적 데이터 분석(CDA, Confirmatory Data Analysis)은 가설을 세운 후, 데이터를 통해 검증하는 방법론이다.
예를 들면 행동력이 소진된 사용자에게 클릭 시 상점으로 이동하는 배너를 보여주면 행동력 상품 판매 비중이 증가할 것이라는 가설을 세우고 (가설 설정) → 배너 활용 전, 후 행동력 상품 판매 건수를 수집한 뒤 (데이터 수집) → 배너 활용 전, 후 기간 중 전체 구매 건수 대비 행동력 상품 구매 건수 비율을 비교하여 (통계 분석) → 가설을 채택하거나 기각하는 식이다. (가설 검증)
확증적 데이터 분석은 설문 조사나 논문 작성 시 요긴하게 쓰이며, 구체적인 질문에 대한 답을 얻을 수 있다는 장점이 있지만 선입견이 개입될 여지가 있다.
2.2. 탐색적 데이터 분석
탐색적 데이터 분석(EDA, Exploratory Data Analysis)은 데이터를 먼저 살펴보며 인사이트를 도출하는 방법론이다.
예를 들면 이탈률이 급증하였을 때 (문제 발생) → 이탈 사용자의 레벨 구간, 접속 주기, 월별 결제 금액, 이탈 전 이용한 콘텐츠 같은 자료를 모으고 (데이터 수집) → 다양한 관점으로 분석하여 (탐색 및 시각화) → 이탈 주기가 평소보다 길어지면 이탈률이 상승하는 등 일정한 패턴을 발견한 뒤 (패턴 도출) → 평균 접속 주기를 지반으로 잠재적 이탈 유저를 집계 및 관리해야 한다는 판단을 내릴 수 있다. (인사이트 발견)
탐색적 데이터 분석은 빅데이터 분석 시 주로 활용되며, 자료를 유연하게 탐색할 수 있다는 장점이 있는 동시에 명확한 목표가 없기 때문에 아무런 인사이트도 얻지 못한 채 방황할 수 있다는 단점이 있다.
3. 기법 상세
앞서 가설 검증, 통계 분석, 시각화, 패턴 도출처럼 간추려 표현한 내용을 아래에서 자세히 들여다보자.
3.1. 추론 통계
추론 통계는 일부(표본) 데이터를 가지고 전체(모집단) 데이터의 특성을 유추하는 방법을 가리킨다. 주로 시간적, 물리적 사유로 전체 데이터를 다룰 수 없을 때 사용한다.
- 추정: 표본의 평균으로 모집단을 추측해 보거나 모집단 평균에 대한 95% 신뢰구간 계산을 활용한다. 3
4
- 표본 오차: 조사 결과가 실제와 얼마나 다를 수 있는지 보여주는 지표. 표본이 많을수록 작아진다.
- 신뢰 수준: 조사 100번 당 같은 결과가 나올지 표현하는 지표. 표본의 수가 동일할 때, 신뢰 수준을 높이면 표본 오차가 커진다. 대개 사회여론조사는 95%, 마케팅은 80% 또는 90% 신뢰 수준을 사용한다.
- 가설 검정: 일부의 정보를 활용해 전체에 대한 가설이 옳은지 그른지 판단하는 과정.
- 귀무가설: 기존의 사실. 귀무가설이 채택되면 새로운 사실이 입증되지 않아 없던 일로 돌아감을 의미한다.
- 대립가설: 입증하려 하는 사실. 대립 가설이 채택되면 새로운 사실이 입증되어 성과가 나타남을 의미한다.
⚠ 표본의 수
통계적으로 표본이 30명 이상이면 유의미하다고 본다. 그러나 보다 안정적인 결과 해석을 위해 최소 단위당 100명 이상을 권장하기도 한다.
캐릭터가 전사, 마법사, 궁수, 도적 중 1종의 직업을 고를 수 있고 최고 레벨이 30인 게임에서 전체 사용자를 대상으로 조사한 결과를 레벨 10단위, 직업에 따라 나누어 분석하고 싶다고 하자. 이때 최소 단위는 1~10레벨 전사, 11~20레벨 전사, 21~30레벨 전사, 1~10레벨 마법사, 11~20레벨 마법사, 21~30레벨 마법사, 1~10레벨 궁수, 11~20레벨 궁수, 21~30레벨 궁수, 1~10레벨 도적, 11~20레벨 도적, 21~30레벨 도적이다. 따라서 표본은 최소 단위당 최소 100명인 1,200명이다.
3.2. 기술 통계
기술 통계는 데이터를 정량적으로 분석하고 요약하는 방법을 가리킨다. 주로 데이터의 특성을 설명하거나 시각적으로 표현함으로써 초기 데이터 탐색을 맡는다.
- 중심 경향성: 데이터의 중심을 나타내는 값.
- 산포도: 데이터가 얼마나 흩어져있는지 나타내는 값.
- 분산(Var, Variance): 각 데이터가 기댓값으로부터 얼마나 떨어진 곳에 분포하는지 가늠하는 값.
- 표준편차(SDm Standard Deviation): 분산을 제곱근 한 값. 표준편차가 작을수록 평균값, 데이터들 간 거리가 가깝다.
- 사분범위(IQR, Interquartile Range): 전체 데이터 중간에 있는 데이터 절반이 지니는 값의 범위. 데이터를 오름차순으로 정렬한 후 사등분하고 데이터의 25% 지점을 Q1, 50% 지점을 Q2, 75% 지점을 Q3, 100% 지점을 Q4라 했을 때 Q3에서 Q1을 뺀 값.
- 모양: 데이터의 분포 형태를 나타내는 값.
- 왜도(Skew): 분포의 비대칭 정보를 나타내는 통계량. 왜도가 양수라면 오른쪽으로 긴 꼬리가 나타나고 음수라면 왼쪽으로 긴 꼬리가 나타난다.
- 첨도(Kurtosis): 분포 중앙의 뾰족함, 꼬리의 길이에 대한 정보를 제공하는 통계량. 정규분포의 첨도는 0이다. 첨도가 양수라면 정규분포보다 중앙이 뾰족하고 꼬리가 길다. 첨도가 음수라면 정규분포보다 중앙이 완만하고 꼬리가 짧다.
[그림 4] 왜도의 유형과 평균, 중앙값, 최빈값의 관계 (출처: analytics vidhya)
[그림 5] 첨도의 유형 (출처: analytics vidhya)
⚠ 이상치의 함정
이상치(Outlier)는 다른 값들과 비교했을 때 극단적으로 크거나 작은 특이한 값이다.
사분범위를 기준으로 Q1-1.5×IRQ 보다 작거나 Q3+1.5×IRQ 보다 큰 값을 이상치로 간주한다.
이상치는 데이터 분석의 정확성을 떨어뜨릴 수 있기 때문에 제거, 변환, 분리하는 것이 바람직하다.
예컨대 사용자가 적은 게임에 고래 유저가 천문학적인 돈을 쏟아부으면 ARPPU가 치솟을 수 있다. 이때 ARPPU는 전체 PU의 구매 성향을 나타낸다고 하기 어렵다.
이와 비슷한 상황에서는 이상치의 영향을 받지 않는 요약치인 중앙값, 최빈값을 활용할 수 있다.
단, 자료가 범주형이라면 평균이나 중앙값은 사용할 수 없으며 최빈값을 구해야 한다.
[그림 6] 박스 플롯으로 표현한 사분범위, 이상치 (출처: Towards Data Science)
대분류 | 소분류 | 예시 |
수치형 데이터 (=양적 데이터, 사칙 연산 가능) |
연속형 데이터 | 키, 몸무게, 매출, 체류 시간 |
이산형 데이터 | 판매 건수, 불량품 수 | |
범주형 데이터 (=질적 데이터, 사칙 연산 불가능) |
순서형 데이터 | 순위, 등급, 만족도 |
명목형 데이터 | 성별, 직업, 지역 |
[표 1] 데이터의 종류
- 데이터 시각화: 데이터 시각화는 데이터를 쉽게 이해할 수 있도록 이미지로 표현, 전달하는 것이다.
[그림 7] 생키 다이어그램 예시. 이름만 들으면 생소하지만, 보면 딱 아는 그거 맞다. (출처: 에크케)
3.3. 상관 분석
상관 분석은 두 변수 사이에 선형적인 관계가 있는지 분석하는 방법이다. 두 변수는 서로 독립적인 관계, 상관된 관계일 수 있으며 두 변수 간 관계의 강도를 상관관계라고 하고 상관관계의 정도를 상관 계수라고 한다.
분석에는 피어슨 상관 계수를 가장 보편적으로 활용한다. 피어슨 상관 계수의 개념은 r=(X와 Y가 함께 변하는 정도)÷(X와 Y가 각각 변하는 정도)로 정리할 수 있으며 X와 Y가 완전히 동일하다면 r=1, X와 Y가 전혀 다르다면 0, X와 Y가 반대 방향으로 동일하다면 r=1이다. 순서형 데이터를 분석할 때에는 스피어만 상관 계수를 사용한다.
주의해야 할 점은 상관관계는 두 변수 간 연관성을 나타낼 뿐, 원인과 결과를 설명하지 못한다는 것이다. 인과관계의 여부, 방향, 정도는 회귀 분석을 통해 확인할 수 있다.
3.4. 회귀 분석
회귀 분석은 연속형 변수들에 대해 변수 사이의 모형을 구한 뒤 함수적인 관계를 분석하는 방법론이다. 이를 통해 독립 변수(원인)가 종속 변수(결과)에 미치는 영향을 파악할 수 있다.
독립변수의 수, 독립변수의 척도, 독립변수와 종속변수의 관계에 따라 단순 회귀 분석, 다중 회귀 순석, 일반 회귀 분석, 더미 변수를 활용한 회귀 분석, 선형 회귀 분석, 비선형 회귀 분석 등 다양한 종류를 활용할 수 있다.
3.5 시계열 분석
시계열 분석이란 회귀 분석에서 파생된 방법론 중 하나로 시간의 흐름에 따라 기록된 데이터를 관찰하여 여러 변수 사이의 인과관계를 도출하고 미래의 관측 값을 예측하는 데 활용한다.
시계열 데이터는 일반적으로 추세 성분, 계절 성분, 순환 성분, 불규칙 성분으로 이루어져 있으며 이 성분들로 인해 변화한다고 가정한다.
시계열 분석은 시간을 독립 변수 삼아 하나의 종속 변수를 확인하는 일변량 시계열 분석, 시간이라는 독립 변수와 더불어 다수의 종속 변수를 확인하는 다변량 시계열 분석으로 나뉜다.
- 추세 성분: 시간의 흐름에 따라 나타나는 상승, 하강 같은 경향성. (e.g. 자연적인 DAU 감소)
- 계절 성분: 주, 월, 계절 등 상대적으로 짧은 주기에 따라 특정 패턴을 보이며 변화하는 경향성. (e.g. 여름, 겨울맞이 대규모 업데이트)
- 순환 성분: 2~10년 등 상대적으로 긴 주기에 따라 특정 패턴을 보이며 변화하는 경향성.
- 불규칙 성분: 어떠한 규칙 없이 예측 불가능하게 변화하는 경향성. (e.g. IDC 장애, 디도스 공격)
⚠ 현황과 추이
숫자 하나만으로는 지금의 상태만 알 수 있으므로 가능한 추이와 계절성을 함께 살펴보자.
예를 들어 2024-03-31 하루의 매출을 조회하면 당일 매출이라는 현황만 파악할 수 있다.
반면 2024-01-01 ~ 2024-03-31 매출을 조회하면 2024년 1분기 매출이 상승하거나 하락하는 추이를 관찰할 수 있으며 매출이 월말 월초 효과를 크게 받는지 받지 않는지와 같은 계절성도 확인 가능하다. 7
3.3. 머신러닝 알고리즘
머신러닝 알고리즘은 컴퓨터가 데이터를 기반으로 학습하고 패턴을 찾아내어 새로운 데이터를 예측하는 것이다.
- 지도학습(Supervised Learning): 정답이 있는 데이터를 학습시키는 것. 주어진 데이터를 정해진 라벨에 따라 구분하는 '분류', 연속된 값을 예측하는 '회귀'가 대표적이다.
- 비지도학습(Unsupervised Learning): 정답이 없는 데이터를 학습시키는 것. 주어진 데이터를 유사한 것끼리 군집화하는 '클러스터링'이 대표적이다.
- 강화학습(Reinforcement Learning): 행동에 따른 보상을 주며 학습시키는 것. 반복된 시행착오를 통해 주어진 환경 안에서 선택 가능한 최적의 행동 또는 순서를 선택하게 된다.
4. 팁
그 밖에 데이터 분석 시 활용할 수 있는 팁은 아래와 같다.
- 분할 비교: 전체 집단을 작은 집단으로 나누어 비교해 보자. (e.g. PU를 최초 구매 사용자와 기존 구매 사용자로 구분하면 전체 구매 사용자 중 최초 구매 사용자 비중 확인 가능 → 만약 사용자 비중이 최초 구매 사용자에 쏠려있다면 재구매를 촉진시킬 판매 전략을 고민해보아야 하며, 광고 비용 감축으로 인해 신규 사용자 유입이 줄어들면 매출이 하락할 수 있음)
- 교차 비교: 두 가지 지표를 나란히 놓고 비교했을 때, 같은 양상으로 변화하는지 다른 양상으로 변화하는지에 따라 숨은 의미 확인할 수 있다. (e.g. 날짜를 X축에 두고 NRU와 DAU를 함께 Y축에 두었을 때 보통 게임이 성숙해짐에 따라 NRU는 지속적으로 감소하지만 충성도가 높은 기존 사용자들이 꾸준히 접속하여 DAU는 일정 수준을 유지 또는 상승 → 신규 사용자의 관심을 끌만한 업데이트가 필요하다는 신호로도 해석 가능)
챕터별로 하나씩 포스팅해도 모자랄 수 있지만, 가능한 간단히 써보았다. 데이터 분석가가 아니고서야 모든 내용을 빠삭하게 이해하고 써먹어야 한다기보다 개념을 알아두었다가 필요할 때 파보면 도움이 되는 정도일 것 같기도 하고.
혹여 보완하면 좋을 법한 부분이나 틀린 게 있다면 언제든 말씀 부탁드린다 🙏
- Key Performance Indicato. 핵심 성과 지표. [본문으로]
- Vanity Metric. 의미 있는 정보를 제공하지 못해 목표를 세우는 데 도움이 되지 않는 지표를 의미한다. (e.g. 시간이 지날수록 대부분 우상향 하는 '전체 가입자 수', 사용자의 유입 경로나 구체적인 활동을 설명하기 어려운 '체류 시간' 등) [본문으로]
- 점 추정(Point Estimation). "표본의 한 달 평균 결제 금액은 100,000이다.", "레벨 30 미만 유저, 레벨 30 이상 유저 간 만족도 차이는 0.5이다." 등을 예로 들 수 있다. [본문으로]
- 구간추정(Interval Estimation). "모집단의 한 달 평균 결제 금액은 100,000±10,000 구간에 있다.", "레벨 30 미만 유저, 레벨 30이상 유저 간 만족도 차이는 0.5±0.5 구간에 있다." 등을 예로 들 수 있다. [본문으로]
- 평균은 산술평균, 기하평균, 조화평균, 멱평균, 대수평균으로 나뉜다. 본문에는 가장 일반적으로 쓰이는 산술 평균에 대해 기재하였다. [본문으로]
- 열을 뜻하는 히트(Heat), 지도를 뜻하는 맵(Map)을 결합시킨 단어로 데이터의 값을 색으로 변환하여 열 분포 형태로 표현한 것. [본문으로]
- Turn of the Month Effect. 직장인 월급일이 월말에 몰려있어 월말, 월초 상품 구매가 집중적으로 이루어지는 현상. [본문으로]