# Retention Analysis

This document explains how to use Data Analytics > Retention Analysis to gain a deeper understanding of the re-usage rate of customers who use your product.\
You can access Retention Analysis by clicking the Retention tab under Data Analytics in the left menu bar.

## What is Retention?

Retention represents how many users return to use a product after some time has passed. By examining users' repeated product usage cycles, you can find direction for your product.

For example, if you calculate the daily number of users who revisited among those who visited the home screen in the last month, that gives you the daily retention for home screen visits. You can also break these users into groups (cohorts) by their first visit date, or view the aggregated data across the entire period.

Retention is commonly analyzed based on simple visits, but it can also be analyzed based on key user behavior events (events) in the product, such as sign-up, subscription, or purchase. Checking retention for each key funnel in the product you want to track lets you discover insights different from Funnel Analysis.

**Why you should care about Retention**\
Product builders want users to use their product continuously, not just once. In general, high retention means that users are using the service regularly, which makes it an important metric for setting product direction to improve user engagement, interest, and loyalty.

## Retention Curve

![\[Figure 1-1\]](/files/gd9fSKt2Wt4cOzAkRxeH)

![\[Figure 1-2\]](/files/bnusO1nV7JAVZNp4ySmk)

\[Figure 1-1] shows that if 10 users started using the service for the first time on the same day (Day 0), and 7 users performed an event on Day 7, then Day 7 retention = 7/10 = 70%.\
Similarly, if you want to see retention on Day 28, the Day 28 retention would be 20%.

The retention graph for typical services looks like \[Figure 1-2], where the user activity cycle gradually decreases after the initial entry. Therefore, the graph also draws a downward-sloping curve over time, as in \[Figure 1-1].\
To understand this user trend, it is recommended to look at the graph before the chart first to see how the user activity cycle changes.

**Retention Smile Curve**\
Are you familiar with Evernote's Smile Curve, which was once a hot topic? As explained above, a typical retention curve slopes downward, but products like Evernote, whose user base grows over time, draw a Smile Curve as shown below. This can be interpreted as the service value increasing for users.\
Understanding how long it takes for a Smile Curve to appear can be one way to read a retention graph.

![\[Image source : https://techcrunch.com/2012/11/04/should-your-startup-go-freemium/\]](/files/lA8ShsbHas5UHP5hsi5y)

## Supported Retention Types

Hackle currently provides N-day and Unbounded retention types. You can select the appropriate type for your service model to get the results you want.

### 1. N-day Retention:

Measures the percentage of users who re-used the product on a specific day or within a specific cycle. This is the most fundamental type that comes to mind when thinking about Retention Analysis. It is suitable for products with short and repeated usage cycles, such as food delivery, messengers, and OTT services. The measurement cycle is expressed as N-day for daily, N-week for weekly, and N-month for monthly.

### 2. Unbounded Retention:

Measures the percentage of users who re-used the product any time after a specific day or after a specific cycle. The calculation is more complex than N-day, but it is more suitable than N-day for measuring retention in commerce services with long repurchase cycles or services where users do not regularly re-use the product within a short period. Since it measures the percentage of users who re-used the product at any point after a specific cycle, 1 - Unbounded retention rate equals the churn rate.

## Using the Retention Chart

### Step 1: Configure Analysis Items

![\[Figure 2-1\]](/files/DA46xmsjw0svYawS5yEO)

The Start Event and Goal Event represent users re-using the product (Goal Event) after a certain period following the first point of product use (Start Event).

The Start Event is the baseline for initial use. Selecting "Visit" as the Start Event counts the number of users who performed the Goal Event among those who "Visited" during the period. Selecting "Purchase" as the Start Event counts the number of users who performed the Goal Event among those who "Purchased" during the period.

The Goal Event is the baseline for re-use. Selecting "Visit" as the Goal Event counts the number of users who "Visited" among those who triggered the Start Event during the period. Selecting "Purchase" as the Goal Event counts the number of users who "Purchased" among those who triggered the Start Event during the period.

### Step 2: Understanding the Chart

After selecting the analysis items in Step 1, you can visualize and view retention (return visits) by cohort.\
When both Start Event and Goal Event are selected, a chart and table are immediately displayed at the bottom as shown in \[Figure 3-1] and \[Figure 3-2].

You can also freely configure the query period. The chart area shows the retention trend for the entire user group, and hovering over it lets you check the retention % and actual user count for a specific period.

![\[Figure 3-1\]](/files/ZCWxAnar7OlFcNhwlarn)

![\[Figure 3-2\]](/files/ZHJcrUHYkKbFWjktRq3k)

#### **2-1. Structure of the Retention Chart**

As shown in \[Figure 3-2], Hackle's retention chart table is composed of four main elements: Cohort, Volume, Period, and Retention.

1. Cohort: The first column of each row represents the same group based on the event and date.
2. Cohort size (Volume): Represents the size of each cohort, which is the population that performed the Start Event. For example, if you are looking at users who visited a product detail page among users who logged in, the count of logged-in users becomes the volume of each cohort. The unique count of users who completed the Goal Event based on the volume becomes the Day 0 retention.
3. Period: Setting a period lets you view re-visit data within that period. For example, selecting 7 days shows re-visit data from Day 0 to Day 7.
4. Retention: You can view the aggregated periodic retention grouped by date into cohorts within a single row. Based on the volume, you can check the unique user count and retention (%). The higher the retention, the darker the shading of each table cell.
   1. N-day Retention: Measures the percentage of cohort users who re-used the product during a specific period (d14, w4, m2). You can compare the periodic retention rates within the same cohort (row), or compare cohort-level retention rates for the same period (column).
   2. Unbounded Retention: Measures the percentage of cohort users who re-used the product at least once from a specific period to the present (d14 to today, w4 to today, m2 to today). It is easy to compare churn rates across cohorts, and meaningful trends can be found even in short daily retention cycles. It is suitable for measuring the cumulative effect after specific events such as promotions or reactivation messages. However, even for the same period (column), the actual measurement period differs by cohort, so it may not be suitable for comparing the same period.
   3. Calculation difference between the two retention types\
      Retention is always measured on a UV basis regardless of type.\
      Based on individual cohorts (rows) in the table, the 100 users who first visited on 1/1 are fixed as the denominator, and retention is calculated by placing the number of those 100 users who returned in each subsequent period (same day (d0), 1 day later (d1), 2 days later (d2)...) as the respective numerator.\
      For N-day: among the 100 users who first visited on 1/1, d1 retention is measured as 50 people who returned on 1/2 = 50%, and d2 retention is measured as 30 people who returned on 1/3 = 30%. There are no duplicates within the 50 on 1/2 or the 30 on 1/3, but there may be duplicates between the 50 and the 30.\
      For Unbounded: the 100 first-time visitors on 1/1 are still fixed as the denominator, but d1 retention counts the people who returned from 1 day later (1/2) onward at least once (50 on 1/2 + 30 on 1/3 + ...), with duplicates removed, giving 60. So d1 retention is calculated as 60%. Since the measurement period for d1 retention grows over time, d1 retention may gradually increase from 60%.

#### 2-2. Exclude Duplicate Users

* Exclude Duplicate Users option: This option determines how to handle the same user triggering the Start Event across multiple periods (days or weeks).
  * **When excluded**: The user is only counted in the period (day or week) when the first Start Event occurred.
  * **When not excluded**: The user is counted in every period (day or week) when the Start Event occurred.
* Example: Assume you are viewing retention over the period 1/1 to 1/30.
  * When excluded: The daily user count may look like this: 1/1 (1,000), 1/2 (200), 1/3 (200)...
    * 1/2 does not include Unique Users from 1/1, and 1/3 does not include Unique Users from the previous period (1/1 - 1/2). Only Unique Users newly generated on 1/3 are counted as cohort users.
  * When not excluded: The daily user count may look like: 1/1 (600), 1/2 (580), 1/3 (590)...
    * All Unique Users generated in each query period (day or week) are counted, which is why it may look like the above.

### Step 3: Saving Retention

![\[Figure 4-1\]](/files/uGvKr4DXbPvgasGoIhLU)

When you save a retention chart, you can find it in the Data Report menu on the left.\
Save important retention charts and monitor them continuously.

## Retention Use Cases

### 1. Acquisition

* What is the daily retention rate for users who revisited the service in the last 7 days?
  * Start Event: Any Event (Any Event is the sum of all events sent to Hackle and is suitable for measuring 'visits')
  * Goal Event: Any Event (Any Event is the sum of all events sent to Hackle and is suitable for measuring 'visits')
  * Period: Daily, last 7 days
* On average, how many users are still active 2 weeks after sign-up?
* At what point does retention drop the most over 2 weeks?

### 2. Usability

* How often do users perform a specific action (like, send message, follow, etc.)?
  * Start Event: Any Event
  * Goal Event: favorite
  * Period: Daily, last 7 days

### 3. Purchase/Payment

* What is the weekly repurchase retention for users who visited the service in the last 30 days?
  * Start Event: Any Event
  * Goal Event: Purchase
  * Period: Weekly, last 30 days
* How does daily retention differ between all users and paying users?

## Retention Tips

#### 1. When a user triggers the Start Event across multiple periods

* Select 'Exclude Duplicate Users': The user is included only in the **period when the first Start Event occurred**. Since a single user is included in only one user group, you can expect more rigorous analysis results. This is best used when there is a sufficient number of users per cohort.
* Deselect 'Exclude Duplicate Users': The user is included in **every period when the Start Event occurred**. Even when the total number of users is small, you can still view retention trends over time.
* If a user triggers the Start Event multiple times within a single day or week, the user is counted only in the first period without duplication, regardless of this option.

#### 2. When you want to strictly define cohorts based on the first visit date across the entire period

* In Hackle, cohorts are defined by default based on each user's first entry point during the configured query period (e.g., the last 30 days). If you want to define cohorts based on each user's first entry point across the entire period, similar to in-house data analysis, the following configuration is recommended.
* When sending user information via SDK, send a 'new\_user=True' property for first-time users. This property should be updated to 'new\_user=False' upon re-entry after 24 hours.
* Add a filter of new\_user = True to the Start Event, and add a filter of new\_user = False to the Return Event.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hackle.io/en/data/chart-types/retention-analysis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
