# Retention and cohorts dashboard

**Retention and cohorts** groups new visitors by the week or month they first arrived and follows them: whether they come back, whether sign-ups reach the action that marks a visitor who stays, whether the audience grows or churns, and what a new visitor is worth.

Use it to judge the quality of growth, not just its size.

## Good to know

- Cohorts need time: a cell or rate only shows once every visitor in it has had the full window, so the newest cohorts fill in last.
- The **Key action** filter sets what counts as activation on the **Activation** tab.
  It opens on reaching an Order confirmation page; pick the action that marks a visitor who stays for you.
- Visitors are devices.
  Safari and iOS keep the device cookie 7 days between visits, so their return rates read low, and the **Return rate** tab shows by how much.
- The **Lifetime value** tab's campaign payback needs ad spend uploaded, as [revenue and campaigns](/docs/data-capture/revenue-and-campaigns) describes.

<!-- GENERATED: everything below is written by scripts/dashboard-reference.mjs from autocapture 69662e2. Edit the explanation above it, and rerun the script to refresh this part. -->

## At a glance

Whether new visitors come back, by the week or month they arrived and the channel that brought them; whether sign-ups go on to the action that marks one who stays; whether the audience grows, churns and comes back, and how often it visits; and what a new visitor is worth by channel, against what paid campaigns spent to bring them.

- **Tabs**: 4, Return rate, Activation, Churn and stickiness and Lifetime value
- **Charts and numbers**: 47
- **Built on**: the [Cohorts](/docs/analytics/cohorts) explore, with some tiles on [Activity](/docs/analytics/activity), [Activation](/docs/analytics/activation) and [Campaigns](/docs/analytics/campaigns), as each says

## Filters

The filters across the top apply to every tile they can, unless a tile says it has its own range.

- **Date range**: the last 12 months, today included. It does not apply to 6 tiles on the Churn and stickiness tab.
- **Acquisition channel**: not set when the dashboard opens, so it keeps everything until you pick a value. It does not apply to 2 tiles on the Lifetime value tab.
- **Device type**: not set when the dashboard opens, so it keeps everything until you pick a value. It does not apply to 2 tiles on the Lifetime value tab.
- **Key action**: set to **Page: Order confirmation**. It does not apply to 37 tiles on the Return rate, Activation, Churn and stickiness and Lifetime value tabs.

Date zoom is turned off on this dashboard, because its charts already set their own time grain.

## Tabs

### Return rate

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| New visitors | Number | Visitors whose first visit, on an origin the property allows, was in the date range. |
| Back within 7 days | Number | The share of new visitors who came back within 7 days of their first visit, over those whose first visit is at least 7 days old. |
| Back in week 4 | Number | The share of new visitors who visited again 21 to 28 days after their first visit, over those at least 28 days old. |
| Back within 30 days | Number | The share of new visitors who came back within 30 days of their first visit, over those at least 30 days old. |
| Back in month 3 | Number | The share of new visitors who visited again 60 to 90 days after their first visit, over those at least 90 days old. |
| On Safari or iOS | Number | The share of new visitors on Safari or on iOS, whose browsers keep the device cookie 7 days between visits. |
::

#### How do each week's new visitors come back?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Back in each week after the first visit, by cohort week | Table | Each of the last 12 weeks' new visitors, from Monday, and the share who visited again in each week after their first visit; a cell shows once every visitor of its cohort has had the week. The last row is every cohort in the date range together. |
::

#### Which channels bring visitors who come back?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Back in each week, by acquisition channel | Line chart | The share of each channel's new visitors who visited again in each of the 12 weeks after their first visit, over those who have had the week. |
| Acquisition channels at 7 days, week 4 and 30 days | Table | Each acquisition channel's new visitors, and the share back within 7 days, in week 4 and within 30 days, each over those old enough. |
::

#### Are newer cohorts coming back more?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Back within 7 and 30 days, by cohort week | Line chart | The share of each week's new visitors who came back within 7 days and within 30 days, once every visitor of the cohort has had the window. |
| Safari and iOS against other browsers | Column chart | The share of new visitors back within 7 days and within 30 days, on browsers that keep the device cookie 7 days and on the rest. |
::

#### Do monthly cohorts hold up?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Back in each month after the first visit, by cohort month | Table | Each of the last 12 months' new visitors and the share who visited again in each 30-day month after their first visit; a cell shows once every visitor of its cohort has had the month. The last row is every cohort in the date range together. |
::

**How to read this dashboard**

A **new visitor** is a visitor whose first visit was on an origin the property allows, in the date range; their **cohort** is the week (from Monday) or the month of that first visit, and their channel, device and country are that visit's.
**Week 1** is the 7 days from the first visit and **month 1** the 30 days, each the visitor's own, so every visitor has had the same time in a period; a visitor **came back** in a period when they visited again in it.
A rate counts only visitors who have had the whole period, and a cohort table shows a cell once every visitor of its cohort has had it, so the newest rows are short rather than low.

A visitor is a device, a first-party cookie, until Kontala resolves devices to people.
**Safari and every browser on iOS** keep that cookie 7 days without a visit, so a visitor there who comes back after a longer gap counts as gone and then as new: their 30-day and later rates read low, which *Safari and iOS against other browsers* shows.
Visits to development servers and staging copies never count, so there is no Allowed origin filter.

### Activation

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Sign-ups | Number | Visitors whose first lead, demo request, newsletter signup or trial start was in the date range. From the [Activation](/docs/analytics/activation) explore. |
| Reached within 1 day | Number | The share of sign-ups that took the key action within a day of signing up, over those at least a day old. From the [Activation](/docs/analytics/activation) explore. |
| Reached within 7 days | Number | The share of sign-ups that took the key action within 7 days of signing up, over those at least 7 days old: the activation rate. From the [Activation](/docs/analytics/activation) explore. |
| Reached within 30 days | Number | The share of sign-ups that took the key action within 30 days of signing up, over those at least 30 days old. From the [Activation](/docs/analytics/activation) explore. |
| Median days to the key action | Number | How many days after signing up the sign-ups who took the key action within 30 days typically took it, over those at least 30 days old. From the [Activation](/docs/analytics/activation) explore. |
| Still visiting a month later | Number | The share of sign-ups who visited 28 to 56 days after signing up, over the sign-ups at least 56 days old. From the [Activation](/docs/analytics/activation) explore. |
::

#### How soon do sign-ups get there?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Time to the key action, sign-ups 30+ days old | Column chart | How long after signing up the sign-ups at least 30 days old took the key action, as a share of them, with those that did not within 30 days. From the [Activation](/docs/analytics/activation) explore. |
| Reached within 7 and 30 days, by sign-up week | Line chart | The share of each week's sign-ups that took the key action within 7 days and within 30 days, once the week's sign-ups are old enough. From the [Activation](/docs/analytics/activation) explore. |
::

#### Which sign-ups get there?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Reached within 7 days, by acquisition channel | Bar chart | Each acquisition channel's share of sign-ups that took the key action within 7 days, the channel with the most sign-ups on top. From the [Activation](/docs/analytics/activation) explore. |
| Reached within 7 days, by sign-up | Bar chart | The share of each kind of sign-up that took the key action within 7 days, the kind with the most sign-ups on top. From the [Activation](/docs/analytics/activation) explore. |
::

#### Which action marks a sign-up who stays?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Every key action against staying | Table | Each key action sign-ups took: how many reached it within 7 and 30 days, how often those who reached it within 7 days still visited a month later against those who did not, and the lift. From the [Activation](/docs/analytics/activation) explore. |
::

**About activation**

A **sign-up** is a visitor's first lead, demo request, newsletter signup or trial start, as the Conversion dashboard counts each, and the date range chooses sign-ups by when they happened.
The **Key action** filter names what a sign-up should go on to do: a page type reached (*Page: Cart*), a sign-up form sent (*Form: Sign up*), or a click of a click type (*Click: Add to cart*).
It counts at its first time after the sign-up, so a trial start never activates itself, and every rate above is one key action's: pick one, or the numbers say so.

**Within 7 days** counts the sign-ups at least 7 days old, so a sign-up from yesterday is on neither side of it, and likewise 1 and 30 days.
**Stayed** is a visit 28 to 56 days after the sign-up.
The table at the foot ignores the Key action filter and weighs every action sign-ups took: a **lift** of 2 or more means those who took it within 7 days stayed at least twice as often as those who did not, which marks an action worth aiming sign-ups at, though it says what goes with staying, not what causes it.

### Churn and stickiness

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Monthly actives, last month | Number | Visitors who visited in the last complete month. From the [Activity](/docs/analytics/activity) explore. |
| Churn rate, last month | Number | The share of the month before's active visitors who did not visit in the last complete month. From the [Activity](/docs/analytics/activity) explore. |
| Reactivated within 3 months | Number | Of the visitors who went a month without a visit in the date range, the share who came back within the three months after, over those whose three months have ended. From the [Activity](/docs/analytics/activity) explore. |
| Quick ratio, last month | Number | Visitors gained in the last complete month, new and resurrected, over those lost: above 1 the actives grow. From the [Activity](/docs/analytics/activity) explore. |
| DAU/MAU, last month | Number | The share of the last complete month's visitors who visited on an average day of it. From the [Activity](/docs/analytics/activity) explore. |
| Days with a visit, last month | Number | How many days of the last complete month a visitor who visited in it visited on, averaged. From the [Activity](/docs/analytics/activity) explore. |
::

#### Are we growing or leaking?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Active visitors by month: who stayed, came back, arrived and left | Stacked columns | Each month's active visitors, returning, resurrected and new, above zero, and the visitors who left after the month before, below. From the [Activity](/docs/analytics/activity) explore. |
| Quick ratio by month | Line chart | Each month's visitors gained, new and resurrected, over those lost. The line is 1, where the actives hold steady. From the [Activity](/docs/analytics/activity) explore. |
::

#### Who leaves, and who comes back?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Active visitors by week | Stacked columns | Each week's active visitors, returning, resurrected and new, above zero, and the visitors who left after the week before, below. From the [Activity](/docs/analytics/activity) explore. |
| Churn and reactivation by month | Line chart | Each month's churn rate, the share of the month before's visitors who did not come, and the share of the visitors who went quiet in it who came back within three months. From the [Activity](/docs/analytics/activity) explore. |
::

#### Is it a habit?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| DAU/WAU and DAU/MAU by month | Line chart | The share of a week's and of a month's visitors who visited on an average day, by month, every day counted. From the [Activity](/docs/analytics/activity) explore. |
| Actives per day, week, month | Column chart | Each month's visitors on an average day and in an average week of it, every day and week counted, and its visitors in all. From the [Activity](/docs/analytics/activity) explore. |
| Days with a visit, last month | Column chart | How many of the last complete month's visitors visited on 1 day of it, on 2, and so on. From the [Activity](/docs/analytics/activity) explore. |
::

**About churn and stickiness**

A visitor is **active** in a day, week (from Monday) or month in which they visited; days, weeks and months are UTC's.
In each week or month an active visitor is **New** if it holds their first visit, **Returning** if they were active the one before too, and **Resurrected** if they come back after one or more quiet ones; a visitor active the one before but not in it has **churned**, counted once it has ended.
So **Churn rate** is the share of last period's actives who did not come, and the **quick ratio** divides the visitors gained, new and resurrected, by those lost: above 1 the actives grow.
**Back within 3 months** is the share of the visitors who went a month without a visit who came back within the three months after it.

**DAU/MAU** is the visitors of an average day of a month over the month's, every day counted, a quiet one as a day with nobody; 1 in 30 is a visitor who comes once a month, and most websites sit far below the 20% that marks an app habit, so read it against itself over time.
The numbers on the top row read the last complete month, but for *Back within 3 months*, which needs a month four months old and reads the date range, as the charts below do.
A visitor is a device, and Safari and iOS forget one after 7 days without a visit, so a visitor there who comes back after longer churns and then counts as new.

### Lifetime value

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Per new visitor, 30 days | Number | Revenue within 30 days of a new visitor's first visit, averaged over the new visitors at least 30 days old. |
| Per new visitor, 90 days | Number | Revenue within 90 days of a new visitor's first visit, averaged over the new visitors at least 90 days old. |
| Per new visitor, 180 days | Number | Revenue within 180 days of a new visitor's first visit, averaged over the new visitors at least 180 days old. |
| Bought within 90 days | Number | The share of new visitors who bought within 90 days of their first visit, over those at least 90 days old. |
| Per new customer, 90 days | Number | Revenue within 90 days of the first visit, over the new visitors at least 90 days old who bought in that time. |
| Bought again within 90 days | Number | The share of new customers within 90 days who bought on a second visit within those 90 days. |
::

#### Which channels bring the most valuable visitors?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Revenue per new visitor by month since the first visit | Line chart | The revenue of each channel's new visitors from their first visit to the end of each 30-day month after it, averaged over those who have had the month. |
| Acquisition channels at 30, 90 and 180 days | Table | Each acquisition channel's new visitors, and what one was worth within 30, 90 and 180 days of the first visit, each over those old enough. |
::

#### Do paid campaigns pay back?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Cohort ROAS by platform | Bar chart | What the new visitors each platform's campaigns acquired bought within 30, 90 and 180 days, per unit spent. The line is 1, paid back. From the [Campaigns](/docs/analytics/campaigns) explore. |
| Campaign payback | Table | Every campaign with uploaded spend: its spend, the new visitors it acquired, those who bought within 90 days and what each cost, its cohort ROAS at 30, 90 and 180 days, and when it paid back. From the [Campaigns](/docs/analytics/campaigns) explore. |
::

#### Is each month's cohort worth more?

::field-table
| Tile | Kind | What it shows |
| --- | --- | --- |
| Revenue per new visitor by month since the first visit, by cohort month | Table | Each of the last 12 months' new visitors and what one had bought by the end of each 30-day month after the first visit; a cell shows once every visitor of its cohort has had the month. The last row is every cohort in the date range together. |
::

**About lifetime value**

A new visitor's **value** is the revenue of their orders within so many days of their first visit, that visit included, each order once, as the Visits explore counts revenue: revenue, not margin, and in each order's own currency, so a site selling in several reads a sum of unlike amounts.
Each horizon counts only the new visitors at least that old, so a value reads **Too early** until some are; the explores also hold a 360-day value, for a date range that reaches back more than a year, as the warehouse keeps 400 days.
A **customer** bought within the window; **bought again** is a purchase on a second visit within it.

**Cohort ROAS** divides what the new visitors a paid campaign acquired bought within each horizon by what it spent on the days they arrived, each over days at least that old, so 1 is paid back before the cost of goods.
It is set by platform rather than channel, because a campaign's spend and its visits can read different channels, and the Acquisition channel and Device type filters do not reach these two tiles, since spend has neither.
A visitor is a device, so someone who first comes on a phone and buys on a laptop is two visitors, and Safari and iOS forget a visitor after 7 days without a visit, so long-run value reads low there.
