실험 사후 분석/회고
Post-Mortem Analysis
실험 사후 분석은 성공 여부 검증을 넘어 통계적 유의성 이면의 사용자 행동 변화를 정량·정성적으로 해부하는 과정입니다. 실패한 실험에서 '왜곡된 세그먼트'나 '숨겨진 반대 효과'를 찾아내어 다음 스프린트의 고성능 가설로 전환합니다.
📖 개념 정의 및 실무 적용
많은 그로스 팀이 A/B 테스트에서 유의미한 결과(P-value < 0.05)가 나오지 않으면 실험을 실패로 규정하고 단순히 백로그에 묻어둡니다. 이로 인해 동일한 실패 패턴을 반복하고 유용한 인사이트를 폐기하는 심각한 비효율이 발생합니다. 실험 사후 분석(Post-Mortem)은 전체 집단에서는 효과가 없었더라도 특정 코호트나 세그먼트에서 발생한 긍정적/부정적 시그널을 발굴하여 리소스 낭비를 막고 데이터 기반의 다음 액션을 도출합니다.
import pandas as pd
import scipy.stats as stats
def analyze_experiment(df, metric_col, variant_col):
control = df[df[variant_col] == 'control'][metric_col]
treatment = df[df[variant_col] == 'treatment'][metric_col]
t_stat, p_val = stats.ttest_ind(treatment, control, equal_var=False)
lift = (treatment.mean() - control.mean()) / control.mean() * 100
print(f'Lift: {lift:.2f}% | P-value: {p_val:.4f}')
if p_val < 0.05:
print('Statistically Significant Result')
else:
print('No Significance. Check Segment Breakdown.')
return {'lift': lift, 'p_value': p_val}
⚡ 5분 만에 적용하는 실행 스텝
전체 지표 검증: 1차 지표(North Star) 및 가드레일 지표의 통계적 유의성과 변화율(Lift) 확인
세그먼트 쪼개기: 디바이스, 신규/복귀 유저, 유입 채널별로 하위 그룹 분석 수행
퍼널 드릴다운: 전환율이 정체되거나 하락한 특정 마이크로 퍼널 스텝 식별
정성 데이터 결합: 세션 녹화(Hotjar 등) 및 이탈 유저 인터뷰를 통한 원인 가설 수립
🚀 실무자만 아는 한 끗 차이 Pro Tip
⚠️ 흔히 하는 실수 & 주의사항 (삽질 방지)
❓ 자주 묻는 질문 (FAQ)
통계적 유의성이 나오지 않은(Inconclusive) 실험은 완전히 폐기해야 하나요?
절대 아닙니다. 통계적 유의성이 없다는 것은 전역(Global) 관점에서의 이야기입니다. 하위 세그먼트나 가드레일 지표에서 발견된 뜻밖의 발견(Serendipity)을 활용해 타겟팅을 좁혀 재실험을 설계해야 합니다.
사후 분석은 실험 종료 후 언제 진행하는 것이장 효율적인가요?
실험 종료 직후 데이터 파이프라인이 안정화되는 T+1일 또는 T+2일에 진행하는 것이 가장 좋습니다. 시간이 지날수록 기억이 희미해지고 팀의 관심도가 다른 백로그로 이동하기 때문입니다.