코호트 리텐션은 가입 주차처럼 공통 시작점을 가진 사람을 묶어 시간이 지나도 핵심 행동을 하는 비율을 봅니다. 전체 활성 사용자 수만 보면 신규 유입이 기존 고객 이탈을 가릴 수 있습니다.
데모는 오래된 코호트와 개선된 코호트의 곡선을 겹칩니다. 코호트 크기, 관찰 기간, 재방문 정의를 맞춰야 공정하게 비교할 수 있습니다.
언제 쓰나
온보딩 개편이나 제품 변경이 재방문에 영향을 줬는지 볼 때 씁니다.
같은 시기에 시작한 사용자들이 시간이 지나며 얼마나 남는지 비교합니다.
<div class="stage"><div class="label">WEEKLY RETENTION · ILLUSTRATIVE</div><svg viewBox="0 0 300 135" preserveAspectRatio="none"><path class="axis" d="M25 5 V115 H295"/><path class="old" d="M25 15 L78 48 L132 73 L185 91 L239 101 L290 107"/><path class="new" d="M25 15 L78 36 L132 50 L185 59 L239 65 L290 70"/><text x="225" y="58">NEW</text><text x="225" y="90">OLD</text></svg><div class="weeks">W0 W1 W2 W3 W4 W5</div></div>.stage{position:relative;width:min(94vw,760px);height:min(88vh,310px);font:800 clamp(10px,max(3.4vmin,1vw),15px)/1.25 sans-serif}.stage *{box-sizing:border-box}.label{font-size:clamp(10px,max(3.4vmin,1vw),12px);letter-spacing:.1em;color:var(--muted)}.accent{color:var(--accent)}.pill{border:1.5px solid var(--fg);border-radius:999px;background:var(--surface);padding:.5em .8em}.hint{position:absolute;right:2%;bottom:0;font-size:clamp(10px,max(3.4vmin,1vw),12px);color:var(--muted)}.stage svg{position:absolute;left:4%;top:20%;width:92%;height:64%;overflow:visible}.axis{fill:none;stroke:var(--line);stroke-width:2}.old,.new{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:450;animation:trace 4s ease-in-out infinite alternate}.old{stroke:var(--fg)}.new{stroke:var(--accent);animation-delay:.3s}svg text{font:900 12px sans-serif;fill:var(--fg)}.weeks{position:absolute;bottom:3%;left:7%;font-size:clamp(10px,max(3.4vmin,1vw),12px);white-space:pre;color:var(--muted)}@keyframes trace{from{stroke-dashoffset:450}to{stroke-dashoffset:0}}코호트 리텐션은 가입 주차처럼 공통 시작점을 가진 사람을 묶어 시간이 지나도 핵심 행동을 하는 비율을 봅니다. 전체 활성 사용자 수만 보면 신규 유입이 기존 고객 이탈을 가릴 수 있습니다.
데모는 오래된 코호트와 개선된 코호트의 곡선을 겹칩니다. 코호트 크기, 관찰 기간, 재방문 정의를 맞춰야 공정하게 비교할 수 있습니다.
온보딩 개편이나 제품 변경이 재방문에 영향을 줬는지 볼 때 씁니다.