A/B 테스트의 가드레일 지표와 비열등성 검정
가드레일 지표는 '유의하게 떨어지지 않았다'가 아니라 '정해 둔 마진 이상 떨어지지 않았다'로 통과시켜야 합니다. 비열등성 검정과 마진(NIM) 정하는 법, 실험 도중 하락을 잡는 시퀀셜 A/B 테스트까지 정리했습니다.
목차
들어가며
결론부터: 가드레일 지표는 “유의하게 떨어지지 않았다”가 아니라 “정해 둔 마진 이상 떨어지지 않았다는 근거가 있다”로 통과시켜야 한다.
A/B 테스트를 하다 보면 이런 상황을 자주 만난다. 주요 지표는 올랐는데 가드레일 지표인 구매 전환율이 조금 떨어졌고, p-value는 0.3이라 유의하지 않다. 이대로 실험군을 배포해도 될까?
이 글은 에이블리 기술 블로그의 가드레일 지표 사례를 바탕으로, 이 질문에 답하는 방법인 비열등성 검정(Non-Inferiority Test)과 마진(NIM)을 정리한다. 앞선 글 “A/B 테스트에서 검정력 분석이 필요한 이유”에서 다룬 검정력과 신뢰구간 개념을 그대로 이어서 쓴다. 마지막으로, 실험 도중 가드레일 하락을 빠르게 잡아내는 시퀀셜 A/B 테스트 사례도 함께 다룬다.
가드레일 지표란
가드레일 지표는 실험으로 올리려는 지표가 아니라, 실험 때문에 망가지면 안 되는 지표다. 주요 지표(OEC)가 “이 변경이 좋은가”를 묻는다면, 가드레일 지표는 “이 변경이 다른 것을 해치지 않았는가”를 묻는다.
| 종류 | 무엇을 지키나 | 예시 |
|---|---|---|
| 비즈니스 가드레일 | 회사의 핵심 수익과 거래 | 매출, 구매 전환율, 객단가, 광고 수익 |
| 사용자 경험 가드레일 | 장기적인 사용자 관계 | 리텐션, 세션 수, 이탈률, 알림 수신 거부율, 고객 문의 수 |
| 성능·안정성 가드레일 | 서비스 품질 | 페이지 로딩 시간, 오류율, 앱 크래시율 |
| 실험 신뢰성 가드레일 | 실험 자체의 타당성 | 표본 비율 불일치(SRM), 쿠키 이탈률 |
예를 들어 추천 영역에 광고를 더 많이 노출하는 실험은 광고 클릭 수를 쉽게 올린다. 하지만 사용자 체류 시간이나 구매 전환율을 깎아 먹을 수 있다. 가드레일 지표는 이런 “한쪽을 올리고 다른 쪽을 망가뜨리는” 배포를 막는 장치다.
“유의하지 않으니 통과”의 문제
“유의하게 떨어지지 않았다”는 “떨어지지 않았다”의 증거가 아니다. 하락을 증명하지 못했을 뿐이며, 검정력이 낮을수록 실제 하락도 쉽게 통과한다.
에이블리의 경험이 이 문제를 잘 보여준다.
- 처음에는 빠른 의사결정을 위해, 가드레일 지표가 유의하게 하락하지 않으면 통과로 판단했다. 에이블리는 이 방식을 열등성 검정(Inferiority Testing)이라고 불렀다. 하락 폭이 유의성을 만들 만큼 크지 않다면, 실험을 이어가 다음 액션을 하는 편이 비즈니스에 더 낫다는 판단이었다.
- 서비스가 빠르게 성장하면서 문제가 드러났다. 트래픽과 매출 규모가 커지자, 작은 하락 가능성만으로도 기대 손실이 크게 늘었다.
- 그래서 정해진 마진까지 하락할 가능성이 없을 때만 통과로 보는 비열등성 검정(Non-Inferiority Testing)을 도입했다.
기존 방식이 위험한 이유는 입증 책임의 방향에 있다.
| 기존 방식 (하락이 유의하면 실패) | 비열등성 검정 | |
|---|---|---|
| 귀무가설 H0 | 차이 없음 | 마진 이상 하락했다 |
| 입증 책임 | “나빠졌다”를 증명해야 실패 | “마진 이상 나빠지지 않았다”를 증명해야 통과 |
| 표본이 부족하면 | 대부분 통과 (위험한 변경도 통과) | 대부분 판단 불가 (보수적) |
| 표본이 매우 크면 | 아주 작은 하락도 실패 | 마진 이내의 하락은 통과 |
두 가지 실패가 모두 보인다. 기존 방식은 실험이 작을 때 해로운 변경을 통과시키고, 실험이 클 때는 비즈니스상 무시해도 되는 하락까지 막는다. 비열등성 검정은 “얼마까지의 하락은 감수하겠다”는 기준을 미리 정해 두어서 두 문제를 함께 다룬다.
비열등성 검정
비열등성 검정은 “실험군이 대조군보다 마진(NIM) 이상 나쁘지 않다”를 증명하는 검정이며, 실무에서는 신뢰구간의 하한을 마진과 비교하는 것으로 판정한다.
가설은 다음과 같다. d는 실험군 − 대조군의 차이(절대 또는 상대), Δ는 미리 정한 마진(양수)이다.
- H0: d ≤ −Δ (마진 이상 나빠졌다)
- H1: d > −Δ (마진 이상 나빠지지 않았다)
판정 규칙은 단측 검정이므로, 단측 유의수준 α = 0.05라면 양측 90% 신뢰구간의 하한을 쓴다.
통과 ⇔ L = d̂ − z₁₋α × SE(d̂) > −Δ같은 내용을 z 통계량으로 쓰면 z = (d̂ + Δ) / SE > z₁₋α 일 때 통과다.
그림의 네 경우를 읽는 방법:
- A는 하한이 마진보다 위에 있어 통과한다.
- B는 신뢰구간이 0을 포함하지 않으니 통계적으로는 유의한 하락이다. 하지만 하락 폭이 마진 이내라고 확인되었으므로 통과한다. “이 정도 하락은 주요 지표의 이득과 바꿀 가치가 있다”고 미리 합의한 결과다.
- C는 기존 방식이라면 “유의하지 않음”으로 통과했을 경우다. 비열등성 검정에서는 마진 이상 하락했을 가능성을 배제하지 못하므로 통과시키지 않는다. 표본을 더 모으거나 배포를 보류한다.
- D는 하락이 마진을 넘었다는 근거가 있으므로 실패다.
계산 예시: 구매 전환율 가드레일
같은 데이터라도 기존 방식은 “통과”, 비열등성 검정은 “통과 불가”가 나올 수 있다.
상황: 추천 영역 개편 실험. 주요 지표는 CTR이고, 가드레일은 구매 전환율이다.
- 대조군: 200,000명, 구매 전환율 5.00%
- 실험군: 200,000명, 구매 전환율 4.97%
- 마진: 상대 −2%, 즉 절대 −0.10%p (5.00% × 2%)
- 단측 α = 0.05 (z = 1.645)
계산:
- 차이 d̂ = 4.97% − 5.00% = −0.03%p
- SE = √(0.05 × 0.95 / 200000 + 0.0497 × 0.9503 / 200000) ≈ 0.069%p
- 기존 방식: z = −0.03 / 0.069 ≈ −0.44, p ≈ 0.66 → 유의하지 않으므로 통과
- 비열등성 검정: 하한 L = −0.03 − 1.645 × 0.069 ≈ −0.143%p → 마진 −0.10%p보다 아래이므로 통과 불가
관측된 하락은 0.03%p로 작지만, 이 표본 크기로는 “0.10%p 이상 떨어지지 않았다”를 보여줄 만큼 구간이 좁지 않다. 앞 그림의 C 경우와 같다.
마진은 필요한 표본 수를 결정한다. 실제 차이가 0이라고 가정하면, 비열등성 검정에 필요한 그룹당 표본은 다음과 같다.
n(그룹당) ≈ (z₁₋α + z₁₋β)² × 2σ² / Δ²| 마진 (상대 / 절대) | 그룹당 필요 표본 (검정력 0.8) | 이 예시의 판정 |
|---|---|---|
| −2% / −0.10%p | 약 588,000명 | 통과 불가 (하한 −0.143%p) |
| −3% / −0.15%p | 약 261,000명 | 통과 (하한 −0.143%p > −0.15%p) |
마진을 절반으로 줄이면 표본은 4배가 필요하다. 검정력 분석 글에서 본 MDE와 같은 구조다. 마진이 곧 가드레일의 MDE다.
NIM은 어떻게 정하나
마진은 통계 기준이 아니라 “이 변경으로 얼마까지 손해를 감수하겠는가”라는 비즈니스 결정이며, 실험 전에 정해 두어야 한다.
마진을 정할 때 함께 보는 요소:
- 감수 가능한 손실 금액: 마진을 돈으로 바꿔 본다. 예를 들어 (가정) 월 거래액 100억 원 중 실험 대상 영역이 30%라면, 구매 전환율 마진 −1%는 최악의 경우 월 약 3,000만 원 손실을 감수한다는 뜻이다.
- 주요 지표의 기대 이득: 주요 지표가 올라 생기는 이득이 마진만큼의 손실보다 커야 거래가 성립한다. 이득이 작은 실험일수록 마진도 작아야 한다.
- 과거 실험의 분포: 이전 실험들에서 해당 가드레일 지표가 평균적으로 얼마나, 어느 폭으로 움직였는지(평균과 표준편차)를 본다. 대부분의 실험이 자연스럽게 보이는 변동 폭보다 마진이 작으면, 거의 모든 실험이 판단 불가로 끝난다.
- 확보 가능한 표본: 앞 섹션의 공식으로 마진에 필요한 n을 계산하고, 실험 기간 안에 모을 수 있는지 확인한다. 모을 수 없다면 마진을 넓히거나 실험 기간을 늘린다.
- 실험 기간과 분석 대상(트리거링 조건): 특정 화면에 진입한 사용자만 분석한다면, 그 집단에서의 −2%는 전체 서비스 기준으로는 훨씬 작은 손실이다. 마진은 분석 대상 기준으로 정하되, 전체 영향으로 환산해 확인한다.
경계할 점: 손실이 걱정되어 마진을 0에 가깝게 잡으면 안 된다. 마진이 너무 작으면 비열등성을 보여주는 데 엄청난 표본이 필요하고, 결과적으로 가드레일은 “지켜야 하는 지표”가 아니라 “올려야 통과하는 지표”가 된다. 에이블리도 이 변질을 경계한다고 밝혔다. 반대로 마진이 너무 넓으면 가드레일이 아무것도 막지 못한다.
실무 팁: 마진은 지표별로 실험 계획서에 미리 적고, 실험 도중이나 결과를 본 뒤에 바꾸지 않는다. 결과를 보고 마진을 넓히면 비열등성 검정을 하는 의미가 없어진다.
실제 비즈니스 적용 예시
실무에서는 실험 유형마다 가드레일 지표와 마진을 미리 세트로 정해 두고, 신뢰구간이 마진을 넘는지로 배포 여부를 판단한다. 아래 마진 값은 이해를 돕기 위한 가정이다.
| 실험 | 주요 지표 | 가드레일 지표 | 마진 (가정) | 나빠지는 방향 |
|---|---|---|---|---|
| 이커머스 추천 로직 개편 | 추천 CTR | 구매 전환율, 객단가 | 상대 −2% | 감소 |
| 피드 내 광고 노출 확대 | 광고 수익 | 세션당 체류 시간, 7일 리텐션 | 상대 −1%, 절대 −0.5%p | 감소 |
| 피드 내 광고 노출 확대 | 광고 수익 | 광고 숨기기·신고율 | 상대 +5% | 증가 |
| 푸시 알림 빈도 증가 | 앱 방문 수 | 알림 수신 거부율, 앱 삭제율 | 상대 +3% | 증가 |
| 상품 상세 페이지 리뉴얼 | 장바구니 담기율 | p95 페이지 로딩 시간, 오류율 | +50ms, 상대 +5% | 증가 |
“낮을수록 좋은” 지표(로딩 시간, 신고율, 이탈률)는 방향을 뒤집는다. 신뢰구간의 상한이 +마진보다 아래에 있어야 통과다.
예시로 보는 판단 흐름: 광고 노출 확대 실험
- 실험 전: 주요 지표는 광고 수익, 가드레일은 체류 시간(마진 −1%)과 광고 신고율(마진 +5%)로 정한다. 두 마진 모두에 필요한 표본을 계산해, 더 큰 쪽을 기준으로 실험 기간을 2주로 정한다.
- 결과: 광고 수익 +4.2%로 유의하게 상승했다. 체류 시간 변화는 −0.4%, 90% 신뢰구간 [−0.8%, 0.0%]으로 하한이 −1%보다 위라 통과했다. 광고 신고율 변화는 +2.0%, 90% 신뢰구간 [−2.0%, +6.0%]으로 상한이 +5%를 넘어 판단 불가가 나왔다.
- 판단: 기존 방식이었다면 신고율 증가가 유의하지 않으니 바로 배포했을 것이다. 비열등성 기준에서는 신고율 가드레일이 통과하지 못했으므로, 실험을 연장하거나 노출 비율을 단계적으로 늘리면서(램프업) 신고율을 계속 확인한다.
결과별로 정리한 배포 기준:
| 주요 지표 | 가드레일 | 결정 |
|---|---|---|
| 유의한 개선 | 모두 비열등성 통과 | 배포 |
| 유의한 개선 | 하나 이상 판단 불가 | 실험 연장 또는 단계적 배포로 추가 확인 |
| 유의한 개선 | 하나 이상 마진 이상 악화 | 배포하지 않고, 개선 후 재실험 또는 경영진과 트레이드오프 논의 |
| 유의한 개선 없음 | 무관 | 배포하지 않음 |
실험 신뢰성 가드레일인 SRM은 예외다. SRM은 비열등성 검정이 아니라 배정 비율에 대한 카이제곱 검정으로 확인하며, 실패하면 결과 해석 전에 실험 자체를 무효로 본다.
실험 도중 가드레일 모니터링: 시퀀셜 A/B 테스트
비열등성 검정이 “실험이 끝났을 때 배포해도 되는가”를 판단한다면, 시퀀셜 A/B 테스트는 “실험 도중 지금 멈춰야 하는가”를 판단한다. 핵심은 중간 확인 시점과 시점별 기준을 실험 전에 고정해서, 빠르게 개입하면서도 오탐률을 통제하는 것이다.
두 가지 정반대의 문제
- 너무 늦은 개입: 고정된 실험 기간을 끝까지 채워야 한다면, 첫날부터 구매 전환율이 떨어지는 게 보여도 “우연일 수 있다”는 불확실성 때문에 멈출 근거가 없다. 그동안 손실은 계속 쌓인다.
- 너무 성급한 개입: 그래서 매일 결과를 보고 유의하면 멈추면 피킹 문제가 생긴다. 한 번 볼 때 오탐률이 5%여도, 같은 기준으로 여러 번 보면 전체 오탐률이 커진다. 예를 들어 같은 기준으로 5번 확인하면 전체 오탐률은 약 14%까지 올라간다. 문제없는 실험을 잘못 멈추게 된다.
알파 소진 함수 (Alpha Spending Function)
허용 오탐률 α = 5%를 하나의 예산으로 보고, 미리 정한 중간 확인 시점마다 나눠 쓰는 방법이다. 여러 번 확인해도 실험 전체의 오탐률은 5% 수준으로 유지된다. 중간 결과를 봐야 하면서도 위양성을 엄격하게 통제해야 하는 신약 임상시험에서 시작된 방법이다.
| 원칙 | 이유 |
|---|---|
| 초반에는 예산을 아껴 쓴다 (매우 엄격한 기준) | 데이터가 적을 때는 우연히 극단적인 결과가 나오기 쉬우므로, 아주 강한 신호에만 멈춘다 |
| 후반으로 갈수록 기준을 완화한다 | 데이터가 쌓이면 추정이 안정되어 판단을 더 믿을 수 있다 |
| 확인 시점과 기준을 데이터를 보기 전에 고정한다 | 결과를 보고 기준을 완화하면 오탐률 통제가 무의미해진다 |
초반에 매우 엄격하고 후반에 고정 기간 검정과 비슷해지는 형태를 O’Brien-Fleming형, 모든 시점에 같은 기준을 쓰는 형태를 Pocock형이라고 부른다. 가드레일 모니터링에는 보통 초반 오탐을 강하게 막는 O’Brien-Fleming형이 쓰인다.
에이블리의 적용 사례
에이블리는 구매 전환율 같은 핵심 가드레일 지표에 시퀀셜 모니터링을 다음과 같이 적용했다.
- 확인 시점 고정: 실험 시작 후 24시간, 72시간, 168시간의 세 시점만 확인한다. 초반 시점일수록 p-value 기준을 엄격하게 배분했다.
- 오탐률 통제: 세 시점의 기준값을 단순히 더하면 약 0.051로 5%를 살짝 넘는다. 하지만 세 번 모두 같은 누적 데이터를 보므로 결과끼리 상관이 있고, 이를 고려하면 전체 오탐률은 5% 안에 든다. 상관관계까지 계산해 배분을 최적화하는 방법도 있었지만, 첫 도입에서는 누구나 이해할 수 있는 단순한 정책을 택했다.
- 기준 고정: 시점과 기준은 코드 수준에서 고정해, 실험 도중 누군가 임의로 바꿀 수 없게 했다.
- 자동화: 주기적인 배치 작업이 확인 시점에 도달한 실험을 골라 가드레일을 평가하고, 기준을 넘는 하락이 나오면 실험 담당자를 직접 멘션해 알린다.
- 대응 프로세스: 알림이 오면 실험을 대조군 상태로 홀딩하고, 하락 원인을 분석해 이해관계자와 논의한 뒤, 재시작할지 종료할지 결정한다.
알림은 “자동으로 실험을 끝내라”가 아니라 “잠시 멈추고 함께 데이터를 보자”는 신호다. 판단은 사람이 하고, 판단을 시작할 타이밍만 시스템이 일관된 기준으로 잡아준다.
시점별 기준과 신뢰구간
에이블리는 세 시점의 p-value 기준을 0.001, 0.01, 0.04로 배분했다. 매 시점 검정은 그 시점까지 쌓인 누적 데이터 전체로 한다.
| 시점 | 사용하는 데이터 | p-value 기준 | 그 시점의 오탐률 | 함께 볼 신뢰구간 | 168h 95% 구간 대비 폭 |
|---|---|---|---|---|---|
| 24h | 0~24h | 0.001 | 0.1% | 99.9% | 약 4.4배 |
| 72h | 0~72h | 0.01 | 1% | 99% | 약 2.0배 |
| 168h | 0~168h | 0.04 | 4% | 96% | 약 1.05배 |
세 기준을 더하면 0.051이지만, 세 번 모두 같은 누적 데이터를 보므로 결과끼리 상관이 있다. 시뮬레이션해 보면 실험 전체 오탐률은 약 4.7%로 5% 안에 든다. 반대로 매 시점 0.05를 그대로 쓰면 전체 오탐률은 약 12%까지 올라간다.
신뢰구간은 반드시 그 시점의 기준에 맞춘 수준으로 본다. 신뢰구간은 “추정치 ± z × SE”라서, 기준이 엄격할수록 z가 커지고 데이터가 적을수록 SE가 커져 구간이 넓어진다. 대시보드가 매 시점 95% 구간을 보여주면, 사람이 그 구간을 보고 멈추게 되어 결국 매 시점 0.05로 판정한 것과 같아진다.
판정은 실험군 − 대조군 차이의 신뢰구간으로 한다.
- 구간 전체가 0보다 아래: 유의하게 하락했다 → 홀딩
- 구간이 0을 포함: 유의한 차이 없음 → 계속 진행
- 구간 전체가 0보다 위: 유의하게 상승했다
시점별로 얼마나 큰 하락을 잡을 수 있나
각 시점의 결과를 “점수 = 관측된 하락 ÷ 데이터의 흔들림”으로 보고, 이 점수가 그 시점의 합격선을 넘으면 알림이 울린다고 생각하면 쉽다. 점수는 우연에 따라 평균 근처에서 ±1 정도 흔들린다.
실제 하락이 최종 MDE(168h에서 검정력 80%로 잡도록 정한 폭)만큼 있을 때:
| 시점 | 쌓인 데이터 | 평균 점수 | 합격선 | 합격선을 넘을 확률 |
|---|---|---|---|---|
| 24h | 1/7 | 약 1.1 | 3.29 (p = 0.001) | 약 1% |
| 72h | 3/7 | 약 1.8 | 2.58 (p = 0.01) | 약 23% |
| 168h | 전체 | 약 2.8 | 2.05 (p = 0.04) | 약 78% |
일찍 볼수록 두 가지가 동시에 불리하다. 데이터가 적어 같은 하락도 점수가 작게 나오고, 오탐을 막으려고 합격선은 더 높다. 실제 하락이 MDE의 2배라면 24h까지 약 12%, 72h까지 약 86%의 확률로 잡는다.
그래서 24h 알림은 큰 하락만 빨리 잡는 비상벨이다. “24h에 알림이 없었다”는 “괜찮다”가 아니라 “아주 크게 떨어지진 않았다”는 뜻이다.
시퀀셜 설계에서도 검정력 분석은 필요하다
p-value 기준만 정해 두면 “얼마나 큰 하락을 언제 잡을 수 있는지”를 알 수 없다. 실험 설계서에는 세 가지가 함께 들어가야 한다.
- 최종 시점 검정력 분석: 168h 기준으로 MDE(가드레일이면 마진)에 필요한 표본과 기간을 계산한다.
- 시점별 탐지 가능 하락 폭: 위 표처럼 “24h에는 어느 정도 이상 하락을 잡을 수 있다”를 계산해 공유한다.
- 조기 중단 시 해석 규칙: 일찍 멈춘 실험의 하락 추정치는 부풀려져 있다. 실제 하락이 MDE만큼일 때 시뮬레이션해 보면, 24h에 멈춘 경우 추정 하락은 실제의 약 3.4배, 72h에 멈춘 경우는 약 1.7배였다.
기준이 엄격할수록 같은 MDE를 잡는 데 필요한 표본은 늘어난다 (p < 0.05 대비 0.01은 약 1.5배, 0.001은 약 2.2배). 하지만 시퀀셜 설계의 표본은 168h 최종 시점 기준으로 정하므로, 실제로 늘어나는 표본은 마지막 기준이 0.05에서 0.04로 엄격해진 만큼인 약 5%다. 초반에 오탐 예산을 거의 쓰지 않아서, 마지막 시점에 예산 대부분이 남아 있기 때문이다.
반대로 24h에도 MDE 수준의 하락을 80% 확률로 잡으려면, 일일 트래픽이 지금의 약 15배는 되어야 한다. 초반에 꼭 잡아야 하는 하락 폭이 있다면, 트래픽 배분을 늘리거나 초반 예산을 더 쓰는 쪽으로 배분을 조정해야 한다.
통계 밖의 주의점도 있다. 24h 데이터는 하루치라 특정 요일 사용자만 반영되고, 새 기능에 대한 일시적인 반응(신기 효과)도 섞여 있다. 알림이 오면 자동 종료가 아니라 홀딩 후 사람이 원인을 분석하는 설계가 이 위험을 다룬다.
비열등성 검정과의 역할 분담
| 시퀀셜 모니터링 | 비열등성 검정 | |
|---|---|---|
| 묻는 질문 | 지금 멈춰야 할 만큼 명백히 나빠졌는가 | 배포해도 될 만큼 마진 이상 나빠지지 않았는가 |
| 시점 | 실험 도중, 미리 정한 시점마다 | 실험 종료 시 |
| 통과하지 못하면 | 홀딩 후 원인 분석 | 배포 보류, 연장 또는 단계적 배포 |
| 입증 책임 | “해가 있다”는 강한 근거가 있어야 멈춘다 | “해가 마진 이내”라는 근거가 있어야 통과한다 |
두 장치는 함께 쓴다. 중간 모니터링에서 멈추지 않았다고 해서 안전하다는 뜻은 아니며, 실험이 끝나면 비열등성 기준으로 다시 판정한다.
마진과 시점별 유의수준을 함께 쓰는 법
마진은 그대로 두고, 시점마다 신뢰구간의 수준만 바꾼다. 실무에서는 역할을 나누는 방법 1이 더 간단하고 안전하다.
방법 1 (권장): 중간 시점은 멈춤 판단만, 비열등성은 168h에 한 번
| 시점 | 묻는 질문 | 판정 |
|---|---|---|
| 24h | 지금 멈춰야 하나 | 99.9% 구간 전체가 0보다 아래면 홀딩 |
| 72h | 지금 멈춰야 하나 | 99% 구간 전체가 0보다 아래면 홀딩 |
| 168h | 배포해도 되나 | 90% 구간 하한 > −마진이면 통과 (앞의 비열등성 검정 그대로) |
멈춤 판단과 비열등성 판정은 귀무가설이 다른 별개의 검정이라 유의수준이 섞이지 않는다. 그래서 앞의 비열등성 계산은 바꿀 필요가 없다.
방법 2: 비열등성도 시점마다 판정
비열등성은 단측 검정이므로 단측 기준으로 배분한다. 마진은 모든 시점에서 같고, 하한을 구할 때 곱하는 z만 바뀐다.
| 시점 | 단측 유의수준 | 하한 | 통과 조건 |
|---|---|---|---|
| 24h | 0.001 | δ̂ − 3.09 × SE | 하한 > −마진 |
| 72h | 0.01 | δ̂ − 2.33 × SE | 하한 > −마진 |
| 168h | 0.04 | δ̂ − 1.75 × SE | 하한 > −마진 |
이렇게 해도 전체 오탐률은 약 4.5%로 5% 안에 든다. 다만 실제 차이가 0이어도 일찍 통과할 확률은 24h까지 약 2%, 72h까지 약 25%로 낮다. 초반 데이터의 요일 편향과 신기 효과를 생각하면, 일찍 “안전하다”고 결론 내리는 것은 더 조심해야 한다.
어느 방법이든 지킬 것:
- 마진을 시점마다 바꾸지 않는다. 데이터가 적다는 사실은 신뢰구간이 넓어지는 것으로 이미 반영된다. 마진은 “얼마까지 손해를 감수할지”라는 비즈니스 기준이라 시간에 따라 변하지 않는다.
- 0과 비교하면 “차이가 있나”를, 마진과 비교하면 “그 차이를 감수할 수 있나”를 알 수 있다. 가드레일에서는 두 질문을 모두 본다.
주의할 점: 시퀀셜 경계를 “주요 지표가 유의하게 올랐으니 일찍 끝내자”는 조기 성공 판단에 쓰면, 초반에 우연히 크게 튄 추정치에서 멈추게 된다. 이렇게 얻은 효과 크기는 Type M 오류로 부풀려져 있을 가능성이 높다. 조기 중단은 손실을 막는 용도로 쓰고, 효과 크기는 따로 보수적으로 해석한다.
마치며: 가드레일 체크리스트
가드레일 지표의 핵심은 “유의하지 않음”을 “안전함”으로 읽지 않는 것이다.
- 실험 전에 가드레일 지표와 나빠지는 방향(감소 또는 증가)을 정했다
- 지표별 마진(NIM)을 손실 금액, 주요 지표의 기대 이득, 과거 실험 분포를 근거로 정했다
- 마진을 기준으로 필요한 표본 수를 계산하고, 실험 기간에 반영했다
- 판정은 신뢰구간의 하한(낮을수록 좋은 지표는 상한)과 마진을 비교해서 한다
- 판단 불가가 나오면 통과로 보지 않고, 실험 연장이나 단계적 배포로 확인한다
- 결과를 본 뒤 마진을 바꾸지 않는다
- 실험 도중 확인할 시점과 시점별 기준을 실험 전에 고정하고, 하락 신호가 오면 홀딩 후 원인을 분석한다
- 대시보드의 신뢰구간 수준을 시점별 판정 기준에 맞췄다 (24h 99.9%, 72h 99%, 168h 96%)
- SRM 같은 실험 신뢰성 지표는 별도로 먼저 확인한다
참고 자료
- 에이블리 기술 블로그 (2025). 서비스 그 이면의 숫자들 : 데이터 분석가의 고민. (가드레일 지표, 비열등성 검정)
- 정원혁, 에이블리 기술 블로그 (2026). 멈춰야 할 때를 아는 실험 : 시퀀셜 A/B 테스트 도입. (시퀀셜 A/B 테스트, 알파 소진 함수)
- Kohavi, R., Tang, D., & Xu, Y. (2020). Trustworthy Online Controlled Experiments. Cambridge University Press. (가드레일 지표, SRM) 번역서와 함께 읽을 책은 데이터 분석가 책 추천에 정리했다.
- 앞선 글: A/B 테스트에서 검정력 분석이 필요한 이유