인과관계
Causation
개념
한쪽이 실제로 다른 쪽을 일으켜서, 앞의 것을 바꾸면 뒤의 것이 따라 바뀌는 관계입니다.
등장 배경
기록이 쌓이면서 함께 움직이는 두 숫자를 찾기는 아주 쉬워졌습니다. 사용자의 행동이 수십 개 항목으로 남으니 아무 두 개나 겹쳐 보면 비슷하게 오르내리는 짝이 금방 나옵니다. 문제는 그 짝을 발견한 다음입니다.
페이지덱에서 있었던 일이 전형적입니다. 첫 주에 동료를 세 명 이상 초대한 계정은 6개월 뒤 남아 있는 비율이 그렇지 않은 계정의 두 배였습니다. 그래서 가입 직후 초대 화면을 건너뛸 수 없게 막고 세 명을 채워야 다음으로 넘어가게 바꿨습니다. 두 달 뒤 남아 있는 비율은 그대로였습니다. 초대를 많이 한 팀이 오래 남은 게 아니라, 원래 이 도구를 함께 쓸 작정이던 팀이 초대도 많이 하고 오래도 남았던 것입니다.
인과관계라는 말은 이 둘을 갈라놓으려고 씁니다. 두 값이 나란히 움직인다는 관찰과, 한쪽을 손대면 다른 쪽이 따라온다는 주장은 전혀 다른 크기의 말입니다. 앞의 것은 화면을 보면 알 수 있고 뒤의 것은 대개 실험을 해야 알 수 있습니다. 회의에서 값비싼 결정이 뒤집히는 지점이 거의 언제나 이 경계입니다.
작동 방식
A가 B의 원인이라고 말하려면 세 가지가 함께 있어야 합니다.
- 시간 순서 — A가 B보다 먼저 일어나야 합니다. 오래 남은 계정이 초대를 많이 했는지, 초대를 많이 해서 오래 남았는지는 기록의 순서로 먼저 걸러 냅니다.
- 함께 움직임 — A가 달라질 때 B도 달라져야 합니다. 두 값이 함께 움직이는 정도인 상관관계가 여기에 해당합니다. 필요한 조건이지만 이것만으로는 아무것도 결론 내지 못합니다.
- 다른 설명의 배제 — 두 값 모두를 움직인 제3의 요인이 없어야 합니다. 앞의 사례에서 팀의 도입 의지가 그 요인이었습니다. 이렇게 뒤에 숨어 관계를 있어 보이게 만드는 값을 교란 변수라고 부릅니다.
셋 중 마지막이 언제나 어렵습니다. 숨은 요인은 이름을 떠올린 것만 확인할 수 있고 떠올리지 못한 것은 확인할 방법이 없습니다. 그래서 하나씩 지워 나가는 대신 통째로 무력화하는 방법을 씁니다. 사람을 무작위로 두 덩어리로 나누는 것입니다.
무작위로 나누면 도입 의지든 팀 규모든 회사 업종이든, 우리가 떠올린 것과 떠올리지 못한 것까지 두 덩어리에 고르게 섞입니다. 그 상태에서 한쪽에만 변화를 주면 나중에 생긴 차이의 원인은 그 변화밖에 남지 않습니다. 이것이 A/B 테스트가 하는 일이고, 변화를 주지 않고 비교 기준으로 남겨 두는 쪽을 대조군이라고 부릅니다. 같은 사람이 그 변화를 겪지 않았다면 어땠을지는 볼 수 없으니, 통계적으로 같은 조건의 다른 집단으로 그 자리를 대신하는 셈입니다.
나눌 수 없는 경우도 많습니다. 가격을 사용자마다 다르게 매길 수는 없고, 이미 지나간 일은 되돌려 볼 수 없습니다. 그때는 지역을 나눠 순차로 내보내거나 바꾼 시점의 앞뒤를 비교합니다. 다만 이런 방식은 같은 기간에 일어난 다른 일과 섞이므로 결론의 무게가 한 단계 가벼워집니다. 3월에 화면을 바꿨고 3월에 전환율이 올랐다는 사실만으로는, 3월에 함께 돌린 광고를 지울 수 없습니다.
쓰이는 곳
실무에서 이 구분이 돈으로 바뀌는 자리는 넷입니다.
- 기능 출시 결정 — 새 화면이 정말 전환을 올리는지 무작위 비교로 확인한 뒤 전체에 켭니다. 그냥 켜면 같은 기간의 계절 효과나 마케팅 활동과 구분할 수 없습니다.
- 마케팅 예산 배분 — 한 채널을 특정 지역에서만 몇 주 꺼 보고 그 지역의 가입이 실제로 줄어드는지를 봅니다. 켠 동안 가입이 늘었다는 기록만으로는 그 채널이 만든 몫을 알 수 없습니다.
- 목표 지표 고르기 — 결과보다 먼저 움직이는 선행 지표를 팀 목표로 세울 때, 그 지표가 결과를 끌어올리는지 아니면 결과가 좋을 때 같이 오르는 숫자인지를 먼저 가립니다. 뒤쪽을 목표로 삼으면 숫자만 오르고 결과는 그대로입니다.
- 장애와 이상 징후 — 지표가 꺾인 날 배포도 있었고 외부 장애도 있었다면 영향받지 않은 집단과 비교해 원인을 좁힙니다.
실무 용례
"이건 상관이지 인과가 아니에요. 실험 붙여 보고 정합시다."
관찰만으로 결정하지 말고 무작위 비교로 확인하자는 제안입니다.
"초대 많이 한 계정이 오래 남는 건 맞는데, 초대를 시킨다고 오래 남지는 않았습니다."
같은 방향으로 움직이는 두 값에서 앞의 것을 강제했더니 뒤가 따라오지 않았다는 보고입니다.
"지난달 가입이 늘긴 했는데 그때 광고도 같이 돌았어요."
두 원인이 같은 기간에 겹쳐 무엇이 얼마나 기여했는지 가를 수 없다는 뜻입니다.
앞의 초대 실험이 끝난 뒤 지현이 한 일은 질문을 바꾸는 것이었습니다. 초대 수를 올릴 방법을 찾는 대신, 초대를 많이 하는 팀이 애초에 무엇을 하려던 팀인지를 물었습니다. 상담 기록을 보니 그런 팀은 회의록을 함께 쓰겠다는 목적을 가지고 들어왔고, 초대는 그 목적의 결과였습니다.
그래서 다음 실험은 초대 버튼이 아니라 가입 직후 화면에서 팀의 용도를 고르게 하는 쪽으로 잡혔습니다. 절반에게만 그 화면을 보여 주고 나머지는 그대로 두었습니다. 4주 뒤 두 집단의 잔존율 차이가 결정의 근거가 됐습니다. 지현이 회의에서 반복해 말한 문장도 같습니다. 숫자가 함께 움직인다는 것은 어디를 더 파 볼지 알려 주는 힌트이지 무엇을 바꿀지 알려 주는 답이 아닙니다.
흔한 오해
상관이 아주 강하면 인과라고 봐도 된다는 오해가 가장 흔합니다. 두 선이 거의 포개질 만큼 붙어 있으면 우연으로 보기 어려우니 자연스러운 생각입니다. 하지만 관계의 세기와 관계의 방향은 다른 질문입니다. 겹침이 강할수록 공통 원인이 하나 있을 가능성도 함께 커집니다. 강한 상관을 근거로 기능을 강제하면 앞의 초대 사례처럼 분기 하나를 쓰고 아무것도 달라지지 않은 채 끝납니다.
실험을 돌렸으니 인과가 증명됐다고 읽는 오해도 있습니다. 무작위 비교가 가장 강한 근거인 것은 맞지만 그 결론은 실험한 범위 안에서만 유효합니다. 2주 동안 신규 가입자에게만 돌린 실험은 2주 동안 신규 가입자에게 일어난 일을 말해 줄 뿐이고, 오래 쓴 사용자나 6개월 뒤의 효과는 그 안에 없습니다. 짧은 실험에서 이긴 안이 장기적으로는 손해인 경우가 있어서, 긴 효과를 볼 집단을 따로 오래 비워 두는 홀드아웃을 함께 두기도 합니다.
자주 헷갈리는 용어
| 용어 | 무엇을 말하는가 | 인과관계와의 차이 |
|---|---|---|
| 상관관계 | 두 값이 함께 움직이는 정도 | 관찰된 기록만으로 계산됩니다. 방향을 말하지 않고, 둘 다를 움직인 제3의 요인이 있어도 똑같이 높게 나옵니다 |
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16