넷플릭스 게임 사용자의 모험

이 글은 넷플릭스 (Netflix) 에서의 분석 엔지니어링 (Analytics Engineering) 관련 업무의 범위를 공유하기 위한 여러 편의 글 중 두 번째 글이며, 최근에 열렸던 분석 엔지니어링 컨퍼런스에서 발표된 내용이기도 합니다. 더 많은 내용이 궁금하신가요? 첫 번째 글 도 확인해보세요. 이 글에서 저희는 몇 가지 흥미로운 비지니스 사례에서의 분석 업무에 대해 공유하고, 마지막 부분에서 기술적인 부분에 대해서도 다루려고 합니다.

들어가기에 앞서

원문: Part 2: A Survey of Analytics Engineering Work at Netflix

원문은 넷플릭스의 기술 블로그 에 공유되었으며, 넷플릭스 게임과 관련된 여러 글 중 Netflix Games Player’s Adventure: Modeled using State Machine 에 대한 부분만 발췌하였습니다.

관련 포스트


넷플릭스 게임 사용자의 모험: 상태 기계를 이용한 모델링을 곁들인

넷플릭스 게임에서 저희는 매달 게임을 이용한 사용자의 수를 높이고자 했고, 이를 월간 활성 계정 수 (Monthly Active Accounts; MAA) 라고 정의했습니다. 이 목표를 잘 달성하고 있는지를 평가하고, MAA 를 높일 수 있는 부분을 찾기 위해 저희는 넷플릭스 게임 사용자의 여정을 상태 기계 (state machine) 로 표현하였습니다.

저희는 매일 사용자의 상태 사이의 전환 확률을 보여주는 상태 기계를 추적하였습니다.

netflix-player's-journey-as-state-machine

게임 사용자의 여정을 상태 기계로 표현하였더니, 미래의 상태를 시뮬레이션할 수 있었고, 목표 했던 참여 지표를 얼마나 달성했는지도 파악할 수 있었습니다. 가장 기본적인 운영에는 일별 상태 전환 행렬을 현재 상태 값과 곱해서 다음날의 상태 값을 구하는 것이 있습니다.

basic-operation

이 기본적인 운영을 이용하면 다양한 시나리오를 탐색해볼 수 있습니다.

  • 변하지 않는 경우: 만약 전환 확률이 동일하기 유지된다고 하면, 일별 상태 전환 확률을 새로운 상태 값에 반복적으로 곱해서 미래의 상태 값을 예측할 수 있으며, 이를 통해 아무런 변화가 없는 상태에서의 연간 목표 수치 달성 정도를 평가할 수 있습니다.
  • 동적인 시나리오: 전환 확률을 변경함으로써 복잡한 시나리오에 대한 시뮬레이션을 할 수 있습니다. 예를 들어, 과거 전환 확률에서의 변화를 이용하여 미래 특정 기간 동안의 전환 확률을 변경함으로써 향후의 비슷한 출시 과정에서의 효과를 예측할 수 있습니다.
  • 정상 상태 (Steady State): 상태 전환 행렬의 정상 상태를 계산해서 (신규 사용자를 제외하고) 모든 사용자가 넷플릭스 게임에 대한 경험을 했을 때의 MAA 를 추정할 수 있고, 장기적인 리텐션과 재활성 효과를 이해할 수 있습니다.

미래 상태를 예측하는 것을 넘어서, 저희는 상태 기계를 이용하여 어떤 전환 확률이 MMA 에 끼치는 영향이 가장 큰지 민감도 분석 (sensitivity analysis) 를 수행하였습니다. 각 전환 확률를 조금씩 변화시키면서 저희는 MAA 의 변화를 계산하였고, 그 영향을 측정하였습니다. 이 덕분에 저희는 퍼널 윗부분의 개선, 사용자 리텐션, 그리고 재활성 중 어디에 집중해야할지 우선순위를 정할 수 있었습니다.

2025

넷플릭스 게임 사용자의 모험

2 minute read

이 글은 넷플릭스 (Netflix) 에서의 분석 엔지니어링 (Analytics Engineering) 관련 업무의 범위를 공유하기 위한 여러 편의 글 중 두 번째 글이며, 최근에 열렸던 분석 엔지니어링 컨퍼런스에서 발표된 내용이기도 합니다. 더 많은 내용이 궁금하신가요? 첫 번째 ...

Back to top ↑

2023

영어랑 친해지는 방법

7 minute read

가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…

Back to top ↑

2022

Back to top ↑

2020

사내 스터디에 대한 회고

2 minute read

회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.

Back to top ↑

2019

GitHub Pages Jekyll Blog 에 MathJax 추가하기

3 minute read

이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.

GitHub 블로그에 Jupyter notebook 올리는 방법

4 minute read

여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...

Back to top ↑