2편에서 그룹 배정과 통계 엔진을 다뤘는데, 이 두 모듈만으로는 실험을 완전히 돌려볼 수가 없습니다. 실제 트래픽이 없으면 테스트할 데이터가 없기 때문입니다. 그래서 만든 게 트래픽 시뮬레이터입니다. 가상 사용자를 만들어서 노출과 전환 이벤트를 생성하면 통계 분석 모듈을 실제처럼 돌려볼 수 있습니다. 여기에 Gemini API를 연동해서 자연어 아이디어를 실험 설계안으로 자동 변환하는 기능도 추가했습니다. 오늘은 두 모듈의 구현 과정을 정리해보겠습니다. 🤖 1. 트래픽 시뮬레이터실제 A/B 테스트 환경에서는 사용자들이 실험에 노출되고, 그 중 일부가 전환(구매, 클릭, 회원가입 등)을 합니다. 시뮬레이터는 이 과정을 코드로 재현합니다. 가상 사용자를 생성하고, 2편에서 만든 해시 배정으로 A/B 그룹을..
AB Compass에서 가장 공들인 부분이 두 가지입니다. 같은 사용자를 항상 같은 그룹에 배정하는 결정적 해싱과, 두 그룹의 전환율 차이가 통계적으로 의미 있는지 판단하는 통계 엔진입니다. 둘 다 상용 툴에서는 자동으로 처리해주는 기능인데, 직접 구현하면서 각 수치가 어디서 나오는지 코드 수준에서 확인할 수 있었습니다. 오늘은 두 모듈의 구현 과정을 자세히 정리해보겠습니다. 1. 결정적 그룹 배정 A/B 테스트에서 그룹 배정에 요구되는 조건이 있습니다. 같은 사용자는 재방문해도 항상 같은 그룹에 있어야 하고, 여러 실험이 동시에 진행될 때 각 실험의 배정이 서로 독립적이어야 합니다. 단순히 random으로 배정하면 재방문 시 그룹이 바뀔 수 있습니다. 그렇다고 서버에 배정 이력을 저장하는 방식은 관리 ..
A/B 테스트 관련 공부를 하다가 Statsig, Hackle 같은 상용 툴을 살펴본 적이 있습니다. 그런데 쓰면 쓸수록 내부에서 어떻게 돌아가는지가 궁금해졌습니다. 그룹 배정은 어떻게 하는지, 유의성 검정은 어떤 공식으로 계산하는지, SRM은 어떻게 잡아내는지 — 블랙박스로 두고 쓰는 게 점점 찜찜해졌습니다. 그래서 직접 만들어보기로 했습니다. 상용 툴 수준은 아니어도, 핵심 기능을 하나씩 직접 구현하면서 원리를 코드 수준에서 확인해보는 게 목표였습니다. 🧪 1. 왜 만들었나A/B 테스트를 공부할 때 이론은 어느 정도 정리가 됐는데, 막상 "그래서 실제 시스템에서 어떻게 구현되는가"라는 질문에는 답이 잘 안 잡혔습니다. 상용 툴들은 그룹 배정, 유의성 검정, 데이터 품질 진단 같은 기능을 모두 자동으..
HELLO WORLD
안녕하세요. 데이터로 말하는 분석가 모모입니다.
데이터를 구조화하고 분석하는 과정과 실무에 활용되는 도구 중심의 내용을 기록합니다.