한 줄로
특정 시점에 설치·가입한 유저 중 며칠(D1·D7·D30 등) 뒤에도 다시 돌아오는 비율 — 리텐션(Retention)은 이 숫자를 말해요.
왜 중요한가
신규 유입이 아무리 많아도 다 빠져나가면 "붓기만 하고 새는 독"이에요. 리텐션은 그 서비스가 실제로 사람을 붙잡고 있는지를 보여주는 핵심 지표예요.
광고 관점에서도 그렇습니다. 리텐션이 낮으면 CPI를 아무리 낮춰도 LTV가 안 붙어서 CAC를 회수하지 못해요. 그래서 획득 단가만 보고 채널을 고르면 나중에 손해가 납니다.
D1 · D7 · D30은 각각 무엇을 보나
설치한 날을 D0으로 두고 셉니다.
- D1 리텐션 — 다음 날 돌아온 비율. 첫인상과 온보딩이 통했는지를 봅니다. 여기서 무너지면 그 뒤 숫자는 볼 필요가 없어요.
- D7 리텐션 — 일주일 뒤. 한 번 써본 게 아니라 습관이 되기 시작했는지를 봅니다.
- D30 리텐션 — 한 달 뒤. 실제로 남는 유저의 크기예요. 매출·LTV와 가장 직접 연결됩니다.
셋은 서로 다른 질문에 답해요. D1이 좋은데 D30이 무너지면 온보딩이 아니라 지속 가치가 문제고, D1부터 낮으면 유입 품질이나 첫 경험을 먼저 봐야 합니다.
계산법
한 코호트 기준으로는 이렇게 나옵니다.
D7 리텐션 = (D7에 돌아온 유저 수) ÷ (그날 설치·가입한 유저 수)
분모가 그 코호트의 크기라는 게 핵심이에요. 전체 활성 유저 수로 나누면 리텐션이 아니라 다른 지표가 됩니다.
여기서 "돌아왔다"의 정의도 먼저 정해야 해요. 앱을 열기만 해도 되는지, 핵심 행동을 해야 하는지에 따라 숫자가 크게 달라집니다. 어느 쪽이든 상관없지만 한 번 정하면 바꾸지 마세요. 정의가 바뀌면 과거와 비교가 안 됩니다.
흔한 함정 세 가지
하나, 코호트를 가중 없이 평균 내는 것. 날짜별 리텐션을 그냥 평균 내면 100명짜리 코호트와 10,000명짜리 코호트가 같은 무게를 갖게 됩니다. 모수(설치·가입 수)로 가중해야 정확해요.
둘, 관측 기간이 덜 찬 코호트를 그대로 쓰는 것. 어제 설치한 유저의 D30은 아직 존재하지 않습니다. 그런데 표에 0으로 찍히면 최근 코호트가 급락한 것처럼 보여요. 아직 안 익은 칸은 비워두는 게 맞습니다.
셋, 비율과 인원수를 섞는 것. 리포트에 따라 리텐션 컬럼이 0.32(비율)일 수도 320(인원수)일 수도 있어요. 이걸 구분 안 하고 계산하면 결과가 통째로 틀립니다.
"몇 %면 좋은 건가요"
이 질문에는 정직하게 답하기 어렵습니다. 업종·과금 구조·유입 채널에 따라 정상 범위가 너무 달라서, 외부에서 본 평균값은 대부분 우리 앱에 안 맞아요. 출처가 불분명한 경우도 많고요.
믿을 수 있는 기준은 같은 앱의 과거 코호트 하나뿐입니다. 지난 8~12주 코호트를 쌓아두고 이번 코호트가 그 범위 안인지 밖인지를 보는 게, 남의 평균과 비교하는 것보다 훨씬 쓸모 있습니다.
더 깊게 보려면
리텐션은 코호트 단위로 쪼개야 제대로 읽혀요. 리텐션 곡선을 읽고 개선 지점을 찾는 방법은 코호트 분석 글에서, 어떤 초기 행동이 장기 리텐션과 이어지는지는 아하 모먼트 글에서 다룹니다.
실제 데이터로 코호트별 리텐션을 계산해보려면 운영 대시보드에 CSV를 넣으면 모수 가중까지 처리해서 보여줍니다.