AB 테스팅 (온라인 실험)

[책 A/B 테스트] (Ch22) "Spillover (leakage, interference)" Trustworthy Online Controlled Experiments

마빈 Marvin 2022. 7. 18. 22:15

 

Chapter 22. Leakage and Interference between Variants

인트로

키워드: “spillover” (leakage, interference) [발표자: 책에서 세 가지 용어를 혼용해서 사용한다는 인상을 받았다]

  • 특정 유닛의 행동에 다른 unit 이 영향을 받는 것
  • 예: 분석 단위가 유저일 때, 내가 “친구 추천” 서비스를 받았을 때, 내가 추천된 사람에게 친구 신청을 보내고, 그 친구 신청을 받은 사람이 수락한다고 하자. 그 때, 두 사람 모두 친구가 생긴다.
    • [발표자가 추가로 생각해본 내용] AB 테스팅 상황이라고 생각한다면, 내가 treatment 그룹에 있고, 나로 인해 친구 신청을 받은 사람이 control group 에 있다면, outcome 이 친구 숫자라고 할 때, treatment group 평균 - control group 평균 = 0 가 된다. 즉, 실제 효과보다 과소 추정된다.

왜 중요한가?

  • 대부분의 분석에서 SUTVA (Stable Unit Treatment Value Assumption) 를 가정한다. 즉, 하나의 unit의 행동이 다른 unit의 행동에 영향을 주지 않는다고 가정한다.
  • 물론 대체로 이커머스 (e-commerce)도메인의 경우에는 이러한 spillover 가 드물다 [발표자가 드는 생각: 재고가 부족한 인기상품의 경우에는 spillover 가 발생하는 경우도 있지 않을까?]

책에서 분류하는 두 가지 개입 (interference or spillover)의 문제:

  • 직접적인 연결 (direct connect)
  • 간적접인 연결 (indirect connection)

예시

(1) 직접적인 연결

  • 페이스북
    • “알 수도 있는 친구”
  • 스카이프 전화 [발표자: 요즘 시대라면 Zoom]

(2) 간접적인 연결

  • 에어비엔비
    • 재고의 문제
      • [발표자가 생각해본 예시] 에어비엔비에서 서비스 수수료를 50% 할인하는 프로모션을 진행한다고 하자. 분석가는 프로모션이 구매율에 미치는 영향이 궁금해서 실험을 진행한다. 프로모션을 적용받은 A 그룹과 받지 못한 B 그룹이 강남역에서 숙소를 구한다고 할 때, A 그룹의 구매를 하면, B 그룹의 경우 구매 가능한 숙소가 줄어든다. 그리고 가성비 좋은 숙소가 먼저 구매된다고 할 때, B 그룹의 경우 가성비가 안 좋은 숙소만 남았을 가능성이 있다. 이는 B 그룹의 구매율을 감소시킨다. 프로모션의 효과가 실제 효과보다 과다 추정된다.
  • 우버/리프트 (모빌리티)
    • [발표자의 생각] 위의 에어비엔비 예시와 마찬가지로 “재고 문제”가 발생한다. 할인을 받은 그룹들의 호출 증가로 인해 해당 지역의 수요는 늘고 공급은 줄어든다. 이로인해 할인을 받지 못한 그룹의 경우 surge price 가 상승하고, 대기 시간이 줄어들 것이다. 이로인해 실제 효과제보다 과다 추정된다.
  • eBay 경매
    • 경매처럼 한 쪽이 경매에서 이기면 다른 한 쪽이 경매에서 패배하는 경우, treatment 의 효과가 과다 추정될 수 있다.
  • 광고 캠페인
    • 클릭당 광고의 경우 입점 업체의 예산은 한정되어 있다. 예를 들어, 어떤 업체에서 2개의 상품이 있고 광고에 대한 예산을 공유한다고 할 때, (노출 랭킹을 올려주는) treatment 가 된 상품의 클릭 수가 늘어나 광고비가 증가하면, control 그룹의 상품에 사용할 수 있는 광고비가 감소한다. 이로 인해 treatment 의 효과가 과다추정된다.
  • Relevance Model Training
    • 모델을 트레이닝 시키기 때문에 확대하는 효과가 있다.
      • 예를 들어서, 특정 상품의 검색 키워드에 대해서 노출이 되면, 그 키워드가 학습이 되어서 더 많은 노출이 장기적으로 된다.
  • CPU
    • Treatment 그룹과 control 그룹이 서버를 공유하는 경우, treatment 그룹으로 인해 latency 가 발생하면 control 그룹에 영향을 미친다.
  • Sub-user experiment unit
    • 페이지 뷰가 단위 일때, 동일 유저 내에서 latency 같은 것들이 개선된다. 쿠키 등의 이유 때문인듯.

Practical Solutions

(1) Rule-of-Thumb: Ecosystem Value of an Action

  • Metric: “downstream impact” 지표가 중요하다.
    • [발표자 노트: 글이 이해가 안되서 인용하는 Barrileaux and Wang (2018) 글을 참고했는데 링크딘의 포스팅하는 크리에이터와 포스트를 읽는 사람들에 대한 내용이다. 네트워크에서 다운스트림에 대한 효과로 “total feedback received”를 들고 있다]
  • 과거의 실험(experiment) 를 도구변수로 이용한다.
    • [발표자 노트: 글이 이해가 안되서 인용하는 Tutterow and Saint-Jacques (2019) 글을 참고했다. 이 글은 notification queueing (messaging queues라고 지칭하던데, new job, promotions, job anniversaries, and birthdays)를 자연실험 (natural experiment)로 이용한다. 예를 들어, A 씨의 링크딘 피드에 친구 X의 “승진 축하” 표시가 뜨면, A가 X 에게 메세지를 보낼 확률이 증가한다. “승진 축하” 표시가 randomize되었다면, 이를 도구변수로 이용하여 친구로부터 메세지를 받는 것이 유저의 engagement에 미치는 영향을 인과적으로 분석할 수 있다]

(2) Isolation

  1. Spliting shared resources
    1. 광고 예산이 문제가 되는 경우, variant 의 분배와 같은 비율로 예산을 배정한다.
    2. Treatment 그룹과 control 그룹의 트래픽이 다른 경우에도 문제가 될 수 있다. 그러므로 50/50 으로 variant 를 분배할 필요가 있다.
  2. Geo-based randomization
    1. (우버의 지역 단위 랜덤화)
    2. [발표자 추가: 우버의 논문들에서는 ‘clustered randomization’]
  3. Time-based randomization
    1. 시간 단위로 랜덤화를 한다.
    2. 시계열 모형을 가정하기도 한다.
    3. (책에서 인용하는 논문 중 하나인) Bojinov land Shephard (2017) 논문에서는 헤지펀드가 지수 선물 옵션에 대해서 사람 vs 알고리즘이 시기별로 random 하게 트레이딩을 한다.
  4. Network-Cluster randomization
    1. 네트워크 내에서 클러스터 단위로 랜덤화
    2. 완전히 고립된 클러스터를 찾기 어려운 문제가 있다. 클러스터 간에 연결된 경우가 80% 정도 된다.
    3. 대단위의 클러스터의 경우에는 클러스터 개수가 적고, 클러스터 개수를 늘리는 경우에는 클러스터 간의 연결되는 경우가 더 잦아진다.
  5. Network ego-centric randomization
    1. “ego” (중심부) 와 “alter” 를 각각 구분한다. 예를 들어, “alter” 는 모두 treatment 그룹에 두고, “ego” 를 절반씩 treatment 그룹과 control 그룹으로 배정한다.
      1. [발표자가 생각한 예시] “ego” 란, 예를 들어 개발자 커뮤니티의 인플루언서와 데이터 분석가 커뮤니티의 인플루언서이다.
      2. [발표자가 생각한 예시] “alter” 는 각 커뮤니티에 있는 인플루언서가 아닌 사람들을 생각할 수 있다.

Edge-Level Analysis

  • (유저 i, 유저 j) 단위로 (Control, Control), (Treatment, Treatment), (Control, Treatment), (Treatment, Control) 로 분류한다.
    • (T, T) 와 (C, C) 를 비교함으로써 bias 가 없는 효과를 추정할 수 있다.
    • T 가 T 보다 C 에 더 메세지를 보내는 지 아닌지에 대해 분석할 수 있다.
    • 또는 T 가 C 에 메세지를 보냈을 때, C 의 response rate 과 C 가 C 에 메세지를 보냈을 때 C 의 response rate 를 비교할 수 있다.

Detecting and Monitoring Interference

  • 위에서 살펴본 interference (spillover, leakage) 를 지속적으로 모니터링해야한다.

발표자의 클로징

  • 테크 플랫폼의 플랫폼은 “Many-to-Many” 매칭의 형태가 있음 (다수의 공급자와 다수의 소비자를 연결)
    • 이 때, 우버/리프트의 라이드나 에어비엔비의 숙박처럼 재고가 (특정 기간 동안) 제한되어 있는 경우에는 “재고 부족”의 문제가 발생할 수 있다.
    • Treatment 그룹에 프로모션을 적용하면, control 그룹에 공급이 감소. 효과가 과다 추정될 수 있다.
  • 또는 링크딘이나 페북처럼 mutual friendship 형태가 있다 (친구 추가 기능의 경우에 해당. 팔로우 경우는 제외)
    • 이 때 treamtnet 그룹에 프로모션을 적용하면, control 그룹에서도 “친구 추가”와 같은 outcome이 증가함. 효과가 과소 추정될 수 있다.
  • 유저가 서버를 공유하는 경우, 일종의 “재고 부족” 문제가 발생할 수 있다.

Discussion

  • 회사/프로덕트에서 spillover 문제가 발생하는가?