사후 제외와 추적 손실 — Ch.15.3

Pretreatment Outcome · Protocol Deviation · Retention Strategies

Schulz Ch.15.3 — 무작위 후 제외의 세 시나리오 깊이 + Panel 15.2 의 retention 전략. (1) Post-randomisation pretreatment outcome 의 함정 (7-day rule 사례), (2) Protocol deviation 처리 — dental antibiotic 25% 비순응 사례의 단계별 분석, (3) Loss to follow-up 의 differential rates 위험, (4) Panel 15.2 의 13 가지 retention 전략 — follow-up 클리닉 다수 운영, 모바일 폰 제공, 텍스트 메시지, 소셜 미디어. (5) “5%/20% + outcome event rate” 통합 평가 기준.

Experimentation
Epidemiology
저자

Kwangmin Kim

공개

2026년 05월 08일

이 글은 Schulz Ch.15 Exclusions and Losses 시리즈의 마지막 글이다. Ch.15 개관, 무작위 전 제외, 무작위 후 제외와 ITT 에 이어, 사후 제외의 세 시나리오와 retention 전략 을 다룬다 (Schulz full md L:6329~6734).

1 진입 직관 — 이론과 실무의 간극

ITT 의 원칙은 명료하다 — 모든 무작위 환자를 분석. 그러나 현실 은 복잡하다.

  • 한 환자가 처치 시작 전 사망. 분석에 포함?
  • 다른 환자가 프로토콜과 다른 약 복용. 분석에 포함?
  • 또 다른 환자가 추적 거부 후 행방불명. 결과 측정 불가능.

결정적 질문: ITT 의 이상과 실무의 한계 사이에서 어떻게 결정 해야 하나?

Schulz 의 답: 원칙은 ITT, 실무는 minimisation + transparency.

비유: 결혼식 라이브 스트리밍. 이상은 모든 손님이 끝까지 시청. 실무에서는 일부가 중간에 퇴장 하거나 연결 끊김. 시청률 통계는 완전 시청자만 으로 계산하지 모든 접속자 로 계산. RCT 의 ITT 도 같은 trade-off — 최대한 모든 환자 추적, 부득이 누락 시 명시 보고.

이 글은 세 시나리오 (pretreatment outcome, protocol deviation, loss to follow-up) 와 retention 전략을 다룬다.

2 시나리오 2: Post-Randomisation, Pretreatment Outcome

2.1 상황

환자가 무작위 배정 후 처치 시작 전 또는 충분한 처치 기간 전 에 결과 발생 (사망·재발 등).

2.2 Schulz 의 사례

“한 신약 시험에서 연구자들이 무작위 배정 후 처치 시작 전 사망 또는 7 일 미만 처치 후 사망분석 불가능 으로 분류하고 제외.” (Schulz 2019, Ch.15)

2.3 직관적 답 (잘못)

잘못된 직관: “이 환자들은 처치를 충분히 받지 못했으니 처치 효과 측정에 부적합. 제외하면 더 깨끗한 측정이 가능.”

2.4 왜 위험한가

메커니즘: 같은 논리를 placebo 군에 적용 가능 — “Placebo 군의 사망도 처치 효과와 무관하니 제외.” 이 경우 모든 환자를 제외하는 부조리 발생. 따라서 어디서 멈출지 의 임의성이 본질적 문제.

수학적 증명: 무작위 배정 시 무작위 후 사건 (사망 등) 은 두 군에 long-run 평균적으로 균등 분배. 이 균형은 모든 사건 포함 시에만 보존. 일부 제외균형 파괴.

2.5 Sulfinpyrazone 의 7-Day Rule

이전 글에서 본 Sulfinpyrazone 시험. 저자들의 7-day rule: 처치 7 일 미만 또는 종료 7 일 후 사망 = 분석 불가능.

FDA 의 평가: 이 규칙은 프로토콜에 명시 되어 있었고, 결과에 큰 영향 없었다 는 이유로 비판 약함. 그러나 원칙적으로는 부적절.

2.6 Post-hoc Rationalisation 의 위험

Schulz 의 핵심 경고 (Schulz 2019, Ch.15):

“결과를 본 후 유리한 규칙 을 만드는 행위. 시험 종료 후 ‘이 환자들은 약효 측정에 부적합’ 이라며 제외하면 어떻게든 결과가 유리 한 방향으로 이동.”

2.7 적절한 처리

권고: 무작위 후 사망·결과는 모두 ITT 에 포함. 그것이 무작위 배정의 본질을 보존.

반사실 — 모든 사망 포함 시:

실제 효과 0 인 경우: 두 군 사망률 비슷 → 차이 0 (정상) 실제 효과 + 인 경우: 처치군 사망 적음 → 차이 + (정상)

어느 경우든 baseline 균형 보존 + 효과 측정 정확.

3 시나리오 3: Protocol Deviation (프로토콜 위반)

3.1 상황

환자가 배정된 처치를 따르지 않음. 예:

  • 처치군 환자가 약 미복용 (비순응)
  • 처치군 환자가 대조군 약을 추가 복용 (cross-contamination)
  • 대조군 환자가 처치군 약을 외부에서 구매 복용 (cross-over)

3.2 Dental Antibiotic 사례 — Schulz 의 핵심 분석

가상 사례 (Schulz 2019, Ch.15, Fig. 15.1):

배경: 치과 수술 시 예방적 amoxicillin 의 합병증 감소 효과 시험
설계:
  - 처치군 (amoxicillin): 500 명
  - 대조군 (placebo): 500 명
실제 순응:
  - 처치군 75% 순응 (375 명 약 복용), 25% 비순응 (125 명 미복용)
  - 대조군 100% 순응 (500 명)

3.2.1 잘못된 처치 1: 처치군 비순응자 제외

메커니즘: PP 분석. 처치군에서 비순응자 125 명 제외. 처치군 순응자 375 명 vs 대조군 500 명 비교.

편향: 처치군 비순응자 = 더 건강 (가설). 제외 시 처치군에 상대적으로 더 위중 한 환자만 남음. 효과 과소 추정.

3.2.2 잘못된 처치 2: 처치군 비순응자를 대조군에 합류

메커니즘: As-Treated 분석. 처치군 비순응자 (약 안 받음 = placebo 받은 거나 마찬가지) 를 대조군 풀에 추가.

편향: 대조군에 덜 우려하는, 더 건강한 환자 (처치군 비순응자) 가 추가 → 대조군 사망률 낮아짐 → 처치 효과 과대 추정.

3.2.3 Schulz 의 결론

“어떤 체계적 제외 도 두 군의 비교 가능성 (comparability) 을 무너뜨린다. 비순응자가 더 건강 인지 덜 건강 인지 알 수 없어도, 어느 방향이든 편향 발생.”

3.3 적절한 처리

ITT 원칙: 프로토콜 위반자도 원래 배정 군의 일부로 추적·분석. 처치군 비순응자도 처치군에 남음. As-Treated 분석은 secondary 로만.

3.4 ITT 의 의미 — 정책 효과 측정

핵심 통찰: ITT 는 순수 약효 (efficacy) 가 아니라 정책 효과 (effectiveness) 를 측정.

측정 질문 임상적 가치
Efficacy “약을 완벽히 먹으면 효과 얼마?” 이론적
Effectiveness 실제 임상 처방 시 효과 얼마?” 실용적

so what: 임상 결정자가 알고 싶은 것은 effectiveness. “이 약을 처방하면 실제로 환자에게 어떤 결과?”. 비순응자도 일반 임상에 존재 → 시험 결과에 포함 되어야 현실 반영.

3.5 Per-Protocol 의 적절한 위치

Secondary 분석으로: PP 도 유용한 정보 제공 — 약효의 이론적 상한 (best case scenario). 그러나 primary 가 될 수 없음.

4 시나리오 4: Loss to Follow-Up

가장 흔하고 까다로운 시나리오. 환자가 추적 거부 또는 행방불명.

4.1 직접 영향

결과 정보 부재 → ITT 분석에 부득이 제외. 무작위 배정 보호 부분 손실.

4.2 Differential Loss 의 결정적 위험

Schulz 의 강조: 전체 loss 비율 보다 두 군 간 차이 가 더 위험.

4.2.1 시나리오

처치군: 5% loss
대조군: 20% loss

이 차이가 위험한 이유:

  • 처치군의 부작용 호소자추가 follow-up 받아 추적 잘됨
  • 대조군의 증상 안 좋은 환자시험 거부 후 다른 치료 받음 → 추적 손실

결과: 두 군의 baseline 차이 발생. ITT 보호 무력화.

4.3 5-and-20 Rule

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

4.4 추가 Rule — Outcome Event Rate

“Loss 비율이 outcome event rate 보다 작아야 한다.” (Schulz 2019, Ch.15)

Outcome event rate 권장 max loss
5% (사망률) < 5%
10% (재발률) < 10%
30% (호전률) < 30%

수식 직관: Loss > Event rate 인 경우, 알려지지 않은 결과알려진 결과보다 많음 → worst-case sensitivity analysis 시 결론이 뒤집힐 수 있음.

4.5 Worst-Case Sensitivity Analysis

방법: Loss 환자에 최악 결과 가정 → 결과가 여전히 유의한가?

Loss 환자 처리 결과
모두 나쁜 결과 (사망 등) 효과 과소 추정 (낙관 시나리오)
모두 좋은 결과 (생존) 효과 과대 추정 (비관 시나리오)
처치군 = 좋은 결과, 대조군 = 나쁜 결과 효과 과대 (가장 낙관)
처치군 = 나쁜 결과, 대조군 = 좋은 결과 효과 과소 (가장 비관)

해석: 가장 비관적 시나리오에서도 유의 효과 가 유지되면 시험 결과의 robustness 강함.

5 Panel 15.2 — 13 가지 Retention 전략

Schulz 의 핵심 권고 — Loss 최소화의 구체적 행동.

# 전략 메커니즘
1 Follow-up 관리자 고용 추적 전담 직원
2 전화·가정 방문 인력 미응답자 직접 접촉
3 무작위 추적 위험자 제외 “추적 가능성 낮음” 환자 사전 제외
4 무작위 이주 가능자 제외 이사 예정자 사전 제외
5 추가 연락처 정보 수집 친구·친척·가족의 의사
6 국가 의료 ID 번호 사망 등록부 등 cross-check
7 다수 follow-up 클리닉 거주지 인근 위치
8 Follow-up 절차 간소화 짧은 방문 시간
9 짧은 데이터 수집 양식 환자 부담 감소
10 무료 의료 진료 동기 부여
11 시간·교통비 보상 경제적 부담 감소
12 모바일 폰 제공 (저소득 환자) 연락 가능성
13 텍스트 메시지·소셜 미디어 디지털 접촉

Schulz 의 메시지: “단일 전략으로는 부족. 여러 전략의 조합 이 high retention 의 비결.”

반사실 — Roddy 외 (2002, JAMA) 의 nonoxynol-9 시험 (HIV 예방, 아프리카·태국·인도 여성):

일반적 임상 시험에서 50% 이상 loss 흔함. Roddy 외는 다수 follow-up 클리닉, 모바일 폰 제공, 지역 사회 참여 등 종합 전략으로 loss 1.5% 달성.

so what: Loss 가 환자 변수 가 아니라 시험 설계 변수. 적절한 자원 투입 시 매우 낮춤 가능.

6 “Exclusion Paradox” 재방문

이전 글에서 언급한 Schulz 의 충격적 발견:

“Exclusion 을 보고하지 않은 시험이 보고한 시험보다 더 편향 되어 있다.”

이 패러독스의 메커니즘:

  1. 적절한 시험은 exclusion 을 명시적 보고 (CONSORT flow)
  2. 부적절한 시험은 exclusion 의 존재 자체 를 숨김 → “no apparent exclusions” 로 보임
  3. Reviewer 는 후자를 “깨끗한 시험” 으로 잘못 해석

함의: Exclusion 보고가 있는 시험더 신뢰 해야 한다. CONSORT flow diagram 의 강제 보고가 이 함정 차단.

7 CONSORT Flow Diagram — 모든 단계의 보고

이전 글에서 본 CONSORT flow diagram. Ch.15 에서 가장 강조되는 도구.

모집된 환자 (n=...)
        │
        ├ Eligibility 미달 (n=...)
        ├ 동의 거부 (n=...)
        ├ 기타 (n=...)
        ↓
무작위 배정 (n=...)
   ↓                    ↓
처치군 (n=...)         대조군 (n=...)
   - 처치 받음           - 처치 받음
   - 처치 미수            - 처치 미수
        │                  │
   - 추적 손실 (n=...)   - 추적 손실 (n=...)
   - 중단 (n=...)         - 중단 (n=...)
        │                  │
   - 분석에 포함 (n=...)  - 분석에 포함 (n=...)

so what: 모든 단계의 환자 수 를 보고하면 exclusion 의 종류와 비율 을 reviewer 가 직접 평가 가능. ITT 의 적절성을 수치로 확인 가능.

8 Sensitivity Analysis 의 표준화

8.1 Best-Case / Worst-Case

처치군 loss 가정 대조군 loss 가정 효과 추정
모두 좋은 결과 모두 나쁜 결과 가장 낙관 (최대 효과)
모두 나쁜 결과 모두 좋은 결과 가장 비관 (최소 효과)

8.2 Tipping Point Analysis

방법: Loss 환자에 얼마나 극단적 결과 를 가정해야 결과가 유의에서 비유의로 뒤집히는가?

해석: Tipping point 가 비현실적으로 극단 이면 결과 robust. 현실적 시나리오 에 가깝다면 결과 신뢰도 낮음.

8.3 Multiple Imputation

방법: Loss 환자의 결과를 통계 모델로 추정. 여러 imputed dataset 으로 sensitivity 평가.

장점: ITT 원칙에 최대한 부합. 단점: 가정 강함 — Missing at random (MAR) 가정 필요.

9 IT / 디지털 실험 매핑

역학 (RCT) IT (A/B Test)
Pretreatment outcome Pre-exposure event
Protocol deviation Feature 미사용 / Force-quit
Loss to follow-up Inactive user / Churn
5-and-20 rule Bucket completion rate threshold
Differential loss Differential churn (군별)
Worst-case sensitivity Conservative bound on missing data
Panel 15.2 retention Re-engagement campaigns, push notifications

IT 의 retention: Push notification, email reminders, in-app rewards 등 동일 메커니즘. 임상의 retention 전략을 IT 에 직접 응용 가능.

10 코드 예시 — Worst-Case Sensitivity Analysis

import numpy as np
from scipy import stats

np.random.seed(42)

# 시뮬레이션: 무작위 배정 시험, 일부 loss
n_per_arm = 500
true_effect = 0.20

# Baseline 결과
risk_T = np.random.beta(2, 5, n_per_arm)
risk_C = np.random.beta(2, 5, n_per_arm)
Y_T = (np.random.random(n_per_arm) < risk_T * (1 - true_effect)).astype(int)
Y_C = (np.random.random(n_per_arm) < risk_C).astype(int)

# Loss to follow-up
loss_rate_T = 0.10
loss_rate_C = 0.20  # Differential loss (위험)
loss_T = np.random.random(n_per_arm) < loss_rate_T
loss_C = np.random.random(n_per_arm) < loss_rate_C

# Observed (loss 제외)
obs_T = ~loss_T
obs_C = ~loss_C

print(f"[Loss to Follow-Up]")
print(f"처치군 loss: {sum(loss_T)} ({sum(loss_T)/n_per_arm:.1%})")
print(f"대조군 loss: {sum(loss_C)} ({sum(loss_C)/n_per_arm:.1%})")

# === Naive ITT (loss 제외) ===
mort_T_obs = Y_T[obs_T].mean()
mort_C_obs = Y_C[obs_C].mean()
naive_effect = (mort_C_obs - mort_T_obs) / mort_C_obs
print(f"\n[Naive ITT (loss 제외)]")
print(f"처치 사망률: {mort_T_obs:.3f}, 대조: {mort_C_obs:.3f}")
print(f"효과: {naive_effect:.1%}")

# === Best-Case (loss 환자 처치=좋음, 대조=나쁨) ===
Y_T_best = Y_T.copy()
Y_T_best[loss_T] = 0  # 처치 loss = 생존
Y_C_best = Y_C.copy()
Y_C_best[loss_C] = 1  # 대조 loss = 사망

mort_T_best = Y_T_best.mean()
mort_C_best = Y_C_best.mean()
best_effect = (mort_C_best - mort_T_best) / mort_C_best
print(f"\n[Best-Case (낙관 시나리오)]")
print(f"효과: {best_effect:.1%}")

# === Worst-Case (loss 환자 처치=나쁨, 대조=좋음) ===
Y_T_worst = Y_T.copy()
Y_T_worst[loss_T] = 1  # 처치 loss = 사망
Y_C_worst = Y_C.copy()
Y_C_worst[loss_C] = 0  # 대조 loss = 생존

mort_T_worst = Y_T_worst.mean()
mort_C_worst = Y_C_worst.mean()
worst_effect = (mort_C_worst - mort_T_worst) / mort_C_worst
print(f"\n[Worst-Case (비관 시나리오)]")
print(f"효과: {worst_effect:.1%}")

# === Tipping Point ===
print(f"\n[Robustness 평가]")
print(f"진짜 효과 가정: ~10% (true_effect * baseline_avg)")
print(f"Naive: {naive_effect:.1%}, Best: {best_effect:.1%}, Worst: {worst_effect:.1%}")
print(f"Worst 가 음수 (해 효과) 인가? → {'예, 결과 robust 약함' if worst_effect < 0 else '아니오, 결과 robust'}")

이 코드는 (1) Differential loss 가 naive ITT 에서 효과 왜곡, (2) Best/Worst case sensitivity 로 robustness 평가, (3) Worst-case 에서 효과 부호 변화 가능성 확인.

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

무작위 후 제외의 모든 시나리오에서 ITT 가 우선, retention 은 시험 설계 변수.

핵심 메시지:

  1. Pretreatment outcome 도 ITT 에 포함 — Post-hoc rationalization 위험
  2. Protocol deviation 환자도 원래 군에 남음 — Dental antibiotic 사례
  3. 5-and-20 rule + outcome event rate — Loss 평가 통합 기준
  4. Differential loss 가 absolute loss 보다 위험
  5. Panel 15.2 의 13 가지 전략 — Retention 은 적절한 자원 투입 가능
  6. CONSORT flow diagram — 모든 단계의 환자 수 보고 강제

Ch.15 시리즈를 종합: ITT 는 RCT 의 baseline 균형 마지막 보장. 무작위 후 어떤 체계적 제외도 selection bias 침투. 실무적 한계 (loss to follow-up) 는 최소화 + 명시 보고 + sensitivity analysis 로 처리.

다음 챕터 (Ch.16) 는 Blinding — 또 다른 RCT 의 기둥.

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. N. Engl. J. Med. 298, 289-295.
  • Roddy, R. E., Zekeng, L., Ryan, K. A., Tamoufe, U., Tweedy, K. G. (2002). Effect of nonoxynol-9 gel on urogenital gonorrhea and chlamydial infection. JAMA 287, 1117-1122.
  • Sackett, D. L., Richardson, W. S., Rosenberg, W., Haynes, R. B. (1997). Evidence-Based Medicine. Churchill Livingstone.
  • Robinson, K. A., Dennison, C. R., Wayman, D. M., Pronovost, P. J., Needham, D. M. (2007). Systematic review of strategies for retaining study participants. J. Clin. Epidemiol. 60, 757-765.
  • Abshire, M., Dinglas, V. D., Cajita, M. I., Eakin, M. N., Needham, D. M., Himmelfarb, C. D. (2017). Participant retention practices in longitudinal clinical research. BMC Med. Res. Methodol. 17, 30.

Subscribe

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