B2B에선 왜 깔끔한 A/B보다 빠른 묶음 실험인가

들어가며

B2B 제품의 온보딩을 개선하려는 팀이 있다. 디자이너가 실험 계획을 세운다. 첫 화면 버튼 문구만 바꿔 A/B 테스트를 돌리고, 다음엔 입력 폼 순서만 바꿔 또 돌리고, 그다음엔 안내 문구만 바꿔 또 돌린다. 한 번에 한 군데씩, 무엇이 효과가 있었는지 깔끔하게 알아내는 정석대로다.

그런데 데이터 담당자가 계산기를 두드려 보더니 말한다.

데이터 담당자: “우리 이 화면 주간 방문이 400명인데요. 버튼 문구 하나로 전환율 1%p 차이를 잡으려면, 유의성 나오는 데 몇 달 걸려요.” 디자이너: “몇 달이요? 그럼 세 개 순서대로 하면 일 년이 넘잖아요.”

이 장면이 B2B 실험의 현실이다. B2C에서 잘 통하는 방식, 그러니까 변인 하나만 바꿔 그 효과를 깔끔하게 분리하는 A/B 테스트가, B2B에서는 잘 안 돌아간다. 사용자가 적어서다. 그래서 B2B에서는 방향을 바꿔야 한다. 변인 하나를 정밀하게 분리하기보다, 여러 군데를 한꺼번에 바꾼 하나의 큰 변형을 통째로 대조군과 겨루고 주요 지표가 움직이는지를 본다. 이 글에서는 이런 방식을 묶음 실험이라고 부르겠다. 한 가지 짚어둘 게 있다. 이건 실험설계에서 말하는 정식 다변량 테스트(multivariate testing)와는 정반대다. 정식 다변량 테스트는 요소들의 조합을 여러 갈래로 나눠 각 요소가 따로 얼마나 기여했는지 분리해내는 설계라, 오히려 표본이 더 많이 든다. 여기서 말하는 묶음 실험은 반대로, 여러 변경을 하나로 묶어 귀인을 포기하는 대신 적은 표본으로 큰 신호를 얻는 방식이다. 이 글은 왜 B2B에서 이렇게 해야 하는지, 그리고 그렇게 할 때 뭘 조심해야 하는지 정리한다.

표본이 근본적으로 부족하다

가장 큰 이유는 숫자다. B2B는 사용자와 계정 수가 B2C의 수천분의 일이다. B2C 서비스가 하루에 수십만 명을 실험에 태울 때, B2B는 한 주에 수백 명이 고작인 경우가 흔하다.

이게 왜 문제인지는 이 블로그에서 다룬 표본 크기와 검정력 이야기로 바로 이어진다. 변인 하나의 효과를 깔끔하게 분리하려면, 각 변형에 충분한 표본이 쌓여서 검정력(statistical power)이 확보돼야 한다. 그런데 검출하려는 차이가 작을수록 필요한 표본은 급격히 커진다. 버튼 문구 하나가 만드는 차이는 대개 작고, 그 작은 차이를 잡으려면 표본이 아주 많아야 한다. B2B에는 그만한 표본이 없다.

결과가 어떻게 되냐면, 작은 단일 변인 A/B는 대부분 무승부로 끝난다. 진짜로 효과가 없어서가 아니라, 효과가 있어도 표본이 부족해 통계적으로 잡아내지 못하는 것이다. 실제로 존재하는 차이를 표본이 작아서 놓치는 이 상황을 2종 오류라고 부른다. B2B에서 깔끔한 A/B만 고집하면, 좋은 변경도 무승부로 판정돼 버려지기 쉽다.

그래서 방향을 바꾼다. 변인 하나가 만드는 작은 신호를 잡으려 애쓰는 대신, 여러 군데를 한꺼번에 바꿔 신호 자체를 크게 만든다. 버튼 문구, 폼 순서, 안내 문구를 한 번에 다 바꾼 새 온보딩을 통째로 기존과 겨룬다. 방향이 같은 작은 차이 여러 개가 합쳐지면 대개 전체 차이가 커지고, 적은 표본으로도 방향이 보인다.

학습 속도가 귀인 정밀도를 이긴다

여기서 자연스러운 반론이 나온다. 여러 군데를 한꺼번에 바꾸면, 이겼을 때 그중 뭐가 효과였는지 모르지 않냐고. 맞는 말이다. 묶음 실험은 어느 요소가 먹혔는지 정밀하게 짚어내지 못한다. 그런데 B2B에서는 그 정밀함의 우선순위가 낮다.

이유는 이렇다. 우리가 실험으로 진짜 알고 싶은 건 대개 주요 지표가 움직였는가다. 온보딩이라면 활성화율, 제품 전체라면 유지율이나 계정 확장. 어느 버튼이 정확히 몇 %p 기여했는지는 그다음 문제다. 새 온보딩이 활성화율을 확실히 끌어올렸다면, 일단 그걸 내보내고 사업을 전진시키는 게 먼저다. 어느 요소가 핵심이었는지는 나중에 하나씩 떼어내며 분해해도 된다.

특히 B2B는 계약과 도입 사이클이 길다. 변인 하나마다 몇 달씩 기다리는 정밀 실험을 순서대로 돌리면, 결론이 나올 때쯤엔 시장도 제품도 이미 바뀌어 있다. 정밀한 귀인을 얻는 값보다, 빠르게 배워서 다음 결정으로 넘어가는 값이 더 크다. 쉽게 말해, 정확히 아는 것보다 빨리 아는 게 이기는 판이다.

크게 묶어 걸어 국소 최적을 벗어난다

묶음 실험에는 표본 문제를 넘어서는 이점이 하나 더 있다. 이 블로그에서 다룬 국소 최적(local optimum) 이야기와 연결된다.

변인 하나씩 바꿔 조금이라도 나은 쪽으로만 가는 방식은 언덕 오르기다. 지금 있는 자리에서 한 발씩 위로 올라가다 어떤 봉우리 정상에 닿으면 멈춘다. 문제는 그 봉우리가 가장 높은 봉우리라는 보장이 없다는 거다. 화면 구조를 통째로 다시 짜면 훨씬 높은 산이 있을 수 있는데, 한 군데씩 바꾸는 방식으로는 그 산으로 건너가지 못한다.

여기서 묶음 실험이 성격이 다른 두 가지 일을 한다는 걸 갈라둬야 한다. 하나는 같은 방향의 작은 개선 여러 개를 묶어 순효과를 키우는 것이다. 앞 절에서 본, 적은 표본으로 빨리 판정하려는 용도다. 다른 하나는 화면 구조를 통째로 갈아엎어 골짜기 너머 다른 봉우리로 건너뛰는 것이다. 이건 국소 최적을 벗어나려는 용도인데, 시간 함의가 정반대다. 큰 구조 변경은 형제 글에서 봤듯 초기엔 대개 지고, 노벨티 효과가 빠질 때까지 몇 주 단위로 지켜봐야 방향이 보인다. 그러니 이 두 번째 용도의 실험은 빨리 끊으면 안 된다.

B2B가 이 국소 최적에 특히 취약한 건 맞다. 느린 점진 최적화를 돌릴 트래픽도 시간도 없으니, 작은 A/B만 반복하다 낮은 봉우리에 눌러앉기 쉽다. 그래서 가끔은 구조를 통째로 갈아엎는 큰 베팅이 필요하다. 여기서 빠르다는 말의 정체도 분명히 해두자. 변인 하나씩 직렬로 줄 세워 몇 달씩 순서를 기다리던 대기열을 없앤다는 뜻이지, 개별 실험을 짧게 끊는다는 뜻이 아니다. 구조를 갈아엎은 실험은 오히려 더 오래 지켜봐야 한다.

평균보다 세그먼트가 중요하다

B2B에서 묶음 실험과 주요 지표를 보는 또 다른 이유는 사용자가 극단적으로 이질적이기 때문이다. 같은 제품을 쓰는 사람이 관리자, 실무자, 결재자로 나뉘고, 열 명짜리 회사와 천 명짜리 회사가 같은 화면을 쓴다. 이들에게 같은 변경이 같은 효과를 낼 리 없다.

그래서 이 블로그에서 다룬 이질적 처치 효과(heterogeneous treatment effect) 이야기가 B2B에서 특히 크게 작동한다. 전체 평균 효과는 여러 집단의 상반된 반응이 상쇄돼 무승부로 보여도, 우리가 겨냥한 특정 세그먼트에서는 주요 지표가 크게 움직였을 수 있다. 그러니 전체 평균 하나만 보고 판단하면 안 된다. 우리가 이번에 잡으려 한 세그먼트에서 주요 지표가 움직였는지를 봐야 한다.

다만 여기엔 함정이 둘 붙는다. 하나는 이렇다. 결과를 받아 든 뒤에 세그먼트를 이리저리 쪼개다 유의하게 나온 하나를 골라잡으면, 그건 다중비교 문제로 우연을 실력으로 착각하는 것이다. 그러니 어느 세그먼트를 볼지는 실험 전에 정해둬야 한다. 사후에 찾은 세그먼트는 가설일 뿐, 다음 실험에서 다시 확인하기 전까지는 결론이 아니다.

다른 하나는 검정력이다. 세그먼트로 쪼갤수록 그 안의 표본은 더 얇아진다. 원래도 부족하던 검정력이 세그먼트 안에서는 더 나빠진다는 뜻이다. 그래서 결국 같은 처방으로 돌아온다. 세그먼트 안에서도 변경을 묶어 신호를 키우고, 숫자로 부족한 부분은 그 세그먼트 고객을 직접 만나 메운다.

정성 신호가 정량의 빈자리를 메운다

정량 A/B가 B2B에서 약한 만큼, 그 빈자리를 메우는 게 있다. 정성 신호다. B2B는 고객 수가 적고 한 명 한 명이 고가치라, B2C처럼 익명의 수십만 명이 아니라 얼굴 아는 수백 개의 계정을 상대한다. 그래서 왜 지표가 움직였는지를 통계로 캐내지 않아도, 고객 인터뷰, 세일즈와 CS가 듣는 목소리, 직접 관찰로 안다.

이게 중요한 이유는, 묶음 실험이 못 주는 귀인의 상당 부분을 정성 조사가 채우기 때문이다. 새 온보딩이 이겼는데 어느 요소가 핵심이었는지 숫자로는 모를 때, 사용자 다섯 명만 인터뷰해도 대개 어디서 막혔고 어디서 편해졌는지 감이 잡힌다. B2C가 통계로 인과를 추정해야 하는 자리를, B2B는 사람에게 직접 물어서 메운다. 정량 실험은 방향을 재는 자에 가깝고, 그 방향이 왜 나왔는지는 정성이 설명한다.

단, 공짜는 아니다

지금까지의 이야기가 아무 실험이나 대충 돌리고 지표만 보면 된다는 뜻은 아니다. 빠른 묶음 실험과 주요 지표 관찰은 강력하지만, 이 블로그에서 다룬 함정들을 그대로 안고 간다. 넷을 특히 조심해야 한다.

첫째, 주요 지표를 목표로만 삼으면 굿하트의 법칙에 걸린다. 대리 지표(proxy metric) 하나를 올리는 데만 몰두하면, 그 지표는 올라가는데 진짜 목표는 깎이는 지름길이 나타난다. 그래서 이번 실험으로 올릴 지표 옆에, 절대 해쳐선 안 되는 가드레일 지표(guardrail metric)를 같이 걸어둔다. 활성화율을 올리는 실험이라면 유지율이나 이탈률을 가드레일로 둔다.

둘째, 큰 묶음 변경일수록 노벨티 효과와 변화 저항이 크다. 새것이라 잠깐 지표가 튀거나, 익숙함이 깨져 잠깐 떨어진다. 초기 며칠 숫자로 결론 내지 말고, 시간 추세가 평평해진 뒤에 판정한다.

셋째, 지표가 움직이는 걸 매일 들여다보다 유의해지는 순간 멈추면, 거짓양성이 쌓인다. 표본이 부족한 B2B에서는 이 유혹이 더 크다. 그러니 언제 판정할지를 실험 전에 정해둔다.

넷째, 묶음 실험은 귀인을 안 준다는 걸 잊지 않는다. 뭐가 먹혔는지 정말 알아야 하는 소수의 핵심 결정은, 표본이 허락하는 선에서 나중에 정밀 A/B로 하나씩 확정한다.

정리하면 실전은 2단 구조다. 탐색 단계에서는 빠른 묶음 실험으로 크게 걸어 주요 지표와 가드레일을 보고, 확정 단계에서는 정말 중요한 소수 결정만 정밀 A/B로 굳힌다. B2B는 표본 제약 때문에 무게추가 앞쪽 탐색에 크게 실릴 뿐이다.

마무리

들어가며의 계산기로 돌아가자. 버튼 문구 하나로 1%p를 잡는 데 몇 달이 걸린다는 그 계산. B2B에서 그 몇 달은 대개 쓸 수 없는 시간이다. 표본이 부족해 작은 차이는 어차피 무승부로 나오고, 변인 하나씩 기다리다 보면 판이 먼저 바뀐다.

그래서 B2B의 실험은 질문을 바꾼다. 이 변경 중 정확히 뭐가 효과였나가 아니라, 이 큰 변경이 우리가 겨냥한 세그먼트의 주요 지표를 움직였나를 먼저 묻는다. 여러 군데를 한꺼번에 바꿔 신호를 크게 만들고, 가드레일로 옆구리를 지키고, 왜 그랬는지는 고객에게 직접 묻는다. 정밀한 귀인은 나중에, 정말 필요한 소수 결정에만 남겨둔다. 표본이 적다는 B2B의 제약은 실험을 못 하게 만드는 게 아니라, 실험하는 방식을 바꾸게 만든다.