질문의 배경
대형 제품들은 개인화된 블록, AI 추천 또는 대체 탐색 패턴과 같은 새로운 콘텐츠 진입점을 지속적으로 도입하고 있습니다. 잠식 분석이 없으면 팀은 새로운 기능의 성공을 잘못 평가할 수 있으며, 실제로는 화면 간의 사용자 이동만 발생하고 총 수익이 증가하지 않을 수 있습니다.
문제
인크리멘탈 효과(새로운 블록 없이는 발생하지 않을 새로운 거래)와 잠식(기존 카테고리에서 새로운 블록으로 이동된 거래)을 구분해야 합니다. 사용자 수준의 일반적인 A/B 테스트는 이 문제를 해결하지 못합니다. 사용자가 두 채널을 동시에 보게 되면 선택 간의 내생성이 발생하기 때문입니다.
해결책
Geo-experiment와 합성 통제(synthetic control) 방법을 사용하거나 세션 기반 클러스터 랜덤화를 적용합니다. 지리적 지역을 무작위로 테스트 및 대조군에 배정하고, 전체 플랫폼 수준뿐만 아니라 탐색 카테고리별로 GMV 변화를 측정합니다. Difference-in-Differences 방식을 적용하여 총 증가에서 잠식된 수익을 빼냅니다.
문제 설명
이커머스 모바일 애플리케이션에서 TensorFlow 기반 랭킹 모델을 사용하여 '당신을 위해 선택됨' 새로운 블록을 론칭했습니다. 한 달 후, 카테고리 클릭 지표는 25% 하락했지만 총 GMV는 겨우 5% 증가했습니다. 제품 팀은 이게 잠식인지 실제 사용자 경로 최적화인지를 논의했습니다. 5% 중 진정한 증가가 얼마인지, 기존 수요의 이동이 얼마인지 파악해야 했습니다.
검토된 해결책
첫 번째 해결책: 전체 GMV에 대한 간단한 '전후' 비교. 이 접근 방식은 새로운 블록 없이는 지표가 변하지 않았을 것이라고 가정합니다. 장점: 최대 속도, 실험 인프라 필요 없음. 단점: 계절성, 마케팅 캠페인 및 유기적 성장 트렌드를 무시하여 15-20%의 편향된 추정치를 제공합니다.
두 번째 해결책: Splitting 서비스로 50/50 분할을 통해 user_id 수준의 일반적인 A/B 테스트. 대조군에 블록을 숨기면 GMV 차이가 진정한 효과를 보여줄 것이라고 가정합니다. 장점: 간단한 실행, 익숙한 통계. 단점: 테스트 그룹의 사용자들은 여전히 검색이나 카테고리를 통해 상품을 찾을 수 있고, 대조군은 비교 카테고리의 데이터를 적게 생성합니다.
세 번째 해결책: 합성 통제 방법이 포함된 지오 실험. GMV 동향이 유사한 20개 도시를 선택하고, 10개 도시를 테스트(블록 표시됨), 나머지 10개 도시를 대조(블록 비표시)로 무작위 배정했습니다. 대조군을 위해 테스트 도시들 '전' 기간에 최대한 근접한 가중합을 구축했습니다. 장점: 집계 시장 수준에서 효과를 측정할 수 있으며, 도시 내 카테고리 간 잠식을 자연스럽게 고려할 수 있습니다. 단점: 대규모 샘플(도시) 필요, 지역 프로모션에 민감하고, 2차 오류 계산의 복잡성.
선택된 솔루션과 그 이유
세 번째 옵션인 합성 통제 방법이 포함된 지오 실험을 선택했습니다. 일반 A/B 테스트를 통해 하나의 사용자 내에서 잠식을 측정할 수 없다는 점이 결정적인 요소였습니다. 대조군에 블록이 없어도 테스트 그룹에서 이동할 거래의 '반사적' 운명을 볼 수 없기 때문입니다. 지리적 수준은 카테고리 구조 변화 전반을 볼 수 있게 해주었습니다.
결과
전체 GMV의 5% 증가 중 3.2%는 잠식이었고(카테고리에서 블록의 상위 3개 제품으로의 이동), 진정한 인크리멘탈 효과는 단지 1.8%였습니다. 이 데이터를 바탕으로 랭킹 알고리즘을 수정하고 인기 상품에 대한 패널티를 추가하여 순증가를 4.1%로 끌어올렸습니다.
질문 1: 사용자 세션 수준에서 새 블록 클릭과 카테고리 클릭 감소 간의 상관관계를 단순히 볼 수 없는 이유는 무엇인가요?
그 이유는 자기 선택의 내생성 때문입니다. 새 블록을 클릭하는 사용자는 카테고리로 가는 사용자와는 다른 의도 구조(구매 높은 의도 vs. 탐색)를 가지고 있습니다. 직접적인 상관관계는 심슨의 역설을 초래할 수 있습니다. 집계된 데이터에서는 블록이 트래픽을 '빼앗았다'고 보일 수 있지만, 높은 의도의 코호트 수준에서는 그들이 더 빠르게 구매했을 것이라는 것을 볼 수 있습니다. Causal Forest 또는 Propensity Score Matching을 사용하여 블록 노출 '전' 동일한 행동 이력을 가진 사용자를 비교해야 합니다.
질문 2: 카테고리 간 효과가 상반될 수 있을 때, 잠식 실험의 최소 유의미한 효과(MDE)를 어떻게 계산합니까?
여기서 후보자들은 평균 효과를 위한 일반 공식을 적용하는 실수를 저지릅니다. 잠식의 경우 카테고리 간 분산이 증가합니다. 왜냐하면 우리는 비대칭으로 인해 어떤 카테고리는 잃고 어떤 카테고리는 이득을 보기 때문입니다. Linear Mixed Models를 사용하여 카테고리의 랜덤 효과를 고려하고 결합된 메트릭(전체 GMV에서 잠식된 카테고리의 GMV 감소를 가중한 값으로 뺀 것)의 통계력을 계산해야 합니다.
질문 3: 제품 내 잠식 측정의 실험적 접근과 사회적 네트워크에서의 간섭 문제 해결 사이의 근본적인 차이는 무엇인가요?
제품 분석에서의 잠식은 하나의 주체(사용자) 내에서의 '수요 이동' 형태이며, 드물게 유닛 간 간섭으로 모델링됩니다. 사회적 네트워크(예: Facebook)에서는 간섭이 사회적 그래프를 통한 사용자 간의 spillover입니다. 잠식을 줄이기 위해 시간 또는 행동 유형에 따라 클러스터링을 사용하며, 그래프 랜덤화는 사용하지 않습니다. 여기서 treatment assignment는 새로운 UI에 대한 노출이지 사용자 간의 커뮤니케이션이 아니기 때문에 Ego-cluster randomization과 같은 방법은 적합하지 않습니다. 대신 사용자 세그먼트 수준에서 Switchback experiments를 사용합니다.