교란 변수
Confounding Variable
개념
원인으로 지목된 값과 결과로 본 값 양쪽에 함께 영향을 줘서, 둘 사이에 없는 관계를 있어 보이게 만드는 숨은 값입니다.
등장 배경
기록이 쌓이면 함께 움직이는 값들이 눈에 띕니다. 동료를 세 명 넘게 초대한 계정은 여섯 달 뒤에도 남아 있는 비율이 62퍼센트인데, 그보다 적게 초대한 계정은 31퍼센트입니다. 두 배 차이를 보고 나면 다음 문장이 저절로 나옵니다. 초대를 더 시키면 더 오래 남겠구나.
페이지덱도 그 문장으로 한 분기를 썼습니다. 첫 화면에 초대 배너를 깔고 알림을 붙여 초대 수를 끌어올렸는데, 여섯 달 뒤 잔존율은 움직이지 않았습니다. 뒤늦게 계정을 팀 규모로 나눠 보니 그림이 달라졌습니다. 원래 사람이 많은 팀이 초대도 많이 했고 오래도 남았던 것이고, 초대와 잔존 사이에는 그 팀 규모가 끼어 있었습니다.
같은 일이 채널별 성과와 요금제별 만족도에서도 반복되자, 이 끼어드는 값에 이름이 필요해졌습니다. 표에는 나오지 않지만 표의 두 열 모두를 움직이는 값이 있다는 것, 그 값을 찾기 전에는 관계를 원인으로 읽으면 안 된다는 것을 한 단어로 말하려고 교란 변수를 씁니다.
작동 방식
세 번째 값이 원인 자리와 결과 자리 둘 다에 영향을 주면, 두 자리 사이에 아무 연결이 없어도 함께 움직이는 것처럼 보입니다.
교란이 성립하려면 세 조건이 함께 맞아야 합니다.
- 그 값이 원인으로 지목된 쪽을 움직입니다. 팀에 사람이 많으면 초대할 대상도 많아 초대 수가 올라갑니다.
- 그 값이 결과 쪽도 따로 움직입니다. 사람이 많은 팀은 조직 차원에서 도입을 결정해 한 명이 흥미를 잃어도 계정이 유지됩니다.
- 원인과 결과 사이를 잇는 중간 단계가 아닙니다. 초대를 해서 팀이 커진 것이라면 교란이 아니라 초대가 효과를 내는 경로이고, 이때는 배너를 깔면 실제로 잔존이 오릅니다. 그래서 그 값이 원인보다 먼저 있었는지 뒤에 생겼는지를 반드시 확인합니다.
확인하는 가장 쉬운 방법은 의심되는 값으로 데이터를 쪼개 같은 비교를 다시 하는 것입니다. 페이지덱의 62 대 31을 팀 규모로 갈라 보면, 열 명 이상인 팀에서는 64 대 58이고 다섯 명 미만인 팀에서는 29 대 26입니다. 쪼갠 뒤 차이가 거의 남지 않으면 그 차이를 만든 것은 초대가 아니라 팀 규모입니다. 쪼갰을 때 결론이 아예 뒤집히는 경우는 따로 심슨의 역설이라 부릅니다.
쓰이는 곳
집단을 무작위로 나누지 않은 데이터를 두고 원인을 말하려 할 때마다 나옵니다. 다섯 자리가 특히 잦습니다.
- 기능 사용과 잔존을 엮은 분석 — 그 기능을 쓴 사람이 오래 남았다는 관찰에는, 그 기능을 찾아 쓸 만큼 적극적인 사용자였다는 사실이 함께 들어 있습니다.
- 유입 채널 비교 — 검색으로 들어온 사람의 전환율이 배너보다 높습니다. 다만 검색한 사람은 이미 필요를 느껴 검색창을 연 사람입니다.
- 고객군 비교 — 기업 계약 고객의 만족도가 높다는 결과에는 계약 규모, 전담 지원, 도입 목적이 한꺼번에 묶여 있습니다.
- 릴리스 전후 비교 — 기능을 낸 주에 지표가 올랐다면 같은 주에 나간 캠페인, 계절, 요금 변경이 모두 후보입니다.
- 고객 성공 개입의 효과 — 담당자가 붙은 계정의 갱신율이 높은 것은, 애초에 큰 계정에 담당자를 붙이기 때문일 수 있습니다.
막는 방법은 두 가지이고 힘이 다릅니다. 확실한 쪽은 집단을 치우침 없이 나누는 절차인 무작위 배정입니다. 동전을 던져 두 집단으로 나누면 팀 규모도, 유입 경로도, 아직 이름조차 모르는 값도 양쪽에 고루 섞입니다. 두 안을 무작위로 갈라 결과를 비교하는 A/B 테스트가 원인을 말할 수 있는 근거가 여기 있습니다.
무작위로 나눌 수 없을 때, 이를테면 이미 지나간 기록을 분석할 때는 앞서 쓴 쪼개기로 대신합니다. 다만 이 방법은 이름을 아는 값만 막습니다. 표에 열이 없는 값은 쪼갤 수도 없으므로, 관측한 데이터만으로 내린 결론에는 언제나 모르는 교란이 남아 있습니다. 쪼개 봐도 차이가 그대로라는 말은 교란이 없다는 뜻이 아니라, 지금 아는 값으로는 설명되지 않는다는 뜻까지입니다.
실무 용례
"이거 교란 변수 아닐까요? 팀 규모로 한 번 쪼개서 봅시다."
지금 보이는 차이가 다른 값 때문일 수 있으니 갈라서 다시 재 보자는 제안입니다.
"무작위로 나눈 게 아니라서 이 차이를 기능 효과라고 부르면 안 됩니다."
숫자를 의심하는 게 아니라 그 숫자에 붙일 이름을 제한하자는 말입니다.
"릴리스랑 캠페인이 같은 주에 나갔어요. 뭐가 올린 건지 못 가릅니다."
두 변화가 겹쳐 있어 어느 쪽 공인지 나눌 방법이 없다는 뜻입니다.
페이지덱에서 이 말이 가장 자주 나오는 자리는 분기 리뷰입니다. 지현이 초대 배너의 결과를 가져와 초대 수는 두 배가 됐는데 잔존은 그대로라고 보고하면, 태오가 지난 분기의 62 대 31을 팀 규모로 쪼개 보자고 제안합니다. 쪼갠 표를 띄우면 차이가 4퍼센트포인트와 3퍼센트포인트로 줄어 있고, 그 자리에서 원래 가설이 무엇을 잘못 읽었는지가 드러납니다.
결론은 대개 같은 모양입니다. 초대가 잔존을 만드는지 아닌지는 이 기록으로 답할 수 없으니, 판단이 필요하면 다음 분기에 무작위로 갈라 실험을 한 번 돌리자는 것입니다. 배너를 걷을지 둘지는 그때까지 보류합니다.
흔한 오해
데이터를 더 모으면 해결된다고 보는 경우가 가장 많습니다. 표본이 작아서 이상한 결과가 나왔던 경험이 흔하니 크기로 풀리는 문제처럼 보입니다. 하지만 크기가 줄여 주는 것은 우연이지 치우침이 아닙니다. 팀 규모가 섞여 있는 데이터는 계정 5천 개로 봐도 5만 개로 봐도 똑같이 섞여 있고, 오히려 범위가 좁아져 잘못된 결론을 더 확신하게 됩니다. 이 오해를 두면 숫자를 더 모으는 데 한 분기를 쓰고 같은 자리로 돌아옵니다.
떠오르는 변수를 모두 넣어 통제하면 된다고 보는 것도 흔합니다. 분석 도구가 변수를 여러 개 넣도록 되어 있으니 넣을수록 깨끗해질 것 같습니다. 하지만 넣을 수 있는 것은 이름을 알고 기록까지 남아 있는 값뿐이고, 사용자의 업무 성격이나 도입을 밀어붙인 사람의 존재처럼 표에 없는 값은 그대로 남습니다. 그래서 관측 데이터에서 나온 결과는 아마도까지가 정직한 표현이고, 인과관계라고 부르려면 무작위로 나눈 실험이 한 번은 필요합니다.
자주 헷갈리는 용어
| 용어 | 무엇인가 | 교란 변수와의 차이 |
|---|---|---|
| 상관관계 | 두 값이 함께 움직인다는 관찰 | 표에서 그대로 읽히는 사실입니다. 교란 변수는 그 사실을 만들어 낸 숨은 원인이자, 상관을 인과로 읽어도 되는지 판정할 때 먼저 지워야 할 후보입니다 |
같이 보면 좋은 페이지
연관 용어
마지막 업데이트 2026-09-16