Booking.com 에서의 축차 검정 (Sequential Testing)
원문: Sequential Testing at Booking.com
을 찾습니다.
저도 잘 모르겠습니다. 알고 계신 분은 같이 공유해주시면 감사하겠습니다. 농담이 아니라 진짜로요…
저는 주로 Google Analytics (Universal Analytics, GA4 등) 제품들을 이용해서 사용자의 행동 데이터를 트래킹하고, 트래킹한 데이터를 분석해왔습니다. 지난 1년 동안은 웹사이트 및 앱 전면 개편을 하면서 관련된 로그를 다시 정의해서 트래킹 플랜을 만들고, 웹사이트의 경우에는 Google Tag Manager 를 이용해서 직접 구현하였고, 앱의 경우에는 각 플랫폼 (OTT 서비스에 있었는데, Android, iOS 모바일 기기를 비롯하여 FireTV, AndroidTV, tvOS, Set-top box 등이 있었습니다) 의 개발자들에게 이렇게 심어주십사 요청을 하기도 했습니다.
지금은 다른 회사에 재직 중이지만 비슷한 문제를 겪고 있어서 이걸 어떻게 하면 잘 할 수 있을까 하는 생각과 함께, 진작에 쓰려고 했던 글을 밀린 월세 내는 느낌으로 작성해보고자 합니다.
트래킹 플랜은 데이터 트래킹을 위한 가이드 문서라고 할 수 있습니다. Google Analytics 외에도 데이터를 트래킹할 수 있는 툴을 다양하게 있습니다. 대표적으로는 Segment, Mixpanel, Amplitude 등이 있는데, 특이하게도 이 세 회사의 경우 직접 트래킹 플랜을 만들어서 공유해주고 있습니다. 덕분에 어느 정도 가이드라인은 가지고 갈 수 있었습니다.
아쉽게도 구글에서 Google Analytics, Firebase Analytics 용으로 만들어 놓은 트래킹 플랜은 찾을 수 없었지만, 다른 회사들의 사례로 어느 정도 감은 잡을 수 있어서 참 다행이었다고 생각합니다.
제가 많이 사용했던 툴은 Google Analytics 4 와 Google Tag Manager 였기 때문에 이 두 도구를 중심으로 설명을 하는 게 좋을 것 같습니다. 그렇지만, 다른 도구를 참조하여 트래킹 플랜을 만들 수 있었던 것처럼 본인들의 회사에서 GA4 와 GTM 외의 다른 도구를 쓴다고 하더라도 비슷한 요소들이 있을테니 잘 응용해서 사용하시면 될 것 같습니다.
GTM 에서 Tag 는 Trigger 와 Variable 로 이루어져 있습니다. 각 태그는 하나의 이벤트를 의미하고, Trigger 는 해당 이벤트의 발생 조건을 정의해줍니다. 그리고 Variable 은 이벤트가 발생했을 때 어떤 정보를 같이 전달해줄지를 알려줍니다.
즉, 이벤트명과 해당 이벤트의 발생 조건, 그리고 전달해줄 값들이 필요합니다.
이 세 요소는 데이터 트래킹에 필수적인 것들이지만, 단순히 이 세 요소만 있다고 해서 데이터 트래킹을 잘 할 수 있는 것은 아닌 것 같았습니다.
제가 참조한 문서들에 보면 주로 KPI 라거나, Business Goal 을 같이 적는 부분이 있었습니다.
우리가 어떤 이벤트를 심어서 데이터를 보고자 한다는 것에는 목적이 있어야 합니다. 단순히 보시니 좋았다
와 같은 목적이라면 그 기능을 만드는데 들어간 리소스를 낭비한 것과 다름없다고 생각합니다. 우리가 무언가를 측정하는 것은 단순히 현상을 보기 위함이 아니라, 개선을 하기 위함이라는 것을 명심하면 좋을 것 같습니다.
트래킹 플랜 문서를 작성하다보면 40인치 모니터가 부족할 정도로 컬럼이 많아지기도 하는데, 그럼에도 불구하고 해당 이벤트가 필요한 이유는 있으면 좋다고 생각합니다.
가장 어렵다고 생각하는 부분은 이 문서를 지속가능하게 만드는 것이라고 생각합니다. 이 측면에서 저는 답을 찾지 못했습니다.
누가 작성을 하는 게 좋은지, 누가 관리를 하는 게 좋은지, 어떻게 관리를 하면 좋을지 다 물음표 밖에는 안 생겼습니다.
분석가가 가지고 가자니 트래킹 할 이벤트와 관련된 기능을 기획하지 않았고, PM 이 하자니 관련된 기술적인 부분에 대한 허들이 생각보다 높으며, 개발자가 하기에는 발생하는 로그의 소비자는 또 아닙니다. 그래서 이벤트 로그를 가장 많이 쓰는 분석가가… 결국에는 도돌이표가 되는 것이죠.
그리고 이를 한 군데서 관리하는 도구로는 스프레드시트만큼 편한게 없기는 한데, 너무 자유도가 높아서 처음 보면 압도당하기 쉽상입니다. 따로 문서를 만들어서 사용법을 공유하는 것도 마땅치않고요.
최근에 보니까 trackingplan 이라고 해서 SaaS 서비스도 나온 것 같더라고요. 사용해보지는 않았습니다만, 어쨌거나 모든 문제를 해결해줄 실버불릿은 아닐 것 같습니다.
결국에는 데이터 트래킹을 잘해야 한다는 생각을 가진 사람들이 필요할 것 같습니다. 이벤트 로그를 사용할 사람도 어떻게 사용하는 게 가장 좋은 방법인지 고민을 해야할 것이고, 해당 기능을 기획한 사람도 어떤 목적으로 기능을 기획하였고, 확인하고자 하는 게 무엇인지 명확하게 알고 있어야 한다고 생각합니다. 그리고 개발자도 어떤 데이터를 어떻게 보내줄 수 있고, 어떤 시점에 보내줘야 하는지를 알아야할 것 같습니다.
트래킹 플랜을 아무리 잘 만들어놔도 어떻게 사용해야하는지 모른다면 결국에는 아무짝에도 쓸모없는 데이터 쪼가리가 될 것이고, 제대로 된 지표는 확인하지 못한 채 데이터만 쌓여갈 수 있다고 생각합니다.
긴 글 읽어주셔서 감사합니다. 혹시라도 좋은 생각이 있거나 문서가 있으시다면 알려주시면 감사하겠습니다.
Twitter: https://x.com/chusine/status/1701251165865074836?s=20 에 감사하게도 조언을 달아주신 분들이 계십니다.
그리고 회사에서는 관련 내용을 준비해서 10월 중으로 사내 세미나를 열어서 컨센서스를 맞춰가려고 합니다.
원문: Sequential Testing at Booking.com
가장 좋은 방법은 당연히 영어 밖에 사용하지 못하는 환경에 강제로 처해지는 것이겠지만 그것이 어려우니…
고민의 흔적을 보여주세요
을 찾습니다.
원문: Charts & Accessibility
모수, 큰 수의 법칙, 그리고 중심극한정리에 대하여
그리고 여러분들도 (아마도) 하지 않아야 하는 이유
회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.
원문: Dark Side of Data: Privacy by Emre Rencberoglu
원문: RStudio Projects and Working Directories: A Beginner’s Guide by Martin Chan
원문: TidyTuesday GitHub Repository
원문: How programming languages got their names
원문: How to Make Meetings Less Terrible 팟캐스트: How to Make Meetings Less Terrible (Ep. 389)
생키 다이어그램 (Sankey Diagram) 은 흐름(Flow) 다이어그램의 한 종류로써 그 화살표의 너비로 흐름의 양을 비율적으로 보여준다.
2년 전 일본어로 책을 내긴 했지만 대부분의 독자들이 이 책을 읽을 수는 없을 것 같았다.
자기회귀 모형이란 무엇인가?
회귀분석을 실행하기 위해 필요한 가정과 조건들에 대해 알아보자.
통계적 검정과 회귀분석에서 자주 사용되는 정규성 가정과 정규성 검정에 대해 알아보자.
여러 통계 검정과 모형에서 사용되는 독립성 가정에 대해 알아보자.
시계열 모형 중 ARMA 모형에대해 알아보자.
시각화에서 주의할 점인 넓이를 표시하는 원칙에 대해 알아보자.
평균 양쪽의 z-값들 사이의 넓이를 구하는 방법에 대해 알아보자.
분산분석의 개념과 방법에 대해 알아보자.
분산분석(ANOVA; ANalysis Of VAriance) 와 회귀분석의 개념을 섞은 공분산분석(ANCOVA; ANalysis of COVAriance)에 대해 알아보자. 이 글을 이해하기 위해서는 아래의 글을 먼저 읽는 것이 좋다.
Akaike’s Information Criterion 의 정의와 이를 구하는 방법에 대해 알아보자.
수정된 R제곱과 그 용도에 대해서 알아보자.
통계 용어 중 정확도(Accuracy)와 정밀도(Precision) 에 대해서 알아보자.
절대 오차와 평균 절대 오차에 대해서 알아보자.
가설 검정이란 무엇이며, 가설 검정의 다양한 방법에 대해 알아보자.
회귀분석이란 무엇이며, 회귀분석 과정에서 사용하는 용어와 다양한 방법에 대해 알아보자.
이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요.
모집단과 표본집단을 이용하는 경우 통계학에서 말하는 10% 조건이 무엇인지에 대해 알아보자.
여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글입니다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...
68 95 99.7의 법칙이란 무엇인가?
단위근 검정 방법 중 하나인 Augmented Dickey Fuller 검정에 대해 알아보자.
이 자료는 데이터 과학과 관련된 특정 주제에 대한 연재물이며, 다룰 주제는 다음과 같다. 회귀분석, 군집화, 신경망, 딥러닝, 의사결정나무, 앙상블, 상관관계, 파이썬, R, 텐서플로우, SVM, 데이터 축소, 피쳐 선택, 실험 계획법, 교차검증, 모델 피팅 등. 이 글을 계속 받...