가장 honest 한 eval 은 실제 user
Offline eval 은 test set 이 말하는 거 알려줘. Online A/B test 는 user 가 하는 거 알려줘. 둘 다 중요, 하지만 online 이 ground truth 에 가장 가까운 — offline 으로 label 못 하는 거 (engagement, retention, 수익화) 측정하는 유일한 방법.
Online A/B test 가 측정하는, offline 이 못 하는 것
- Engagement — user 가 새 variant 와 더 오래 대화 유지?
- Task completion — 어느 fraction 이 실제 goal 완료?
- Satisfaction — 명시적 thumbs-up/down 또는 implicit (follow-up 안 필요).
- Latency tolerance — user 가 더 느리지만 더 나은 응답 기다렸어, churn 했어?
- 장기 retention — user 가 다시 와?
방법론 fundamental
- User (session 이 아니라) level 의 random assignment.
- Pre-registered metric — test 돌기 전에 primary metric 선언. 안 그러면 chance 로 "이긴" metric 찾게 돼.
- Sample size 계산 — 미리 power analysis; 결과 peek X.
- Novelty 효과 캡처할 만큼 길게 — 첫 주 효과 자주 generalize X.
- Guardrail metric monitor — primary metric 이겨도 latency, error rate, cost 가 폭발 안 했는지 체크.
원칙: Offline eval 이 propose, online A/B test 가 dispose. Offline 숫자만으로 major change 절대 ship X.
Direction 만이 아니라 통계적 significance
"Variant B 가 2% 더 나았어" 는 confidence interval 없으면 무의미. Arm 당 1,000 user 면 대부분 metric 의 noise floor 가 ±5%. Winner 선언 전 p-value (또는 confidence interval) 계산. statsmodels, ABBA, 또는 platform 의 built-in stats 가 처리.