코호트 분석이란 무엇인가? 정의, 예시 및 실행 방법 (2026)

코호트 분석은 사용자를 가입 시기별로 그룹화한 다음, 각 그룹을 시간에 따라 개별적으로 추적합니다. 모든 사용자를 합친 하나의 평균 수치 대신, 가입 월별로 하나의 선을 얻게 됩니다. 이러한 구분이 핵심입니다. 왜냐하면 지금 유입되는 사람들에게 제품이 더 나아지고 있는지 아니면 나빠지고 있는지를 보여주기 때문입니다.
이 가이드에서는 코호트 분석의 정의, 단순 평균이 오해를 불러일으키는 이유, 삼각형 표를 읽는 방법을 다룹니다. 또한 두 가지 주요 코호트 유형과 코호트 보고서를 왜곡하는 흔한 실수들도 함께 살펴봅니다.
코호트 분석이란 무엇인가요?
코호트란 동일한 기간 동안 특정 시작 이벤트를 공유하는 사람들의 집합입니다. 예를 들어, 3월에 가입한 모든 사람은 '3월 코호트'가 되고, 2분기에 첫 구매를 한 모든 사람은 '2분기 코호트'가 됩니다.
코호트 분석은 이러한 각 그룹을 동일한 시간 기준으로 측정합니다. 달력상의 '2026년 3월 대 2026년 4월'이 아니라, 각 그룹의 시작일로부터 '첫째 달 대 둘째 달'을 비교하는 것입니다. 이러한 기준의 전환 덕분에 공정한 비교가 가능해집니다.
분석 결과는 보통 삼각형 모양의 표로 나타납니다. 행은 시작한 순서대로 정렬된 코호트이고, 열은 시작 이후 경과된 시간입니다. 가장 최근 코호트는 이제 첫째 달에만 도달한 반면, 가장 오래된 코호트는 전체 기간의 데이터를 모두 가지고 있기 때문에 삼각형 모양이 만들어집니다.
전체 평균이 문제를 감추는 이유
다음은 코호트 분석이 포착하고자 하는 상황의 예시입니다.
| 코호트 | 사용자 수 | 1개월 차 리텐션 | 3개월 차 리텐션 |
|---|---|---|---|
| 1월 | 1,000 | 45% | 28% |
| 2월 | 1,600 | 41% | 25% |
| 3월 | 2,400 | 36% | 21% |
| 4월 | 3,600 | 30% | — |
이 예시에서는 총 활성 사용자 수가 매달 성장했습니다. 월간 활성 사용자를 추적하는 대시보드는 매우 훌륭해 보일 것입니다. 하지만 이러한 성장은 새로운 그룹의 리텐션이 이전 그룹보다 계속해서 나빠지고 있는 제품의 문제를 가리고 있습니다.
단순 합산된 리텐션 수치도 같은 이유로 문제를 감춥니다. 매달의 평균은 가장 규모가 큰 코호트에 의해 좌우되는데, 가장 큰 코호트는 항상 가장 최근에 유입된 그룹입니다. 구성 비율이 계속해서 변하는 수치에서는 진정한 트렌드를 읽어낼 수 없습니다.
코호트는 데이터를 합산하지 않음으로써 이 문제를 해결합니다. 1월 코호트의 1개월 차 리텐션은 영원히 45%로 유지됩니다. 4월 코호트의 리텐션이 30%로 떨어졌을 때, 하락세는 명백하게 드러납니다.
코호트 표를 읽는 방법
행은 코호트, 열은 경과 시간
각 행은 시작 시기에 따라 정의된 그룹입니다. 각 열은 달력상의 날짜가 아니라 시작 이후 경과된 시간입니다. 0개월 차(Month 0)는 시작 기간을 의미하며 거의 항상 100%입니다.
열을 아래로 내려 읽으며 개선 여부 판단하기
이것은 가장 유용하지만 사람들이 자주 놓치는 방향입니다. 1개월 차 열을 고정한 뒤 위에서 아래로 읽어보세요. 아래로 내려갈수록 숫자가 떨어진다면, 새로운 그룹일수록 이전 그룹보다 리텐션이 나쁘다는 뜻입니다. 이는 제품이나 사용자 획득(acquisition) 단계의 문제이며, 바로 지금 발생하고 있는 현상입니다.
행을 가로로 읽으며 한 그룹의 이탈 추이 확인하기
단일 행은 하나의 코호트가 이탈하는 형태를 보여줍니다. 대부분의 제품은 첫 번째 기간에 급격히 감소한 다음 평탄해집니다. 이 평탄해지는 지점이 급격한 감소보다 더 중요합니다. 왜냐하면 이 지점이 장기적으로 유지되는 사용자의 비율을 대변하기 때문입니다.
대각선은 달력상의 시점
동일한 대각선상에 있는 모든 데이터는 달력상 같은 달에 일어난 일입니다. 서비스 장애나 가격 변동처럼 특정 대각선에 영향을 미치는 충격은 경과 시간과 관계없이 모든 코호트에 동시에 영향을 미칩니다. 나쁜 수치가 특정 열이 아니라 대각선을 따라 나타난다면, 원인은 코호트 자체의 품질 차이가 아니라 특정 이벤트 때문입니다.
획득 코호트와 행동 코호트
획득 코호트는 사용자가 가입한 시기를 기준으로 그룹화합니다. 가입 월이 기본 기준이 됩니다. 이를 통해 지금 유입되는 사람들이 이전에 유입된 사람들보다 더 나은지 혹은 더 나쁜지 파악할 수 있습니다.
행동 코호트는 사용자가 수행한 행동을 기준으로 그룹화합니다. 예를 들어 첫 주에 연동 기능을 연결한 사용자와 그렇지 않은 사용자를 비교하는 식입니다. 이를 통해 어떤 초기 행동이 잔존율을 예측하는지 파악할 수 있습니다.
두 코호트는 서로 다른 역할을 합니다. 획득 코호트는 시간에 따른 방향성을 진단합니다. 행동 코호트는 무엇을 바꾸어야 할지 짚어줍니다. 첫 번째 종류만 구축하는 팀은 지표가 하락하는 것은 보면서도 무엇을 해야 할지 모를 수 있습니다.
세 번째 변형인 규모 또는 요금제 코호트는 계정 등급별로 그룹화합니다. 이는 엔터프라이즈 고객과 셀프서비스 고객의 행동이 완전히 다르고, 합산된 곡선이 어느 쪽도 제대로 대변하지 못할 때 유용합니다.
수동으로 코호트 분석 구축하기
수동 방식도 작동하며, 나중에 자동화하더라도 한 번쯤 원리를 이해해 둘 가치가 있습니다.
사용자 이벤트당 하나의 행을 확보합니다. 사용자 식별자, 가입일 또는 첫 구매일, 그리고 이후 활동 날짜가 필요합니다. 요약된 표는 코호트로 변환할 수 없습니다. 그룹화가 행 수준에서 일어나기 때문입니다.
코호트 열을 추가합니다. 가입일을 월 단위로 자릅니다. 이제 모든 사용자는 자신이 속한 그룹의 라벨을 갖게 됩니다.
기간 인덱스(period-index) 열을 추가합니다. 각 활동 행에 대해 가입 월과 활동 월 사이의 개월 수를 계산합니다. 이것이 최종 표에서 열의 위치가 됩니다.
피벗 테이블을 만듭니다. 세로축에는 코호트 월을, 가로축에는 기간 인덱스를 두고, 값에는 고유 사용자 수를 넣습니다. Microsoft의 피벗 테이블 만들기 페이지에서 구체적인 방법을 다루고 있습니다.
수치를 백분율로 변환합니다. 각 셀의 값을 해당 행의 0개월 차(month-0) 수치로 나눕니다. 절대적인 사용자 수는 규모가 다른 코호트 간에 비교하기 어렵습니다.
이 단계 중 어려운 것은 없습니다. 하지만 새로운 데이터가 들어올 때마다 이 다섯 단계를 매번 반복해야 하며, 날짜 형식이 바뀔 때마다 기간 인덱스 계산이 깨지기 쉽습니다.
Powerdrill Bloom으로 구축하는 방법
사용자 데이터가 이미 내보내기 파일로 준비되어 있다면 피벗 테이블을 구성하는 과정은 건너뛸 수 있습니다.
1단계: 사용자 데이터 업로드
가입 및 활동 이벤트가 포함된 Excel, CSV 또는 TSV 내보내기 파일을 드래그 앤 드롭합니다. 여러 파일을 함께 로드할 수 있으므로 사용자 파일과 이벤트 파일을 한 번에 병합할 수 있습니다. 업로드 시 열 감지 및 날짜 파싱이 자동으로 수행되는데, 이 부분은 보통 수동 작업에서 가장 자주 오류가 발생하는 지점입니다.
2단계: 자연어로 코호트 설명하기
그룹화하고 측정하려는 내용을 말로 표현해 보세요. 예: "사용자를 가입 월별로 그룹화하고, 처음 12개월 동안의 월간 리텐션을 백분율로 보여줘." 에이전트가 코호트 열을 생성하고, 기간 인덱스를 계산하여 표를 만들어 줍니다. 행동 코호트나 주 단위 분석을 요청하더라도 원본 데이터를 직접 재구성할 필요 없이 에이전트가 알아서 다시 구축해 줍니다.
3단계: 차트, 보고서 또는 슬라이드 내보내기
차트로 내보내거나, 서면 요약본에 포함하거나, 캔버스를 검토용 슬라이드로 변환할 수 있습니다. Professional, Business, Fancy 스타일은 PowerPoint나 Notion으로 내보낼 수 있습니다. 시각화 자료에 대한 자세한 내용은 코호트 리텐션 차트 만드는 방법을 참고하시고, 동일한 업로드 파일로 다른 유형의 차트를 만들려면 AI graph maker를 확인해 보세요.
자주 하는 실수들
잘못된 시간 단위(grain) 선택. 매일 사용하는 제품에 월간 코호트를 적용하면 첫째 주의 흥미로운 변화를 모두 놓치게 됩니다. 반대로 분기별로 사용하는 제품에 주간 또는 일간 코호트를 적용하면 노이즈만 발생합니다. 제품의 자연스러운 사용 주기에 맞춰 단위를 설정하세요.
열은 무시하고 행만 읽기. 행은 한 그룹이 어떻게 이탈했는지 알려줍니다. 열은 제품이 개선되고 있는지 알려줍니다. 실제로 행동을 취할 수 있는 인사이트는 열에서 나옵니다.
불완전한 코호트 비교하기. 가장 최근 코호트는 아직 6개월 차 데이터가 쌓일 만큼 시간이 지나지 않았습니다. 표에 빈 셀이나 불완전한 셀을 그대로 두면, 누군가는 낮은 수치를 보고 지표가 폭락한 것으로 오해할 수 있습니다.
의미를 갖기에는 너무 작은 코호트 규모. 사용자가 40명뿐인 코호트는 단 몇 명의 행동에 따라 리텐션 백분율이 요동칩니다. 분석 기간을 넓히거나, 해당 행은 대략적인 방향성만 보여주는 것으로 받아들여야 합니다.
코호트 규모를 표시하지 않고 보고하기. 분모가 없는 백분율은 매번 오해를 불러일으킵니다. 첫 번째 열에 0개월 차(month-0) 사용자 수를 명시하세요.
리텐션을 모호하게 정의하기. '활성(Active)' 상태는 구체적인 한 가지를 의미해야 합니다. 단순히 로그인하는 것과 핵심 행동을 완료하는 것은 완전히 다른 정의이며, 기간마다 이를 혼용하면 표는 무의미해집니다.
요약
코호트 분석은 사용자를 시작 시기별로 분리하여 성장이 이탈을 가리지 못하게 합니다. 열을 아래로 읽으며 새로운 그룹이 이전 그룹보다 더 나은 성과를 내고 있는지 확인하세요. 행을 가로로 읽으며 단일 그룹이 어떻게 이탈하고 어느 지점에서 평탄해지는지 확인하세요.
구축 과정은 데이터가 갱신될 때마다 반복되는 5가지 기계적인 단계로 이루어집니다. Powerdrill Bloom 무료 체험하기 — 사용자 내보내기 파일을 업로드하고, 자연어로 코호트를 설명한 뒤, 표를 슬라이드 덱으로 바로 내보낼 수 있습니다. 도구 비교를 원하시면 코호트 분석을 위한 AI 도구들을 참고하세요.
자주 묻는 질문
코호트 분석은 어떤 용도로 사용되나요?
이전에 가입한 사람들과 비교하여 지금 가입하는 사람들에게 제품이 개선되고 있는지 보여줍니다. 흔히 리텐션 추적, 이탈(churn) 원인 진단, 온보딩 변경 효과 측정, 그리고 양적인 측면이 아닌 질적인 측면에서의 사용자 획득 채널 비교 등에 사용됩니다.
코호트와 세그먼트의 차이점은 무엇인가요?
코호트는 공유된 시작 시점에 의해 정의되며, 구성원이 절대 변하지 않습니다. 반면 세그먼트는 국가나 요금제 같은 속성에 의해 정의되며, 사용자가 세그먼트에 진입하거나 이탈할 수 있습니다. 코호트는 시간에 따른 변화를 추적하고, 세그먼트는 현재 시점의 인구 통계적 특성을 설명합니다.
코호트 분석 기간은 어떻게 선택해야 하나요?
사람들이 제품을 얼마나 자주 사용하는지에 맞추어야 합니다. 사용 빈도가 높은 제품에는 일간 또는 주간 코호트가 적합하고, 구독이나 구매 주기에는 월간 코호트가 적합합니다. 만약 첫 번째 열이 나타나기도 전에 대부분의 이탈이 발생한다면, 분석 단위가 너무 넓은 것입니다.
Excel에서 코호트 분석을 할 수 있나요?
네, 가능합니다. 이벤트 행에 코호트 월 열과 기간 인덱스 열을 추가합니다. 코호트를 세로축에, 기간 인덱스를 가로축에 두고 고유 사용자 수로 피벗 테이블을 만든 다음, 각 셀을 해당 행의 시작 사용자 수로 나눕니다. 계산 자체는 간단하지만, 매번 반복해야 하므로 번거롭습니다.
좋은 리텐션율(유지율)의 기준은 무엇인가요?
카테고리별로 편차가 너무 크기 때문에 단일 벤치마크 수치를 참고하는 것은 도움이 되지 않습니다. 대신 본인의 코호트끼리 서로 비교해 보세요. 계속 떨어지지 않고 평탄해지는 곡선이 나타나는지가 가장 중요한 신호입니다.