코호트 리텐션
Cohort Retention
지표
가입 시기가 같은 사람끼리 묶어 시간이 지나며 얼마나 남는지를 잰 값입니다.
등장 배경
돌아오는 사람의 비율을 숫자 하나로 보고하던 시절이 있었습니다. 이번 달 리텐션 32퍼센트, 지난달 33퍼센트 하는 식이었습니다. 문제는 그 숫자를 받아 든 사람이 다음 질문을 할 수 없다는 데 있었습니다. 32퍼센트가 좋은 것인지 나쁜 것인지, 나아지는 중인지 나빠지는 중인지가 그 안에 들어 있지 않았습니다.
페이지덱의 제품 회의에서도 석 달 내리 같은 장면이 반복됐습니다. 지현이 이번 달 리텐션을 띄우면 누군가 "그래서 지난번에 고친 온보딩은 효과가 있었나요" 하고 물었고, 답이 나오지 않았습니다. 그 한 칸에는 3월에 들어온 사람과 어제 들어온 사람이 함께 들어가 있었으니, 무엇이 무엇 때문에 움직였는지 갈라낼 방법이 없었습니다.
코호트 리텐션은 이 숫자를 여러 줄로 펼친 것입니다. 같은 시기에 들어온 사람들을 한 덩어리로 묶어 코호트라고 부르고, 코호트마다 자기 시간표를 따로 씁니다. 9월 첫 주에 들어온 사람들의 4주차와 6월 첫 주에 들어온 사람들의 4주차가 서로 다른 줄에 놓이면, 두 칸을 위아래로 견주는 것만으로 그사이에 제품이 나아졌는지가 보입니다.
계산 방법
코호트 하나를 정해 그 인원을 분모로 고정해 두고, 주차마다 그중 몇 명이 돌아왔는지를 세어 나눕니다. 순서는 다섯 단계입니다.
- 코호트를 자릅니다. 9월 1일부터 7일 사이에 가입한 500명처럼 시작 시점이 같은 사람들을 한 덩어리로 묶습니다.
- 돌아왔다는 것이 무엇인지 정합니다. 페이지덱은 문서를 열거나 고친 것을 기준으로 삼습니다. 로그인만으로 세면 같은 제품에서도 숫자가 훨씬 높게 나옵니다.
- 주차마다 분자를 셉니다. 1주차는 가입 후 8일에서 14일 사이에 돌아온 사람 수입니다.
- 분모는 끝까지 500명 그대로 둡니다. 중간에 떠난 사람을 빼고 다시 세면 매주 분모가 줄어 숫자가 실제보다 좋아집니다.
- 코호트를 위아래로 쌓습니다. 9월 1주, 9월 2주, 9월 3주 순으로 줄이 늘어나고 오른쪽으로 주차가 이어집니다.
9월 첫 주 500명 중 1주차에 320명, 2주차에 225명, 4주차에 165명이 돌아왔다면 그 줄은 64·45·33이 됩니다. 이 표는 늘 삼각형 모양이 됩니다. 아래쪽 줄일수록 시간이 덜 흘러 오른쪽 칸이 비어 있기 때문입니다. 빈칸을 0으로 채우거나 평균에 넣으면 최근으로 올수록 나빠 보이는 착시가 생기므로 채워진 칸끼리만 견줍니다.
한 가지 더 정해 둘 것이 있습니다. 8주 동안 들어오지 않다가 다시 돌아온 복귀 사용자를 그 코호트의 칸에 넣을지 여부입니다. 넣기로 했다면 표 어딘가에 적어 두고 계속 같은 규칙을 씁니다. 중간에 바꾸면 그 전후의 줄을 비교할 수 없게 됩니다.
좋은 수준의 기준
다른 회사의 숫자와 견주는 것은 거의 쓸모가 없습니다. 하루에 몇 번씩 여는 메신저와 1년에 한 번 쓰는 세금 신고 서비스를 같은 눈금에 올릴 수 없습니다. 대신 자기 표 안에서 두 가지를 봅니다.
가로로는 곡선이 평평해지는 자리를 찾습니다. 한 줄이 64·45·33·31·30으로 내려가다 멈췄다면 그 30퍼센트가 이 제품을 계속 쓸 이유를 찾은 몫이고, 유입을 늘린 만큼 쌓이는 층이 생겼다는 뜻입니다. 반대로 45·28·14·6·2처럼 바닥까지 내려가면 아무도 붙들 이유를 못 찾은 것이라, 이 상태에서 광고비를 늘리면 물이 새는 통에 물을 더 붓는 꼴이 됩니다.
세로로는 같은 주차 칸이 위에서 아래로 어떻게 움직이는지를 봅니다. 4주차가 33·35·38로 올라오고 있으면 최근에 들어온 사람일수록 오래 남는다는 뜻이고, 그사이에 한 일 중 무언가가 통한 것입니다. 개선 여부를 이렇게 판단하는 이유는 한 코호트의 등락에는 그 주의 사정이 섞여 있기 때문입니다. 연휴가 낀 주에 들어온 사람은 첫 주차가 낮게 나오는데 그것은 제품과 상관이 없습니다.
새 기능을 연 직후에 숫자가 튀는 것도 조심할 자리입니다. 새로워서 잠깐 좋아 보이는 착시를 신기 효과라고 하는데, 2주만 지나면 원래 자리로 돌아오는 경우가 많습니다. 그래서 판정은 다음 코호트가 같은 주차를 채울 때까지 미룹니다.
실무 용례
"9월 코호트 4주차가 6월보다 5포인트 높아요."
같은 주차끼리 견줘 그사이의 변경이 통했다고 말하는 방식입니다.
"이 줄은 아직 2주차까지밖에 안 찼어요."
관찰 기간이 부족한 코호트를 판단에 넣지 말자는 뜻입니다.
"곡선이 8주차에서 평평해지니까 거기서부터가 진짜 고객이에요."
빠져나갈 사람이 다 빠진 뒤 남은 층을 가리키는 말입니다.
페이지덱이 첫 문서를 만들기까지의 안내를 세 단계에서 한 단계로 줄인 적이 있습니다. 배포한 주가 9월 둘째 주였고, 지현은 그 주 코호트의 1주차 숫자가 64퍼센트에서 71퍼센트로 오른 것을 보고 바로 알리고 싶어 했습니다. 태오가 다음 코호트까지 기다리자고 했습니다.
3주 뒤 표에는 세 줄이 더 쌓였고 1주차가 70·72·69로 유지됐습니다. 4주차 칸도 33에서 39로 올라와 있었습니다. 한 줄만 있었다면 우연과 구분할 수 없었을 숫자가 네 줄이 쌓이면서 변경의 결과로 읽혔습니다.
흔한 오해
칸에 들어갈 숫자가 저절로 정해진다고 여기는 경우가 많습니다. 표 모양이 워낙 익숙해서 세는 방식까지 표 안에 들어 있다고 읽게 됩니다. 하지만 코호트 리텐션은 사람을 묶고 줄을 쌓는 방식이고, 각 칸을 어떻게 채울지는 따로 정해야 합니다. N일 리텐션처럼 정확히 그날에 들어온 사람만 셀 수도 있고, 롤링 리텐션처럼 그 뒤로 한 번이라도 들어왔으면 세는 방식을 쓸 수도 있습니다. 후자가 언제나 높게 나오므로 두 방식으로 만든 표를 섞어 놓으면 같은 제품의 숫자가 두 배 차이로 보고됩니다.
한 코호트의 오르내림으로 판단하는 것도 흔한 오해입니다. 줄 하나가 눈앞에 있으면 그것만으로 결론을 내고 싶어집니다. 그런데 한 줄에는 그 주의 유입 경로, 연휴, 마침 그때 돌던 캠페인이 모두 섞여 있습니다. 9월 둘째 주가 좋았다는 이유로 그때 한 일을 밀어붙였다가, 석 달 뒤 표에서 그 줄만 튀어 있는 것을 확인하는 일이 자주 생깁니다. 같은 시기에 들어온 집단끼리 묶어 견주는 방법 전체를 코호트 분석이라고 부르는데, 그 방법이 여러 줄을 요구하는 이유가 여기 있습니다.
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16