Posts
My thoughts and ideas
Welcome to the blog
My thoughts and ideas
이제 온라인 통제 실험을 실제로 실행해보자. 막상 시작하려고 하면 무엇부터 준비해야 할지 막막할 수 있다. 일반적으로 실험 프로세스는 실험 이전 → 실험 진행 → 실험 이후의 세 단계로 나뉜다. 이번 글에서는 실무에서 실험을 수행할 때 필요한 태스크를 단계별로 정리해본다.

실험 프로세스에는 크게 실험을 주도하는 Experiment Owner 조직과 데이터 전문성을 가진 Data Analysis 조직, 그리고 실험 전후로 Front-end, Back-end 개발을 지원하는 Engineering 조직이 관여한다. 이전 글에서 살펴본 상세 페이지 예시를 활용해 전체 실험 프로세스를 따라가보자.
실험 가설 수립
실험을 수행하기에 앞서 검증하고자 하는 실험 가설을 수립한다. 한 줄의 가설이 실험의 방향을 명확히 설정하기 때문에 전체 실험 프로세스에서 가장 핵심적인 단계 중 하나다. 우리의 예시는 상세 페이지가 복잡해서 탐색이 피로하다는 고객의 VoC에서 출발한다. 이 VoC는 “상세 페이지의 복잡도를 낮추면 고객 탐색 여정이 개선된다”라는 가설로 변환할 수 있다.
평가 지표 설계
가설을 수립한 뒤에는 실험 오너가 가설을 검증할 수 있는 지표를 설계한다. 실험의 성패를 판단하려면 정량적으로 측정이 가능한 지표를 선정해야 한다. 만약 직접적인 측정이 어렵다면 간접적으로 영향력을 판단할 수 있는 대리 변수(proxy variable)를 사용할 수도 있다. 앞선 가설에서는 “고객당 평균 상세 페이지 체류시간”을 목표 지표(Goal metric)로 설정하면 고객 탐색 여정이 개선되었는지를 검증할 수 있다. 더 복잡한 형태의 실험에서는 평가 지표 프레임워크 설계가 특히 중요하다.
실험 디자인 설계
제안된 실험 가설과 지표를 바탕으로 랜덤 할당이 가능하도록 실험 디자인을 설계한다. “고객당 평균 상세 페이지 체류시간”을 평가 지표로 사용하므로 고객 단위로 랜덤 할당이 필요하다. 만약 세션 단위의 지표를 설정했다면 세션 단위로 할당해야 한다.
또한 대조군에 기존 화면을, 실험군에 새로운 화면을 노출했을 때 랜덤 할당의 가정이 유효한지도 확인한다. 한 명의 고객에게 대조군과 실험군 화면이 모두 노출되는 등 변형군 간 간섭이 발생하지 않는지, 실험군과 대조군의 노출 조건 차이로 편향이 생기지 않는지 등을 면밀히 점검한다.
실험 설정 및 사전 검토
설계가 끝나면 실험을 셋팅하는 단계로 넘어간다. 실험 오너는 실험 어드민 화면에서 할당 기준과 변형군 별 노출할 화면, 알고리즘, 데이터 등을 설정한다. 실험 전 테스트 유저를 지정하거나 사업자 고객은 제외하는 등 특정 조건을 포함/제외하는 설정도 이 단계에서 진행힌다.
데이터 분석 조직에서는 실험의 독립성과 무작위성을 검토한다. 특정 변형군에 특정 성향의 고객이 집중되지 않았는지 확인하기 위해 A/A 테스트를 수행하고, 검정력 분석을 통해 최소 실험 기간을 산출하여 실험의 신뢰도를 확보한다.
만약 지표 집계가 실험 플랫폼에 내재화되어 있지 않다면 로그 데이터를 처리해 지표를 집계할 수 있도록 코드를 준비한다. 초기에는 단순 집계 쿼리면 충분하지만, 실험이 점차 늘어나 자동화가 필요해지면 dbt 등을 활용한 메트릭 스토어 구축이 필요하다.
엔지니어링 조직에서는 변형군 별로 필요한 Asset을 개발하고 실험 어드민 설정에 따라 각 Asset이 잘 노출될 수 있도록 설정한다. 여기서 Asset은 새로운 상세 페이지 화면이나 알고리즘(또는 알고리즘 API), UI 요소 등을 의미한다.
지표 집계/모니터링
실험이 시작되면 지표를 집계하고 지표의 변화를 모니터링한다. 먼저 랜덤 할당의 가정이 깨지지 않았는지 SRM(Sample Ratio Mismatch)을 확인한다. 만약 SRM이 깨져 설계한 변형군 간 비율이 유지되지 않는다면, 해당 실험의 결과는 더 이상 의미가 없으므로 실험을 중단하고 새로운 실험을 셋팅해야 한다.
SRM 이슈가 없다면 계획한 기간 동안 실험을 모니터링한다. 실험 결과와 무관하게 실험은 반드시 사전에 계획했던 기간까지 진행해야 한다. 가드레일 지표가 과도하게 하락하여 실험을 즉시 중단해야 하는 경우가 아니라면 최소 7일 이상 실험을 진행해야 결과에 대한 신뢰도를 확보할 수 있다.
실험 유의성 검토
실험이 종료되면 데이터 분석 조직은 변형군 간 지표 차이가 통계적으로 유의한지 검증한다. 일반적으로 두 집단 간 차이를 검증하기 위해 T-test를 수행하며, 이를 통해 관측된 차이가 우연이 아니라 실제로 Treatment로 인해 발생했는지 판단할 수 있다.
한편 실험 오너는 측정 지표의 차이가 비즈니스 관점에서 의미 있는 개선인지 검토한다. 통계적으로는 수치의 차이가 유의미할 수 있으나 절대적인 수치가 비즈니스에서는 의미가 없을 수도 있다. 또한 지표로는 측정되지 않는 부작용의 발생 가능성 등을 종합적으로 고려한다.
개발 배포 결정
실험 오너와 데이터 분석 조직은 유의성 검토 결과를 바탕으로 종합적인 결론을 내린다. 이 과정에서 조직 간의 균형잡힌 판단이 중요하다. 새로운 상세 페이지 화면을 노출한 실험군에서 고객당 평균 체류시간이 증가했다면 이를 성공으로 판단하고 새로운 화면을 배포하도록 개발 조직에 요청한다. 반대로 체류시간이 증가하지 않았거나, 증가했더라도 그것이 고객 탐색 여정의 개선을 의미하는지 의심된다면 재실험을 진행하거나 새로운 실험을 진행해볼 수 있다.