실험
Experimentation
방법
무엇을 바꾸면 결과가 달라지는지 확인하려고 사용자를 나눠 한쪽에만 변화를 적용하고 두 쪽을 견주는 방법입니다.
등장 배경
화면을 바꾸고 나서 숫자가 오르면 그 변화 덕분이라고 말하던 시절이 있었습니다. 근거는 바꾼 날과 오른 날이 붙어 있다는 것뿐이었습니다.
그 시절의 회의는 대개 이렇게 흘러갔습니다. 가입 버튼 색을 바꾼 주에 가입이 3퍼센트 늘었다는 보고가 올라오고, 옆에서 그 주에 광고를 두 배로 집행했다는 말이 나오고, 또 옆에서 지난주가 연휴였다는 말이 나옵니다. 같은 주에 바뀐 것이 셋인데 결과는 하나뿐이니, 어느 것이 얼마나 기여했는지는 아무도 계산할 수 없습니다. 남는 것은 누가 더 확신에 차서 말하느냐였고, 그런 회의는 대개 직급이 높은 쪽으로 결론이 납니다.
이미 쌓인 기록을 아무리 정교하게 뒤져도 이 문제는 풀리지 않습니다. 기록에서 찾아낼 수 있는 것은 함께 움직인 값들까지입니다. 가입 첫날 문서를 만든 사람이 오래 남는다는 사실은 기록으로 확인되지만, 문서를 만들도록 밀어 주면 오래 남게 되는지는 기록 안에 답이 없습니다. 원래 오래 쓸 생각이던 사람이 첫날 문서도 만들었을 뿐일 수 있기 때문입니다.
실험은 이 막다른 길을 비켜 가려고 만든 절차입니다. 과거를 더 파는 대신 앞으로 벌어질 일을 나눠서 만듭니다. 들어오는 사용자를 동전 던지듯 무작위로 두 무리로 가르고, 한쪽에만 바꾼 화면을 보여 주고, 같은 기간 동안 두 무리의 결과를 견줍니다. 무작위로 갈랐기 때문에 두 무리는 나이도 유입 경로도 사용 습관도 평균적으로 비슷해지고, 다른 점이 화면 하나만 남습니다. 그 상태에서 결과가 갈리면 갈린 이유도 하나로 좁혀집니다.
이 절차는 앞 단계가 갖춰져 있어야 돌아갑니다. 사용자가 무엇을 눌렀는지 기록이 남고 있어야 하고, 무엇을 성공으로 볼지가 미리 정해져 있어야 합니다. 그래서 실험은 데이터를 모으고 다듬고 셀 것을 정해 둔 다음 칸에 놓인 일이고, 앞 칸이 부실한 채로 시작하면 두 무리의 숫자가 다르게 나와도 그 차이를 믿을 수 없습니다.
분야 구성
실험 아래 묶인 용어는 세 갈래입니다. 한 번의 실험을 어떻게 짜는지(설계), 짜 놓고도 결과를 망치는 함정이 무엇인지(위험), 끝난 실험을 어떻게 남기는지(운영)입니다.
설계는 실험을 시작하기 전에 정해야 하는 것들을 다루는 갈래이고 여덟 자리가 있습니다. 먼저 어떻게 가를지를 정하고, 무엇과 무엇을 견줄지를 정하고, 얼마나 모을지를 정합니다.
- 무작위 배정 — 사용자를 치우침 없이 나누는 절차입니다. 가입 순서나 아이디 끝자리로 가르면 안 되는 이유는 그런 기준에 다른 성질이 딸려 오기 때문입니다. 먼저 가입한 쪽에 초기 사용자가 몰려 있거나, 특정 대역의 아이디가 한 회사에서 한꺼번에 만든 계정일 수 있습니다. 동전 던지기에 가까운 방식으로 갈라야 두 무리가 평균적으로 닮습니다.
- 대조군 — 아무것도 바꾸지 않고 그대로 두는 무리입니다. 비교의 기준선이라, 이 무리가 없으면 전환율 12퍼센트라는 결과가 좋은 건지 나쁜 건지 말할 수 없습니다. 지난달 값과 견주는 것으로 대신하기 어려운 이유는 그사이에 계절도 광고비도 같이 바뀌었기 때문입니다.
- 실험군 — 바꾼 것을 실제로 보는 무리입니다. 한 번에 한 가지만 바꾸는 것이 원칙입니다. 버튼 색과 문구와 위치를 동시에 바꾸면 결과가 갈려도 셋 중 무엇 때문인지 알 수 없습니다.
- 홀드아웃 — 오래 비워 두는 비교 무리입니다. 보통의 대조군은 실험이 끝나면 풀어 주지만, 이쪽은 전체 사용자의 몇 퍼센트를 반년이고 1년이고 예전 상태로 남겨 둡니다. 한 해 동안 승리로 판정된 스무 개의 변화를 전부 더했을 때 정말 그만큼 좋아졌는지는 이 무리와 견줘야 알 수 있습니다.
- A/B 테스트 — 두 안을 나란히 놓고 겨루는 가장 기본적인 형태입니다. 실무에서 도는 실험의 대부분이 여기에 속하고, 나머지 용어들은 사실상 이 형태를 제대로 굴리기 위한 부속입니다.
- 다변량 테스트 — 여러 요소의 조합을 한꺼번에 견주는 형태입니다. 제목 두 가지와 버튼 두 가지를 조합하면 네 갈래가 되고, 어느 조합이 가장 나은지와 두 요소가 서로 영향을 주는지까지 볼 수 있습니다. 대신 갈래가 늘어난 만큼 각 갈래에 들어갈 사람 수도 나뉘어, 방문이 넉넉하지 않으면 시작할 수 없습니다.
- 필요 표본 수 — 결론을 내려면 몇 명을 모아야 하는지입니다. 실험을 시작하기 전에 계산해 두는 값이고, 숫자가 아니라 기간으로 바꿔 말해야 쓸모가 생깁니다. 한 갈래에 8,000명이 필요한데 하루 방문이 1,000명이면 이 실험은 최소 16일짜리입니다.
- 최소 검출 효과 — 이 실험으로 잡아낼 수 있는 가장 작은 차이입니다. 필요 표본 수와 맞물려 있어서, 작은 차이까지 보려 할수록 모아야 할 사람이 급격히 늘어납니다. 5퍼센트 차이를 잡으려던 실험을 1퍼센트까지 잡으려고 바꾸면 필요한 사람 수는 다섯 배가 아니라 스물다섯 배가 됩니다. 그래서 시작 전에 이렇게 묻습니다. 이 정도 차이가 나면 우리가 정말 화면을 바꿀 것인가.
위험은 설계를 마치고도 결론을 망치는 함정을 다루는 갈래이고 세 자리가 있습니다.
- 신기 효과 — 새롭다는 이유만으로 잠깐 반응이 좋아지는 현상입니다. 화면을 바꾸면 기존 사용자가 달라진 것을 눌러 보기 때문에 첫 며칠은 숫자가 뜁니다. 2주쯤 지나면 원래 자리로 내려오는 일이 흔해서, 첫 사흘 결과로 승리를 선언하면 실제로는 아무것도 얻지 못한 변경을 전체에 밀게 됩니다.
- 조기 확인 문제 — 중간 결과를 들여다보다가 앞서는 순간에 멈춰 결론을 내는 오류입니다. 두 무리의 숫자는 표본이 적을 때 크게 출렁이고, 계속 보고 있으면 어느 시점에는 반드시 한쪽이 앞섭니다. 그때 멈추면 우연히 벌어진 차이를 효과로 오해합니다. 그래서 멈출 시점을 시작 전에 정해 두고 그 전까지는 판정하지 않습니다.
- 표본 비율 불일치 — 반반으로 갈랐는데 실제로 들어온 사람이 52대 48처럼 어긋난 상태입니다. 배정 과정에 문제가 있었다는 신호라, 이 경우에는 결과 자체를 버립니다. 실험군 화면이 특정 브라우저에서 느려 그 사용자들이 이탈해 버린 상황이라면 두 무리는 이미 닮은 무리가 아닙니다.
운영은 끝난 실험을 조직에 남기는 갈래이고 한 자리가 있습니다.
실험 기록은 무엇을 왜 바꿔 봤고 결과가 어땠는지를 한 곳에 모아 둔 문서입니다. 이긴 실험만 적으면 기록으로서 쓸모가 없어집니다. 실험은 원래 대부분 지거나 차이가 없는 쪽으로 끝나기 때문에, 진 결과야말로 다음 사람이 같은 자리를 다시 파는 것을 막아 줍니다. 1년 뒤에 새로 들어온 사람이 가입 화면 문구를 바꾸자고 제안했을 때, 그 제안이 여덟 달 전에 이미 돌아갔고 차이가 없었다는 사실을 30초 만에 확인할 수 있으면 됩니다.
세 갈래는 시간 순서로 이어집니다. 설계가 시작 전에 할 일을 정하고, 위험이 도는 동안과 판정하는 자리에서 발을 걸고, 운영이 끝난 뒤에 남깁니다. 앞의 둘만 하고 마지막을 건너뛰는 팀이 많은데, 그러면 실험을 300번 돌리고도 조직에 쌓인 것은 지금 켜져 있는 화면뿐입니다.
실무 용례
"이건 상관까지만 말할 수 있어요. 인과로 쓰려면 실험을 걸어야 합니다."
지금 있는 기록으로는 함께 움직였다는 것까지만 확인되니, 원인이라고 부르려면 갈라서 해 봐야 한다는 제동입니다.
"지금 실험군이 앞서긴 하는데 아직 이틀 더 돌려야 해요."
중간 결과가 좋아 보여도 미리 정한 기간을 채우기 전에는 판정하지 않겠다는 뜻입니다.
"이번 실험은 차이 없음으로 끝났고, 그대로 기록에 남겼습니다."
성과가 없었다는 보고가 아니라, 이 방향은 효과가 없다는 사실을 확인했으니 다음 사람이 다시 파지 말라는 뜻입니다.
페이지덱에서는 가입 첫 화면을 두고 이 절차가 한 바퀴 돌았습니다. 지현은 가입 직후에 빈 화면 대신 예시 문서를 하나 띄워 주면 첫 문서를 만드는 사람이 늘 것이라고 봤습니다. 근거는 첫날 문서를 만든 계정이 4주 뒤에 훨씬 많이 남아 있다는 관찰이었습니다.
태오가 먼저 물은 것은 그 관찰이 인과인지였습니다. 첫날 문서를 만든 사람이 원래 의욕이 있던 사람일 수도 있으니, 밀어 준다고 같은 결과가 나온다는 보장은 없다는 것이었습니다. 두 사람은 계산부터 했습니다. 지금 전환율이 34퍼센트인데 이것이 39퍼센트로 오르면 화면을 바꾸겠다고 정하고, 그 차이를 잡으려면 한 갈래에 6,000명이 필요하다는 값을 얻었습니다. 하루 가입이 800명이니 두 갈래를 채우는 데 보름입니다.
보름 동안은 숫자를 보지 않기로 했습니다. 현우가 닷새째에 실험군이 앞선다고 전했지만 판정은 미뤘고, 실제로 열흘째에는 순서가 뒤집혀 있었습니다. 보름 뒤 최종 결과는 34퍼센트와 36퍼센트였습니다. 미리 정한 기준에 못 미쳤으므로 화면은 그대로 두었고, 지현은 예시 문서 방식으로는 이만큼밖에 못 움직였다는 문장과 숫자를 기록에 남겼습니다.
흔한 오해
이기는 안을 찾아내는 절차라고 여기는 경우가 가장 많습니다. 실험 결과를 공유하는 자리에서는 대개 성공한 사례가 소개되고, 그 자리에 오지 못한 나머지는 보이지 않으니 비율을 잘못 짐작하게 됩니다. 실제로는 돌린 실험의 열에 일고여덟이 지거나 차이 없음으로 끝납니다. 이 사실을 받아들이지 않으면 팀은 결과를 다르게 다루기 시작합니다. 진 실험은 공유하지 않고, 애매한 결과에서 이긴 구간만 골라내고, 특정 사용자 무리에서만 좋았다는 식으로 다시 자릅니다. 그렇게 고른 숫자는 다음 분기에 재현되지 않습니다. 실험이 실제로 주는 것은 승리가 아니라 틀린 방향을 싸게 접을 기회입니다. 두 주짜리 실험으로 접은 방향은 반년짜리 개발로 접었을 때보다 열두 배 쌉니다.
무엇이든 이 방법으로 정할 수 있다고 믿는 것도 흔합니다. 데이터로 결정한다는 말이 그럴듯하게 들리고, 도구에서 실험을 켜는 일 자체는 버튼 몇 번이면 되기 때문입니다. 그러나 이 방법에는 사람 수라는 조건이 붙습니다. 하루 방문이 200명인 서비스에서 3퍼센트 차이를 잡으려면 몇 달이 걸리고, 그 몇 달 동안 제품의 다른 것들이 계속 바뀌어 비교 자체가 무너집니다. 되돌리기 어려운 결정에도 쓸 수 없습니다. 요금 구조를 통째로 바꾸거나 회사 이름을 바꾸는 일은 절반에게만 보여 줄 수가 없습니다. 이 한계를 모르고 모든 결정을 실험 뒤로 미루면 결론이 나지 않는 실험을 석 달 돌리는 동안 아무것도 정해지지 않습니다. 사람 수가 부족한 팀은 사용자 다섯 명을 앉혀 놓고 화면을 쓰게 해 보는 쪽이 같은 2주에 훨씬 많은 것을 알아냅니다.
같이 보면 좋은 페이지
하위 용어
마지막 업데이트 2026-09-16