Glossary · Retention Curve

Retention Curve

A retention curve plots, for a cohort of users, what fraction is still active at each point in time after they joined.

Also known as: retention chart · user retention curve

A retention curve plots the percent of a cohort still active over time. Y-axis is percent of original users still active. X-axis is weeks or months since signup. The shape of the curve tells you whether your product is sticky, slowly bleeding, or rapidly leaking.

The three shapes that matter

Smile curve — drops in the first weeks, then flattens and recovers as users settle into a habit. This is what every consumer product wants. The flat asymptote is your true retention.

Decay curve — drops continuously, never flattens. Each cohort eventually goes to near-zero. This is normal for transactional products (tax software, wedding venues). It’s a problem for SaaS that’s supposed to be a habit.

Knee then floor — drops sharply in week 1-2, then flattens. The slope of the floor matters. A floor of 40% with a flat slope is excellent. A floor of 40% that keeps decaying at 1% per month is a slow leak.

Why the curve matters more than any single retention number

“Day 30 retention is 35%” tells you one point. The curve tells you the trajectory. Two products with the same D30 can have radically different long-term retention — one bottomed out, the other still falling. The curve forecasts where the cohort ends up in a year.

For SaaS, the right question is: where does the curve flatten, and at what value? That’s your true power-user rate. Everything else is decay you can model.

How Datost generates retention curves

Ask “show me retention curves by signup quarter for the last 18 months” and Datost runs the cohort query against your event data, plots the curves, and posts the chart in-thread with the SQL attached. The active-user definition uses your metric definition so the curve matches what your team has agreed counts as “active.” If you also want it sliced by acquisition channel or plan tier, ask the follow-up in the same thread.