Exclusions and Losses — Ch.15 개관 (Intent-to-Treat 절대 원칙)

Once Randomised, Always Analysed — Sulfinpyrazone 의 32% → 21% 교훈

Schulz Ch.15 Exclusions and Losses in Randomised Trials 의 큰 그림을 다룬다. (1) 무작위 배정 후 제외의 위험 — Sulfinpyrazone 시험의 FDA audit 충격적 발견 (32% 효과가 21% 로 약화), (2) Intent-to-Treat (ITT) 원칙 — “once randomised, always analysed”, (3) Per-Protocol · As-Treated · mITT 의 위험성, (4) Exclusion paradox — 보고하지 않는 시험이 편향, (5) 5-and-20 rule (loss to follow-up), 후속 글의 안내.

Experimentation
Epidemiology
저자

Kwangmin Kim

공개

2026년 05월 08일

이 글은 Schulz Ch.15 Exclusions and Losses in Randomised Trials 시리즈 (4 편) 의 첫 글이다. Ch.12~14 가 어떻게 무작위 배정을 시작하고 숨기는가 를 다뤘다면, Ch.15 는 그 후 무엇을 분석하는가 의 절대 원칙 — Intent-to-Treat 를 다룬다.

1 진입 직관 — 무작위 배정 후의 함정

RCT 의 무작위 배정은 본질적으로 baseline 단계의 균형 을 보장한다. 그러나 시험은 시간 을 두고 진행된다. 무작위 배정 후:

  • 환자가 추적 거부 (lost to follow-up)
  • 환자가 처치 변경 (예: 새 약 군 환자가 표준 약 복용)
  • 환자가 적격 조건 미달 사후 발견 (post-hoc ineligibility discovery)
  • 환자가 프로토콜 위반 (예: 처방 외 약 복용)

결정적 질문: 이런 환자들의 데이터를 어떻게 분석 해야 하나?

직관적 답: “이런 환자는 시험 대상에서 제외하자. 그래야 처치 효과를 깨끗하게 측정할 수 있다.”

Schulz 의 충격적 답: 이 직관은 틀렸다. 무작위 배정 후 어떤 체계적 제외 도 RCT 의 baseline 균형을 무너뜨린다. 원칙은 단 하나 — Intent-to-Treat (ITT).

ITT 원칙 한 줄 요약: “Once randomised, always analysed as assigned.” 무작위 배정된 환자는 처치를 받았든 안 받았든, 추적되었든 안 되었든, 적격이었든 아니었든 모두 원래 배정된 군의 일부로 분석.

비유: 야구에서 한 번 라인업에 든 선수는 경기 중 부상으로 빠져도, 결국 안타를 못 쳐도 그 팀의 일원. 라인업에서 사후 제외는 통계 기록을 왜곡한다. RCT 의 ITT 도 같은 원리.

2 정의: Intent-to-Treat (ITT)

정의: Intent-to-Treat Analysis

무작위 배정된 모든 환자원래 배정된 군의 일부로 분석 하는 RCT 의 일차 분석 원칙. 처치 수용·완료·결과 측정 여부와 무관.

  • 역학: Intent-to-Treat (ITT)
  • IT: 일반적으로 명확한 대응 없음 (IT 는 사용자가 거의 자동 추적)
  • FDA 임상시험 규제: ITT 가 primary analysis 의 표준

대안 분석 (모두 secondary 로만 보고 가능):

  • Per-Protocol (PP): 프로토콜 완전 준수 환자만 분석
  • As-Treated: 실제로 받은 처치 별 분석 (배정과 무관)
  • modified ITT (mITT): 적격·약 받은 환자만 분석 — Schulz 가 비판 하는 misnomer

핵심 분리: ITT 는 primary, 나머지는 secondary. 학술지·규제기관 모두 primary 분석으로 ITT 만 인정.

3 Schulz 의 충격적 사례 — Sulfinpyrazone 시험 (Panel 15.1)

Ch.15 의 핵심 사례. Schulz 가 ITT 원칙의 결정적 중요성을 보여주기 위해 FDA audit 의 발견을 인용한다.

3.1 시험 개요

Anturane Reinfarction Trial Research Group (1978~1980, N. Engl. J. Med.).

  • 목적: Sulfinpyrazone 의 심근경색 후 심혈관 사망 예방 효과
  • 설계: 무작위 배정 RCT, sulfinpyrazone vs placebo
  • 결과 (저자 보고): 32% 사망률 감소 (\(p = 0.058\))

3.2 FDA Audit 의 발견

FDA 가 시험 데이터를 상세 audit 하여 발견한 사실 (Temple & Pledger 1980):

3.2.1 부적절 제외 1: 사후 ineligibility 판정

저자들이 7 명의 환자 (처치 6 명, placebo 1 명) 를 사후에 부적격 으로 판정하고 분석에서 제외. 이 7 명 중 사망자가 처치군에 더 많음.

메커니즘: 실제로는 비슷한 ineligibility 가 placebo 군에도 있었지만 적용 안 함. 처치군에서 불리한 결과 (사망) 의 환자를 우선 제외 → 처치군이 더 좋아 보임.

3.2.2 부적절 제외 2: Compliance 미흡 사망 제외

저자들이 2 명의 sulfinpyrazone 사망 + 1 명의 placebo 사망compliance 미흡 이라 분류하고 제외. 그러나 프로토콜에는 compliance 기반 제외 계획 없었음.

메커니즘: Post-hoc rationalization — 결과 본 후 정당화 규칙 만들기.

3.2.3 7-Day Rule

저자들이 처치 7 일 미만 또는 처치 종료 7 일 후 사망을 분석 불가능 으로 분류. FDA 는 이를 덜 비판 했음 — 프로토콜에 명시되어 있었고 결과에 큰 영향 없었음.

3.3 재분석 결과

FDA 가 부적절 제외 환자를 모두 다시 포함 하여 ITT 분석:

분석 효과 p-value
저자 보고 (제외 후) 32% 감소 0.058
FDA ITT 재분석 21% 감소 0.16

충격: 32% → 21%. 효과 크기가 3분의 1 이상 감소. p-value 도 0.058 → 0.16 으로 유의성 자체 잃음.

3.4 FDA 의 결정

FDA Advisory Committee 의 결론:

“Sulfinpyrazone 은 심근경색 후 사망 예방 약으로 labeling 및 광고 승인 거부. 정밀 검토 결과 데이터가 처음 보였던 만큼 설득력 있지 않음.”

so what: 한 시험의 부적절 제외 가 신약의 시장 진입 자체 를 결정한 사례. ITT 원칙의 정량적 중요성을 보여주는 가장 강력한 증거.

반사실: 만약 FDA 가 audit 안 했다면? Sulfinpyrazone 이 시장에 출시되었을 것이고, 의사들이 과장된 효과 로 처방. 일부 환자에게 불필요한 약 + 부작용 위험. ITT 의 부재는 임상 결정의 직접 왜곡.

4 ITT 원칙의 수학적 정당화

4.1 무작위 배정의 자연적 균형

무작위 배정 시 baseline 변수 \(X\) 에 대해:

\[E[X | T = 0] = E[X | T = 1]\]

즉 두 군의 baseline 평균이 같다 (대수의 법칙으로).

4.2 무작위 후 제외의 위험

만약 결과 \(Y\) 와 상관된 변수 (예: 위험 정도 \(X\)) 에 따라 체계적 제외 가 발생하면:

\[E[X | T = 0, \text{not excluded}] \neq E[X | T = 1, \text{not excluded}]\]

baseline 균형 무너짐. 효과 추정 편향.

수식 직관: Sulfinpyrazone 사례의 분해:

\[\text{Apparent effect} = \underbrace{\text{True effect}}_{\theta} + \underbrace{\text{Selection bias}}_{\delta}\]

32% (apparent) = 21% (true) + 11% (selection bias from inappropriate exclusions). FDA audit 가 \(\delta\) 를 분리해 \(\theta\) 를 회복.

4.3 ITT 의 보존

ITT 는 모든 무작위 배정 환자를 포함 하므로 baseline 균형 보존:

\[E[X | T = 0, \text{ITT}] = E[X | T = 1, \text{ITT}]\]

따라서 Apparent effect = True effect (편향 없음).

단점: ITT 는 처치를 안 받은 환자도 포함 하므로 효과 추정이 보수적 — 즉 실제 처치 효과를 약간 과소 추정. 그러나 unbiased 라는 가치가 더 크다.

5 ITT vs Per-Protocol vs As-Treated 비교

분석 누구를 분석? 어느 군으로? Bias 위험 사용 시기
ITT 모든 무작위 배정 환자 원래 배정된 군 낮음 Primary analysis
Per-Protocol (PP) 프로토콜 완전 준수 환자만 원래 배정된 군 높음 Secondary only
As-Treated 실제 받은 처치별 실제 처치 군 매우 높음 Secondary only
modified ITT (mITT) 적격 + 약 받은 환자 원래 배정된 군 중~높음 권장 안 됨 (사실상 PP)

5.1 Per-Protocol 의 함정

사례 (Ch.15.3 에서 깊이): 항생제 RCT 에서 25% 의 환자가 약 미복용. 이들을 제외 하고 분석하면? 비순응자 = 더 건강 또는 덜 우려 → 항생제 군이 덜 위중 → 효과 과대 추정.

5.2 As-Treated 의 함정

사례: Cross-over 가 발생한 시험. 예: 새 약 군의 일부가 표준 약 복용. As-Treated 분석은 이들을 표준 군 으로 재분류. 결과: 처음부터 새 약 거부한 환자 = 더 위중 → 표준 군에 더 많은 사망 → 효과 부풀림.

5.3 modified ITT (mITT) 의 misnomer

Schulz 의 비판: “mITT 는 ITT 가 아니다. 실제로는 PP 분석이다.” (Schulz 2019, Ch.15)

mITT 는 적격 환자 + 약 받은 환자만 포함. 이는 본질적으로 PP. mITT 라고 부르는 것은 misleading.

반사실 — 효과 비교: Abraha 외 (2015, BMJ) 분석 — mITT 시험이 ITT 시험보다 효과 추정이 더 큼. 이는 mITT 가 체계적으로 편향 됨을 시사.

6 Exclusion Paradox — Schulz 의 충격적 발견

6.1 문제 진단

Schulz 외 (1996, BMJ): 1997 년 일반 의학 학술지의 249 RCT 분석. 단 2% (5/249) 만 ITT 적용을 명시적 보고. 약 절반 (119/249) 이 ITT 를 언급 했지만 세부 사항 부재.

후속 분석 (2013):

분야 ITT 보고율
실험 통증 모델 0% (50 시험 중)
임상 통증 시험 47% (123 시험 중)
일반 메타 분석 (Abraha 외 2017) 25% (2349 시험 중)
mITT 사용 (잘못된 ITT 변형) 14%

6.2 Exclusion Paradox

Schulz 의 발견:

“Exclusion 을 보고하지 않은 시험이 보고한 시험보다 더 편향 되어 있다.” (Schulz 외 1995, JAMA)

이는 직관과 정반대. 직관: “exclusion 보고 = exclusion 있음 = 편향”. 실제: “exclusion 미보고 = 정직성 부재 = 더 큰 편향 가능성”.

메커니즘: 일부 연구자가 exclusion 의 존재 자체 를 숨김. Reviewer 는 “exclusion 없음 = 깨끗한 시험” 으로 잘못 해석.

반사실: 두 시험.

시험 X: “12 명을 부적격으로 사후 제외, 3 명을 추적 손실” — 명시적 보고 시험 Y: “no apparent exclusions” — 보고 부재

직관: X 가 더 의심스럽다. 실제: Y 가 더 위험할 수 있다 — 사실 exclusion 이 있었지만 보고 안 함. CONSORT flow diagram 이 이런 함정을 차단한다.

7 Loss to Follow-Up — 5-and-20 Rule

ITT 의 가장 큰 실무적 도전: 추적 손실 (loss to follow-up).

7.1 정의

환자가 추적되지 않아 결과 측정 불가능 한 경우. 다른 출처 (예: 사망 등록부) 에서 결과 정보를 얻을 수 없으면 분석에서 부득이 제외.

7.2 5-and-20 Rule

Loss 비율 평가
< 5% 거의 편향 없음
5~20% 중간 위험
> 20% 심각한 편향 위험

Schulz 의 경고: “20% 이상 loss 시험은 sensitivity analysisworst-case scenario 로도 타당성 도전을 견뎌내기 어렵다.” (Schulz 2019, Ch.15)

반사실 — 20% loss 시 worst case: 처치군 100 명 중 20 명 loss. 이들이 모두 사망 / 모두 생존 의 두 극단으로 가정 → 효과 추정의 95% CI 가 매우 넓어짐. 통계적 유의성 잃음.

7.3 더 정교한 Rule

추가 권고: “Loss to follow-up 비율 ≤ outcome event rate”. 즉 사망률 3% 시험에서는 loss 도 3% 이하여야 의미 있음.

이 규칙은 event 기반 결과 (시간-사건 분석) 에서 특히 중요. Loss 가 event 보다 많으면 event 결과의 신뢰도 자체가 약화.

7.4 Differential Loss

Schulz 의 강조: 전체 loss 비율 보다 두 군 간 차이 가 더 위험. 처치군 5%, placebo 군 20% loss → 두 군 비교가 본질적으로 다른 모집단.

반사실: 새 약의 부작용으로 처치군에서 증상 악화 → loss 증가. Placebo 군은 안정. 결과: 처치군에 생존자만 남음 → 사망률 측정 과소 추정. 효과 부풀림.

8 챕터의 줄기 — 후속 글 안내

Ch.15 의 후속 깊이는 다음으로 분해된다.

8.1 후속 글 1 — 무작위 전 제외 (32-15)

  • Eligibility criteria 의 외적 타당도 영향
  • “Large and simple trial” 철학
  • 적격 기준 좁음 → 모집 부진 + 일반화 약화

8.2 후속 글 2 — 무작위 후 제외와 ITT (32-16)

  • Discovery of ineligibility 의 위험 메커니즘
  • ITT 절대 원칙의 정당화 깊이
  • 무작위 마지막 순간 (last possible moment) 권고

8.3 후속 글 3 — 사후 제외와 추적 손실 (32-17)

  • Post-randomisation pretreatment outcome 의 함정
  • Protocol deviations 처리 (dental antibiotic 사례)
  • Loss to follow-up 최소화 전략 (Panel 15.2)

9 IT / 디지털 실험 매핑

역학 (RCT) IT (A/B Test)
ITT principle Treatment of all exposed users (intent-to-expose)
Exclusions before randomisation Pre-experiment user filtering
Discovery of ineligibility “Bot detection 후 제외” (post-experiment)
Post-randomisation outcome Pre-treatment metric filter
Protocol deviation User uninstall / opt-out
Loss to follow-up Inactive users / churn
5-and-20 rule Bucket completion rate
Per-Protocol “활성 사용자만” 분석
As-Treated “실제 처치 노출 받은 사용자만”

IT 의 흔한 함정: “활성 사용자만 분석” 이 high-engagement bias 를 만든다. 이는 임상의 PP 분석과 같은 위험. 모든 무작위 노출된 사용자 를 분석하는 것이 IT 버전의 ITT.

10 코드 예시 — Sulfinpyrazone 사례 재현

import numpy as np
from scipy import stats

np.random.seed(42)

# Sulfinpyrazone 시험 시뮬레이션
n_per_arm = 800
true_effect = 0.21   # FDA 재분석 효과 (21%)

# Baseline 사망률 0.10 (가정)
baseline_mortality = 0.10

# 무작위 배정
T = np.array([0]*n_per_arm + [1]*n_per_arm)   # 0=새 약, 1=placebo
np.random.shuffle(T)

# 잠재적 결과
N = 2 * n_per_arm
mortality_T = baseline_mortality * (1 - true_effect)   # 새 약: 사망률 0.079
mortality_C = baseline_mortality                          # placebo: 사망률 0.10
Y_0 = (np.random.random(N) < mortality_T).astype(int)   # 새 약 시 사망
Y_1 = (np.random.random(N) < mortality_C).astype(int)   # placebo 시 사망
Y_obs = np.where(T == 0, Y_0, Y_1)

# === 1. ITT 분석 (정확) ===
itt_T = Y_obs[T == 0].mean()
itt_C = Y_obs[T == 1].mean()
itt_effect = (itt_C - itt_T) / itt_C   # 상대 감소
print(f"[ITT 분석]")
print(f"새 약 사망률: {itt_T:.3f}, placebo 사망률: {itt_C:.3f}")
print(f"효과: {itt_effect:.1%} 감소")

# === 2. 부적절 제외 시뮬레이션 ===
# Sulfinpyrazone 사례: 새 약 군에서 사망자 7 명 부적격 사후 제외
# (실제로는 placebo 군에도 비슷한 ineligibility 가 있었지만 적용 안 함)

# Mask 생성: 새 약 군 사망자의 일부를 부적격으로 분류
exclusion_mask = np.zeros(N, dtype=bool)
deaths_T = np.where((T == 0) & (Y_obs == 1))[0]
n_excluded_T = 7
deaths_C = np.where((T == 1) & (Y_obs == 1))[0]
n_excluded_C = 1   # 비대칭 제외

exclusion_mask[np.random.choice(deaths_T, n_excluded_T, replace=False)] = True
exclusion_mask[np.random.choice(deaths_C, n_excluded_C, replace=False)] = True

# Compliance 부족 사망 추가 제외
deaths_T_remaining = np.where((T == 0) & (Y_obs == 1) & ~exclusion_mask)[0]
deaths_C_remaining = np.where((T == 1) & (Y_obs == 1) & ~exclusion_mask)[0]
exclusion_mask[np.random.choice(deaths_T_remaining, 2, replace=False)] = True
exclusion_mask[np.random.choice(deaths_C_remaining, 1, replace=False)] = True

# Audit 후 분석
T_filt = T[~exclusion_mask]
Y_filt = Y_obs[~exclusion_mask]
biased_T = Y_filt[T_filt == 0].mean()
biased_C = Y_filt[T_filt == 1].mean()
biased_effect = (biased_C - biased_T) / biased_C

print(f"\n[부적절 제외 분석 (저자 보고)]")
print(f"제외 환자 수: T={n_excluded_T+2}, C={n_excluded_C+1}")
print(f"새 약 사망률: {biased_T:.3f}, placebo 사망률: {biased_C:.3f}")
print(f"효과: {biased_effect:.1%} 감소 (과대 추정)")

# === 3. ITT 와 부적절 제외의 차이 ===
print(f"\n[Sulfinpyrazone 사례 재현]")
print(f"FDA ITT 재분석: ~21% (실제 효과)")
print(f"저자 보고:      ~32% (과대 추정)")
print(f"본 시뮬레이션:  ITT={itt_effect:.1%}, 부적절 제외={biased_effect:.1%}")

# === 4. Per-Protocol 시뮬레이션 (비순응자 제외) ===
# 25% 의 환자가 약 미복용
nonadherent = np.random.random(N) < 0.25
# 비순응자는 평균보다 더 건강 → 사망 적음
healthy_mask = np.random.random(N) < 0.5   # 50% 가 더 건강한 사람
nonadherent_healthy = nonadherent & healthy_mask

# Per-Protocol: 순응자만 분석
adherent = ~nonadherent
T_pp = T[adherent]
Y_pp = Y_obs[adherent]
pp_T = Y_pp[T_pp == 0].mean()
pp_C = Y_pp[T_pp == 1].mean()
pp_effect = (pp_C - pp_T) / pp_C

print(f"\n[Per-Protocol 분석]")
print(f"PP 효과: {pp_effect:.1%} (비순응자 제외)")
print(f"→ 순응자는 일반 인구를 대표 안 함 → 외적 타당도 손실")

이 코드는 (1) ITT 가 정확한 효과를 측정, (2) 부적절 제외가 효과 과대 추정, (3) Per-Protocol 도 편향 가능성, (4) Sulfinpyrazone 사례의 32% → 21% 변화 패턴을 재현한다.

11 결론 — Ch.15 의 한 줄 요약

Once randomised, always analysed — ITT 는 RCT 의 마지막 방어선.

핵심 메시지:

  1. 무작위 후 모든 환자를 ITT 로 분석 — 처치 받았든 안 받았든
  2. PP / As-Treated / mITT 는 secondary — 절대 primary 가 될 수 없음
  3. Sulfinpyrazone 32% → 21% — 부적절 제외의 정량적 비용
  4. Exclusion paradox — 보고 안 하는 시험이 편향
  5. 5-and-20 rule — Loss to follow-up 의 임계 기준
  6. CONSORT flow diagram 으로 모든 단계 보고

후속 글에서:

  • 32-15: 무작위 제외와 외적 타당도
  • 32-16: 무작위 제외와 ITT 의 정당화 깊이
  • 32-17: 사후 제외 · 프로토콜 위반 · 추적 손실 (Panel 15.2 전략)

12 관련 주제

선행 지식

Phase C 후속 글

13 참고문헌

  • Schulz, K. F. & Grimes, D. A. (2019). Essential Concepts in Clinical Research (2nd ed.), Ch.15. Elsevier.
  • Anturane Reinfarction Trial Research Group. (1978). Sulfinpyrazone in the prevention of cardiac death after myocardial infarction. N. Engl. J. Med. 298, 289-295.
  • Temple, R. & Pledger, G. W. (1980). The FDA’s critique of the anturane reinfarction trial. N. Engl. J. Med. 303, 1488-1492.
  • Schulz, K. F., Grimes, D. A., Altman, D. G., Hayes, R. J. (1996). Blinding and exclusions after allocation in randomised controlled trials. BMJ 312, 742-744.
  • Hollis, S. & Campbell, F. (1999). What is meant by intention to treat analysis? BMJ 319, 670-674.
  • Abraha, I., et al. (2015). Deviation from intention to treat analysis in randomised trials. BMJ 350, h2445.
  • Lachin, J. M. (2000). Statistical considerations in the intent-to-treat principle. Control. Clin. Trials 21, 167-189.

Subscribe

Enjoy this blog? Get notified of new posts by email: