그랩의 실험 의사 결정 엔진
* GrabX Decision Engine * 실험 전 조언, 실험 후 분석, 기타 고급 도구를 포함한 다양한 기능이 존재 * 그랩의 실험 문화와 수준을 강화하는 방법을 살펴봄 * 배경 * 그랩의 실험 플랫폼은 매주 수천 가지의 실험을 테스트 * 실험이 증가하며 데이터 기반의 증거 기반 의사 결정을 위해 신뢰할 수 있고 확장 가능한 실험 도구가 필요해짐 * 이전엔 자동화된 실험 분석을 소개했음. 하지만 그랩에선 실험을 수동으로 분석하는 경향이 있는 것을 발견 * 이런 방식의 문제점 * 상황에 맞는 툴킷이 부족. 다양한 요구에 맞춰 다양한 실험 설계를 실행할 수 있도록 지원해야 함 * 실험 설계에 대한 온라인 자료는 대부분 Two Side 마켓의 미묘한 차이를 다루지 않고, 특정 실험의 제약 조건을 고려하지 않음 * 표준화된 프로세스 부족 * 잘못 설계된 실험, 부적절한 평가 방법, 최적의 테스트 선택, 신뢰하기 어려운 추론 등. 이것들을 모니터링하고 수정하기 어려움 * 확장성 및 효율성 부족 * 다양한 배경을 가진 사람들이 다른 접근 방식을 채택할 수 있음. 이런 방법은 이전 방식과 결이 달라 일관성 있는 프레임워크를 만드는 데엔 악영향을 미칠 수 있음 * 해결책 * 그랩의 내부 개발 플랫폼에 오픈소스화된 파이썬 패키지인 GrabX Decision Engine을 개발. 이 엔진의 핵심 목표는 실험 효율성과 분석의 Best Practice를 시스템화해서 각 실험에서 정확하고 신뢰할 수 있는 결론을 도출하는 것 * GrabX, 자동화된 실험 분석과 호환. 시뮬레이션 기반 캘리브레이션, 자동 설정 튜닝 등 같은 다운스트림 작업에도 사용 가능 * 실험 분석 표준화 * 협업 및 품질 향상 * DS, PA가 주로 사용자고 실험 프로세스와 관련된 모든 사람을 위해 설계되었음 * 기능 세부 정보 * 실험을 위한 신뢰할 수 있는 조언 기능 * 실험 후 분석 툴박스 기능 * 고급 도구 * 실험 설계 참고 사항 * 피험자 간(between-subject) 설계 / 피험자 내(within-subject) 설계로 구분 * 피험자 간 설계 : 앱 사용자 등을 실험 그룹으로 나누고 실험 기간 동안 다른 조건에 노출 * 이 방법은 여러 실험에 참여할 수 있을 수 있음 * 피험자 간 상관관계가 발생할 수 있고, 서로 연관성이 생길 수 있음 * randomization, session 단위에 차이가 발생할 수 있음 * pre-experiment power analysis와 post-experiment inference의 정확성에 영향을 미침 * 표준 오차의 군집화 등이 필요함 * 피험자 내 설계 : 모든 참가자가 모든 조건 경험 * 전후 비교를 해야하는 경우 * 마켓플레이스에서 사용되는 설계 방법. 시간 슬라이드가 실험 단위 * 신뢰할 수 있는 조언자 * 피험자 간 설계 : 표본 크기를 추정하기 위함 * 피험자 내 설계 : 대신 따라야 하는 모범 사례 가이드라인 제공 * 그 외에 표본 비율 불일치(SRM) 문제가 발생할 수 있음. 실험 후 분석도 고려함 * Recommended regression models * 실험에서 일반적으로 관찰되는 confounders factor, fixed effect, heteroskedasticity을 제어하기 위해 회귀 모델 사용 * 피험자 간 설계 : 동일한 실험 단위의 반복 관측. iid * 피험자 내 설계 : 파급 효과, 무작위 배정 불균형 등 문제가 있어서 confounder factor를 더 잘 통제해야 함.