그녀의 일

Swtichback test란?

뻔짓 2023. 3. 23. 13:25
728x90
반응형

DoorDash Dispatch 팀에서 하는 일

  1. dasher가 적절한 배달을 하는 것
  2. 예측 (언제 픽업, 도착 할지) -> time estimation
  3. 묶음 배송 -> stacking
  4. 가격 변화와 함께, 수요공급 균형을 위한 전략 수립 -> dynamic pricing

실험과 시뮬레이션은 위 문제들을 해결하는데 중요함

그러나, 이는 offline에서의 AB Test에선 가능했으나, online에선 network effect로 인해 한계가 있음

 

예시. SOS pricing

  • 설명 : 수요 폭발 시 배달 수수료 인상으로, 수요 공급 조절 (리텐션, 배달 시간)
  • 실험 방법
    • A/B Test : 고객(혹은 배달 건) 분류이므로 서로 영향 받음. 통제군과 실험군이 완전히 독립적이라 볼 수 없음 (=spillover effect)
    • pre-post (before-after) test : release 전후 비교. 외부 요인은 통제하지 못함 (날씨, 휴일 등)
    • switchback testing : 시간단위(30분)로 지역별로 통제군과 실험군을 교체하여 테스트. 각 시간/지역 단위로 variant 랜덤하게 선택. “시간-지역 유닛”
 

 

switchback testing 실험

  • 기능
    • 모든 실험에 대한 메타데이터 저장 (Metadata) : 1. window 시작 시간 (시간 단위 선정 중요함) 2. 지역 3. 시간-지역의 고유 식별값
    • 특정 시점에 사용할 알고리즘 선택 (Bucketing)
    • 지표 계산 및 분석을 위한 추적 처리 (Tracking)
  • Flow
    • switchback window 선정 : 시간 단위 조정
    • registration : window 종료 시점에, 상태를 점검하고 업데이트
    • GetBucket : 실험시스템에 요청한 버킷값을 가져와서, tracking events(메타데이터 정보)를 pipeline에 보냄
       

  • 분석 방식
    • “시간-지역 유닛”별 평균 → 실험군과 통제군의 평균계산 (T-Test 검정)
      • 배달이 많은 유닛과 아닌 유닛에 따라 평균 수렴 안 할 수 있음
      • 따라서, multi-level modeling (MLM, 계층 모델링) 으로 통계 검정의 오차 범위를 줄일 수 있음
         

  •  
    • A/B Test는 그룹간 독립을 가정하는데, switchback test는 유닛이 다음 유닛에 영향을 끼치기 때문에, 독립성 가정이 위배 될 수 있음 → sandwich estimator of variance
  • 고려사항
    • bias : 시간-지역 유닛이 랜덤화 안 될 때 발생
      • 매장-고객 거리가 긴 배달들이이 특정 알고리즘에 많이 배정되는 경우
      • 지역이 너무 작거나
      • switch가 빈번히 발생하거나
    • margin of error (오차한계) : 불확실성이 얼마나 있는지 (요인 : natural variation, 유닛 수)
      • 시간-지역 유닛이 쪼개질수록 분산은 커지지만, 유닛 수는 많으므로 불확실성은 낮출 수 있음
         
    • 즉, 유닛이 작으면 편향이 발생하고, 유닛이 크면 오차 한계 크고 소요 시간도 김.
    • ‘시간-지역 유닛’ : 30분 시간 단위, city level의 지역

  • 제품 출시 후, switchback test window로 관찰. 실험 결과에 대한 방향 확인

 

 


Referece : Switchback Tests and Randomized Experimentation Under Network Effects at DoorDash

728x90
반응형