Allocation Concealment — Ch.14 개관

Defending Against Deciphering — RCT 의 마지막 방어선

Schulz Ch.14 Allocation Concealment in Randomised Trials 의 큰 그림을 다룬다. (1) Allocation concealment 가 무엇이며 왜 sequence generation 과 분리해야 하는가, (2) 부적절 concealment 의 40% 효과 과대 추정 실증, (3) 임상 인력의 deciphering 시도 사례 (반투명 봉투를 빛에 비춤·중앙 무작위 전화 사기 등), (4) 4 가지 적절 방법 (SNOSE, pharmacy controlled, sequentially numbered containers, central randomisation), (5) Baseline comparison 의 hypothesis test 함정. 후속 글의 안내.

Experimentation
Epidemiology
저자

Kwangmin Kim

공개

2026년 05월 08일

이 글은 Schulz Ch.14 Allocation Concealment in Randomised Trials 시리즈 (4 편) 의 첫 글이다. Ch.12 가 어떻게 무작위 sequence 를 생성하는가 를, Ch.13 이 비맹검 시험에서 추측을 어떻게 막는가 를 다뤘다면, Ch.14 는 그 sequence 가 누구에게 어떻게 숨겨지는가 를 다룬다.

1 진입 직관 — 왜 Concealment 가 sequence 보다 더 중요 한가

Ch.14 의 첫 인용문이 이 챕터의 본질을 한 줄로 요약한다.

“MRC 의 streptomycin 시험이 landmark 인 이유는 난수표를 사용해 sequence 를 생성했기 때문이 아니다. 환자를 등록하는 인력에게 sequence 를 숨기기 위해 취한 명확한 예방조치 때문이다.” (Chalmers 2001, Schulz 2019, Ch.14 인용)

충격적 함의: 무작위 sequence 자체보다 그 sequence 가 누구에게 숨겨지는가 가 RCT 의 신뢰성을 결정한다. Ch.13 의 16% 추측 시도, Schulz 외 1995 의 41% 효과 과대 추정 — 모두 concealment 가 부재하면 다시 활성화된다.

비유: 카드 게임에서 (1) 카드를 셔플 잘 했고, (2) 아무도 카드를 못 보게 했다고 하자. 만약 (3) 셔플한 카드 패가 게시판에 붙어 있다면? 셔플의 무결성은 완전히 무의미해진다. RCT 의 sequence generation 과 concealment 의 관계가 정확히 이렇다.

Schulz Ch.14 의 한 줄 메시지:

무작위 sequence 의 적절성은 concealment 의 적절성에 의존한다. 후자 없이 전자만 갖춰도 RCT 는 무너진다.

2 정의: Allocation Concealment

정의: Allocation Concealment

처치 배정 sequence 를 환자가 군에 배정되는 시점까지 임상의·환자·모집 인력으로부터 숨기는 기법.

  • 역학: Allocation Concealment / Concealment of Allocation Schedule
  • IT: Hidden Assignment / Encrypted Bucket Mapping
  • 두 단계 분리:
    1. Sequence Generation (Ch.12) — 어떻게 무작위 sequence 를 만드는가
    2. Allocation Concealment (Ch.14) — 그 sequence 를 누구에게 어떻게 숨기는가

Schulz 의 핵심 분리 원칙: “Concealment 는 sequence 의 구현 에 관한 것이지, 생성 에 관한 것이 아니다.”

흔한 오해 1 — Concealment ≠ Coin Tossing: 일부는 “동전 던지기·난수표 사용” 을 concealment 로 혼동한다. 이는 sequence generation 의 도구다. Concealment 는 생성된 sequence 가 모집 단계에서 새지 않도록 하는 별도의 절차.

흔한 오해 2 — Concealment ≠ Blinding: Blinding 은 배정 후 환자·평가자 등이 처치를 모르게 하는 것. Concealment 는 배정 전·시점 에 모집 인력이 다음 배정을 모르게 하는 것. 두 단계가 시간적으로 다름.

Concealment Blinding
시점 배정 전·시점 배정
대상 모집 인력 환자·평가자·임상의
목표 Selection bias 차단 Performance / Detection bias 차단
챕터 Ch.14 Ch.16, 17

3 부적절 Concealment 의 정량적 영향

Schulz 가 인용하는 핵심 실증 (Schulz 외 1995, Schulz 2002, Savovic 외 2012):

부적절 또는 불명확 concealment 시험은 적절 concealment 시험 대비 효과를 평균 40% 과대 추정.

추가 발견:

  • 방향성: 평균은 과대 추정이지만, 과소 추정도 가능 (effect 의 양방향 편향)
  • 이질성: 부적절 concealment 시험은 결과가 더 분산 (큰 변동) — 좋은 시험 추정치 위·아래로 폭넓게 변동
  • 함의: 단일 부적절 RCT 가 의학 결정을 상당히 잘못된 방향 으로 이끌 수 있음

반사실: 만약 한 신약의 진짜 효과가 사망률 20% 감소라면, 부적절 concealment RCT 에서 28% 감소로 측정될 수 있다. 의사는 이를 진짜 효과로 받아들여 처방. 그러나 임상 실제에서는 20% 만 효과 → 처방 결정의 일부가 잘못된 근거.

so what: Concealment 의 적절성은 통계 정밀성 의 문제가 아니라 임상 진실 의 문제. 한 시험의 결론이 임상 가이드라인을 바꿀 수 있는 만큼, concealment 부재의 비용이 실제 환자에게 직접 돌아온다.

4 임상 인력의 Deciphering — Schulz 의 충격적 사례

Schulz 1995 가 epidemiology workshop 에서 익명으로 수집한 deciphering 사례들 (Schulz 2019, Ch.14 인용).

4.1 단순 사례

방법 메커니즘
게시판의 sequence 보기 가장 단순 — 보고서에 등장
반투명 봉투를 빛에 비추기 강한 형광등에 봉투 비치면 내용 보임
봉투 무게 차이 감지 약물군 봉투가 더 무거운 경우
번호 없는 봉투를 원하는 처치 나올 때까지 열기 가장 직접적 sabotage

4.2 정교한 사례

방법 메커니즘 비고
봉투를 방사선과 hot light 에 비추기 매우 강한 빛으로 불투명 봉투도 투과 일부 의사가 실제 사용
중앙 무작위 전화에서 여러 환자 한꺼번에 요청 전화로 “다음 5 명의 sequence 알려주세요” 전화 인력이 이를 거부 못한 경우
약물 용기 라벨 외관 비교 라벨의 약간의 색·인쇄 차이 감지 매우 미묘한 단서도 활용
PI 의 밤중 사무실 잠입 Allocation list 파일 직접 열람 가장 극단적 사례

충격적 일화 (Schulz 1995): 한 인턴 의사가 새 환자 도착 시 attending physician 이 밤에 PI 의 사무실에서 allocation list 파일을 뒤지는 모습 을 보고 “이 의사는 정말 영리하다” 고 생각. 시험 무결성을 훼손하는 행위 라는 인식 부재.

4.3 무엇을 시사하는가

“임상의들은 이론적으로 무작위 시험의 필요성을 이해한다. 그러나 시험 진행 중 에는 임상적 본능 이 우선한다. 이 본능 — 특정 환자에게 특정 처치를 주려는 충동 — 이 deciphering 을 만든다.” (Schulz 2019, Ch.14)

반사실: 이런 행위가 부정행위 (cheating) 인가? 다수는 아니다. 과학적 인식 부족 + 임상적 호기심 + 지적 도전 욕구 의 결합. Oscar Wilde 인용: “유혹을 없애는 유일한 방법은 그것에 굴복하는 것이다.” 시험 디자이너의 책임은 유혹을 처음부터 불가능하게 만드는 것.

5 4 가지 적절 Concealment 방법 — Panel 14.2 의 위계

Schulz 가 adequate 으로 인정하는 방법은 4 가지다 (Schulz 2019, Ch.14, Panel 14.2). 각 방법에 minimum criteriaexpanded criteria 가 있다.

방법 Minimum Expanded (더 강한 보증)
SNOSE (Sequentially Numbered, Opaque, Sealed Envelopes) 순차 번호, 불투명, 봉인 봉투 개봉 전 환자명 작성, carbon paper, 알루미늄 호일
Pharmacy Controlled 약사가 sequence 관리 약사가 무작위·concealment 절차를 훈련받음
Sequentially Numbered Containers 순차 번호 약물 용기 Tamper-proof, 동일 무게·외관, audit trail
Central Randomisation 전화·웹 중앙 시스템 중앙 사무실 인력 훈련, 등록 배정만 반환

5.1 4 방법의 비교

측면 SNOSE Pharmacy Containers Central
비용
신뢰도 최고
다기관 적합성 낮음 높음
자동화 가능성 낮음 높음
흔한 위반 봉투 빛 비치기 약사 미훈련 라벨 외관 차이 사기 전화 요청

Schulz 의 권장: Central randomisation (특히 web-based) 이 가장 안전. SNOSE 는 인간 ingenuity 에 가장 취약. Pharmacy controlled 는 약사의 훈련 수준에 의존.

반사실 — Pharmacy 위반 사례: Schulz 가 인용한 미국 의대 약국. 시험 중 주말에 한 약물이 떨어져 나머지 환자 모두에게 다른 약 강제 배정. “모집 지연 방지” 가 명분이지만 무작위화 자체 무력화. 약사가 무작위화 원칙을 몰랐기 때문.

5.2 Minimum vs Expanded — 왜 Expanded 가 중요한가

Schulz 의 핵심: “Minimum criteria 만 충족하면 published 논문에서 adequate 으로 분류된다. 그러나 실제 deciphering 위험은 expanded criteria 의 추가 안전장치로만 차단된다.”

예: SNOSE 의 minimum 은 순차 번호·불투명·봉인. Expanded 는 추가로:

  • 봉투 개봉 전 환자명 작성 — audit trail
  • Carbon paper — sequence 정보 자동 기록
  • 알루미늄 호일 — 강한 빛 투과 차단

이런 expanded criteria 를 모두 적용한 시험만 진정한 adequate.

6 Baseline Comparison 의 함정

Concealment 가 잘 됐는지 어떻게 검증 하나? 흔한 답은 “baseline characteristics 비교” 다. 그러나 Schulz 는 이 관행에 중요한 경고 를 한다.

6.1 무엇이 적절한가

[O] Baseline 분포 표 보고 (연령·성별·중증도 등) [O] 평균·표준편차 (또는 중앙값·IQR) [O] 각 군의 percent 분포

6.2 무엇이 부적절한가

[X] Baseline 의 hypothesis test (p-value 보고)

Altman 의 명언: “Such a procedure is clearly absurd.” (Altman 1985, Schulz 2019, Ch.14 인용)

6.3 왜 hypothesis test 가 부적절한가

무작위 배정 RCT 에서 두 군의 baseline 차이는 정의상 우연. p-value 는 “우연일 확률” 을 묻는데, 이미 우연임을 알고 있는 데이터에 묻는 것은 무의미.

수식 직관: 무작위 배정 하에서 baseline 변수 \(X\) 의 두 군 평균 차이의 분포는 알려져 있다 (random variability). \(p < 0.05\) 가 나와도 그것은 Type I 오류 5% 의 정상 발생 — bias 의 증거가 아님.

6.4 더 심각한 부작용

Schulz 의 경고: Hypothesis test 사용은 baseline imbalance 의 보고를 억제 시킨다. 연구자가 “p > 0.05 면 imbalance 가 없다” 는 잘못된 인식으로 유의한 차이는 보고하지만 비유의는 무시 또는 유의한 차이를 보고하지 않음 (publication 신뢰성 우려).

반사실: Schulz 외 (1994) 분석 — baseline hypothesis test 사용 시험에서 유의 결과의 비율이 우연 기댓값 (5%) 보다 적음. 이는 일부 연구자가 유의한 baseline 차이를 의도적으로 보고하지 않음 을 시사. 정보 은폐는 reviewer 의 비판적 평가 능력을 무력화.

6.5 적절한 대안

Schulz 의 권장: Baseline 표는 기술 통계 (descriptive statistics) 만 제시. Hypothesis test 없음. Reviewer 는 prognostic 변수의 임상적 중요성imbalance 의 크기 로 판단. 통계적 유의 여부가 아님.

7 Concealment 보고의 충격적 실태

Schulz 외 (2019, Ch.14) 가 인용한 RCT 보고서 분석:

분야·시기 Concealment 보고 누락률
Dermatology (~2000 이전) 93%
Rheumatoid arthritis 89%
Obstetrics & gynaecology 48%
General medical journals 45%

PubMed 무작위 표본 분석 (Hopewell 외 2010): 약 75% 의 RCT 보고가 concealment 를 기술하지 않음.

충격: 1/4 의 RCT 만 concealment 를 보고한다. 나머지 3/4 의 시험은 무작위 배정의 적절성을 독자가 평가할 수 없는 상태. 이는 단지 보고 결함이 아니라 근거 의학의 신뢰 기반 을 흔드는 문제.

CONSORT 의 효과: CONSORT (Ch.22) 도입 후 보고가 적절히 개선 되었지만 충분하지 않음. 여전히 약 50% 이상의 RCT 가 concealment 를 명시 안 함. 학술지·reviewer 의 더 엄격한 적용이 필요.

8 IT / 디지털 실험 매핑

역학 (RCT) IT (A/B Test / Marketing)
Concealment of sequence Hidden bucket assignment
SNOSE (봉투) Encrypted assignment file
Pharmacy controlled Feature flag service (server-side)
Sequentially numbered containers Pre-assigned bucket tokens
Central randomisation Centralized assignment server (gRPC)
Hot light deciphering DOM inspection / reverse engineering
봉투 무게 차이 Network traffic timing analysis
Baseline comparison Pre-period comparability check
Hypothesis test on baseline A/A test misuse

IT 의 추가 위험: 사용자가 URL 파라미터·DOM 검사 등으로 본인 군을 추측. Server-side rendering + client 비밀 키 부재 가 IT 버전의 concealment.

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

Ch.14 의 후속 깊이는 세 흐름으로 분해된다.

9.1 후속 글 1 — 은폐의 중요성과 해독 시도 (32-11)

  • 40% 효과 과대 추정의 메커니즘 깊이
  • Anonymous deciphering accounts 의 다양한 사례 분석
  • 인간 본성에 대한 인식론적 통찰

9.2 후속 글 2 — 평가 기준과 사례 (32-12)

  • Panel 14.1 의 실제 RCT concealment 보고 사례
  • Panel 14.2 의 minimum vs expanded criteria 깊이
  • 4 가지 방법의 비교와 각 위험 요인

9.3 후속 글 3 — 기저선 비교의 함정 (32-13)

  • Baseline comparison 의 적절·부적절 관행
  • Hypothesis test 사용의 부작용 — 보고 억제 메커니즘
  • CONSORT 의 권장 baseline 표 형식

10 코드 예시 — Concealment 부적절 시 효과 추정 시뮬레이션

import numpy as np
from scipy import stats

np.random.seed(42)

def simulate_trial(n=200, true_effect=0.20, concealment="adequate"):
    """
    n 명의 시험.
    - Adequate concealment: 무작위 배정 그대로
    - Inadequate concealment: 30% 의 환자가 deciphering 으로 *적합한 군* 에 재배정
    """
    baseline_risk = np.random.uniform(0, 1, n)

    # 잠재적 결과
    Y_0 = (np.random.random(n) < baseline_risk).astype(int)
    Y_1 = (np.random.random(n) < baseline_risk * (1 - true_effect)).astype(int)

    # 무작위 배정
    T = np.random.choice([0, 1], size=n)

    if concealment == "inadequate":
        # 30% 의 환자가 deciphering 으로 재배정
        # (모집 인력이 다음 배정을 알고, 위험 낮은 환자를 새 약 군으로)
        for i in range(n):
            if np.random.random() < 0.3:
                # Deciphering: 위험 낮으면 새 약, 높으면 표준
                T[i] = 1 if baseline_risk[i] > np.median(baseline_risk) else 0
                # 잠깐, 0=A=새 약 가정 → 위험 낮으면 0
                T[i] = 0 if baseline_risk[i] < np.median(baseline_risk) else 1

    Y_obs = np.where(T == 0, Y_1, Y_0)
    mort_T = Y_obs[T == 0].mean()
    mort_C = Y_obs[T == 1].mean()
    return mort_C - mort_T

# 1000 회 시뮬레이션
n_sim = 1000
true_effect = 0.20

print("[Concealment 부적절 시 효과 과대 추정]")
print(f"진짜 효과 (ATE): ~{true_effect * 0.5:.1%}\n")  # baseline 평균 0.5

results = {}
for concealment in ["adequate", "inadequate"]:
    diffs = [simulate_trial(concealment=concealment) for _ in range(n_sim)]
    results[concealment] = np.array(diffs)
    print(f"{concealment.capitalize():>15}: 평균 추정 = {np.mean(diffs):.4f} ± {np.std(diffs):.4f}")

# 과대 추정 비율
overest = np.mean(results["inadequate"]) / np.mean(results["adequate"]) - 1
print(f"\n부적절 시 과대 추정: {overest:.1%}")
print("→ Schulz 외 (1995) 의 41% 발견과 정성적 일치")

# Baseline hypothesis test 부적절 시뮬레이션
print("\n[Baseline hypothesis test — Type I 오류율]")
n_sim2 = 1000
baseline_p_values = []
for _ in range(n_sim2):
    n = 200
    baseline = np.random.normal(0, 1, n)   # 무작위 baseline
    T = np.random.choice([0, 1], n)
    _, p = stats.ttest_ind(baseline[T == 0], baseline[T == 1])
    baseline_p_values.append(p)

p5 = np.mean(np.array(baseline_p_values) < 0.05)
print(f"P(p < 0.05) = {p5:.3f} (이론적 기댓값 0.05)")
print("→ 무작위 배정 하에서 baseline test 는 정확히 5% 에서 false positive")
print("→ 이를 'imbalance 증거' 로 해석하는 것은 정의상 잘못")

이 코드는 (1) Concealment 부적절이 효과 추정을 체계적으로 과대 추정함, (2) Baseline hypothesis test 가 정의상 5% Type I 오류를 보임 — imbalance 의 증거가 아님 을 보여준다.

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

Concealment 없는 무작위 배정은 모래성이다.

핵심 행동 권고:

  1. Concealment 와 sequence generation 은 분리된 두 단계 — 둘 다 적절해야
  2. 40% 효과 과대 추정 은 concealment 부재의 정량적 비용
  3. Deciphering 은 부정이 아닌 인간 본성 — 시스템이 처음부터 차단해야
  4. 4 가지 적절 방법 (SNOSE, Pharmacy, Containers, Central) 중 expanded criteria 까지 적용
  5. Baseline 은 기술 통계만 — Hypothesis test 금지

후속 글:

  • 32-11: 40% 과대 추정의 메커니즘 + Personal accounts deep dive
  • 32-12: 4 가지 방법의 sample report + Panel 14.2 expanded criteria
  • 32-13: Baseline 보고의 적절·부적절 관행

12 관련 주제

선행 지식

Phase C 후속 글

13 참고문헌

  • Schulz, K. F. & Grimes, D. A. (2019). Essential Concepts in Clinical Research (2nd ed.), Ch.14. Elsevier.
  • Schulz, K. F. (1995). Subverting randomization in controlled trials. JAMA 274, 1456-1458.
  • Schulz, K. F., Chalmers, I., Hayes, R. J., Altman, D. G. (1995). Empirical evidence of bias. JAMA 273, 408-412.
  • Chalmers, I. (2001). Comparing like with like: some historical milestones in the evolution of methods to create unbiased comparison groups. Int. J. Epidemiol. 30, 1156-1164.
  • Savovic, J., Jones, H. E., Altman, D. G., et al. (2012). Influence of reported study design characteristics on intervention effect estimates. Ann. Intern. Med. 157, 429-438.
  • Altman, D. (1985). Comparability of randomised groups. Statistician 34, 125-136.
  • Hopewell, S., Dutton, S., Yu, L. M., Chan, A. W., Altman, D. G. (2010). The quality of reports of randomised trials in 2000 and 2006. BMJ 340, c723.
  • Schulz, K. F., Altman, D. G., Moher, D. (2010). CONSORT 2010 statement. BMJ 340, c332.

Subscribe

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