코호트 분석
Cohort Analysis
방법
같은 시기에 들어온 사람들을 한 덩어리로 묶고, 그 덩어리끼리 시간에 따라 견주는 분석입니다.
등장 배경
제품이 나아지고 있는지를 전체 평균으로 답하던 시절이 있었습니다. 이번 달에 한 번이라도 들어온 사람의 비율을 재서 지난달과 견주는 식이었습니다. 그런데 이 숫자는 오래 쓴 사람과 어제 가입한 사람을 한 냄비에 넣고 젓습니다. 유입이 늘면 갓 들어온 사람의 비중이 커지면서 비율이 떨어지고, 광고를 멈추면 남아 있던 사람만 남아 비율이 올라갑니다. 제품은 그대로인데 숫자만 움직입니다.
페이지덱도 같은 자리에서 헤맨 적이 있습니다. 두 달 동안 온보딩 화면을 세 번 고쳤는데 전체 재방문율은 34퍼센트에서 33퍼센트로 오히려 내려가 있었습니다. 고친 것이 소용없었다고 결론 내리기 직전에, 같은 기간 신규 가입이 두 배로 늘었다는 사실이 떠올랐습니다. 새로 들어온 사람은 아직 제품에 익숙해질 시간이 없었으니 평균을 끌어내리는 것이 당연했습니다.
코호트 분석은 이 뒤섞임을 막으려고 사람을 들어온 시기로 나눠 세는 방식입니다. 3월에 들어온 사람은 3월 덩어리에만 속하고, 6월에 들어온 사람은 6월 덩어리에만 속합니다. 그리고 두 덩어리의 같은 시점, 이를테면 각자의 3개월째 숫자를 나란히 놓습니다. 3월이 40퍼센트이고 6월이 18퍼센트라면 그사이에 무언가 달라진 것이고, 그 무언가를 찾는 일이 다음 순서가 됩니다.
사용 절차
묶는 기준을 먼저 정하고, 그 덩어리를 시간축에 늘어놓은 다음, 가로와 세로로 나눠 읽습니다. 순서는 다섯 단계입니다.
- 묶는 기준을 정합니다. 가장 흔한 것은 가입 시기이지만 유입 경로나 처음 고른 요금제로 묶어도 됩니다. 기준이 곧 답할 수 있는 질문의 범위입니다.
- 덩어리의 폭을 정합니다. 주 단위로 묶으면 변화가 빨리 보이는 대신 한 덩어리에 담기는 사람이 적어지고, 월 단위로 묶으면 반대가 됩니다.
- 무엇을 셀지 정합니다. 돌아왔다는 판정을 로그인으로 할지 문서를 열어야 할지에 따라 숫자가 두 배까지 벌어집니다. 페이지덱은 문서를 열거나 고친 것을 기준으로 삼습니다.
- 관찰할 구간을 정합니다. 1주차·2주차·4주차·8주차처럼 미리 정해 두고 모든 덩어리를 같은 자리에서 잽니다.
- 표로 늘어놓습니다. 세로는 들어온 시기, 가로는 그로부터 몇 주가 지났는지입니다.
읽는 방향은 둘입니다. 가로로 읽으면 한 덩어리가 시간이 지나며 어떻게 빠지는지가 보입니다. 3월 덩어리가 100·62·48·41·40으로 내려가다 멈췄다면 그 40퍼센트가 이 제품을 계속 쓸 이유를 찾은 몫입니다. 세로로 읽으면 여러 덩어리의 같은 주차가 위아래로 놓입니다. 4주차 칸이 위에서 아래로 48·44·39로 내려오고 있다면 최근에 들어온 사람일수록 빨리 떠난다는 뜻입니다.
두 방향을 같이 봐야 답이 나옵니다. 가로만 보면 원래 그런 제품인지 나빠진 것인지 알 수 없고, 세로만 보면 언제 떠나는지를 놓칩니다.
적합한 상황과 한계
효과가 나타나는 데 시간이 걸리는 변화를 확인할 때 맞습니다. 온보딩을 고쳤다면 그 뒤에 들어온 덩어리가 4주를 채울 때까지 기다렸다가 이전 덩어리의 4주차와 견주면 됩니다. 유입 경로의 질을 견줄 때도 같은 방식을 씁니다. 광고로 들어온 덩어리와 검색으로 들어온 덩어리의 8주차를 놓고 보면, 가입 단가가 싸도 금방 떠나는 경로가 드러납니다.
한계는 셋입니다. 첫째로 덩어리가 작으면 읽을 수 없습니다. 한 덩어리가 40명이면 한 사람이 2.5퍼센트포인트를 움직이므로 오르내림이 대부분 우연입니다. 최소 수백 명이 모이도록 폭을 넓히는 편이 낫습니다.
둘째로 최근 덩어리는 아직 칸이 비어 있습니다. 지난주에 들어온 사람에게는 4주차가 없습니다. 이 빈칸을 0으로 채우거나 평균에 넣으면 최근으로 올수록 숫자가 나빠 보이는 착시가 생깁니다. 채워진 칸끼리만 견줍니다.
셋째로 무엇이 달라졌는지는 말해 주지 않습니다. 6월 덩어리가 나쁘다는 사실까지만 보여 주고, 그것이 유입 경로 탓인지 제품 변경 탓인지 계절 탓인지는 따로 찾아야 합니다. 연말에 들어온 사람이 1월에 조용한 것은 제품 문제가 아니라 달력 문제일 수 있습니다.
실무 용례
"전체 평균 말고 코호트로 잘라서 보여 주세요."
신규와 기존이 섞인 숫자로는 판단할 수 없으니 들어온 시기로 나누자는 뜻입니다.
"9월 코호트 4주차가 아직 안 찼어요. 다음 주에 다시 보죠."
관찰 구간이 끝나지 않은 덩어리를 비교에 넣지 말자는 말입니다.
"광고 코호트가 검색 코호트보다 2주차에서 확 꺾여요."
같은 시점에 두 유입 경로를 견줘 광고로 온 사람이 더 빨리 떠난다고 짚는 말입니다.
페이지덱의 월요일 회의에서 현우가 주간 코호트 표를 띄웠습니다. 8월 넷째 주 덩어리부터 2주차 숫자가 41퍼센트에서 29퍼센트로 떨어져 있었고, 그 주에 새로 연 광고 캠페인이 하나 있었습니다. 전체 가입자 수만 보면 그 캠페인은 성공이었습니다.
지현이 유입 경로별로 다시 묶어 보자고 했습니다. 갈라 놓고 보니 광고로 들어온 덩어리는 2주차가 17퍼센트였고 나머지는 이전과 같은 43퍼센트였습니다. 제품이 나빠진 것이 아니라 제품과 맞지 않는 사람을 데려오고 있었던 것입니다. 현우는 캠페인의 문구와 타깃을 바꿨습니다.
흔한 오해
코호트를 가입 시기로만 묶는 것이라고 여기는 경우가 많습니다. 처음 접하는 예시가 대부분 월별 가입자 표라서 그 모양을 정의로 받아들이게 됩니다. 하지만 묶는 기준은 시기가 아니라 공통점이고, 첫 결제 요금제나 초대받아 들어왔는지 여부로도 묶을 수 있습니다. 시기로만 묶을 수 있다고 믿으면 답할 수 있는 질문의 절반을 버리는 셈입니다.
리텐션을 볼 때만 쓰는 방법이라고 읽는 것도 흔합니다. 표의 칸에 들어가는 값은 돌아온 비율이어도 되고 1인당 결제액이어도 되고 유료 전환율이어도 됩니다. 3월 덩어리의 6개월째 누적 결제액과 9월 덩어리의 같은 시점을 견주면 매출 쪽 질문에도 같은 틀이 그대로 쓰입니다.
자주 헷갈리는 용어
같이 보면 좋은 페이지
연관 용어
마지막 업데이트 2026-09-16