Cohort and retention dashboard

At a glance: The Cohort and retention dashboard (also referred to as simply "Cohort") groups app users by acquisition date. Perform performance analysis across user life cycles (LTV). Use the dashboard to gain insights as to how campaign differences alter campaign metrics.

cohort main (2).png

Cohort and retention dashboard

Related reading: Differences between Cohort flavors

To use Cohort and retention, select users from one or more apps and segment them by conversion time. Cohort metrics like revenue, ROI, and event conversion rates are available. Break the cohort down, for comparison purposes, into dimensions like campaign or media source. Doing so can uncover patterns or changes in performance over user or campaign life cycles. See Cohort use cases

Tip

Want to know more about cohort reports? Check out this short, informative course on the AppsFlyer Learning Portal.

Using Cohort

Setting up an analysis

  1. In AppsFlyer, from the side menu, select Analyze  > Cohort & Retention.
    The Cohort dashboard opens. The granularity and conversion date range display.
    mceclip0__1_.png
  2. Select the cohort period granularity:
    • Hours
    • Days
    • Weeks
    • Months
  3. Set the attribution period (user acquisition or retargeting engagement). Data relating to the most recent dates can result in partial data indicated by dashes in charts and tables.
  4. Click Edit Cohort.
    The Cohort setup window opens.

    CohortSetup.jpg

  5. Complete the following:
    • Cohort view type:
      • User acquisition.
      • Retargeting
      • Unified: Includes the in-app events of both user attribution and retargeting attributions. Note: Retargeting events take precedence over user acquisition events meaning the report contains events where is_primary_attribution=true
    • Trend type:
      • User lifetime performance. 
      • KPI by attribution time.
    • Users of: Select 1 or more apps. All means the top 100 apps in your account. Note: Agencies can only select one app.
    • Grouped by: Select one or more dimensions [Default: Media Source]. 
    • Minimum cohort size: Set the minimum cohort size. This avoids cluttering your report with insignificant (small) cohorts. [Default=1]
    • Optional fields:
      • Filtered by: Select one or more dimensions to filter by. There are no default filters.
  6. Click Apply changes.
  7. Select the metric (KPI) you want to perform cohort analysis on. For in-app events, you select the in-app event and metric. 
  8. Select the cohort periods you want to view data for. Meaning which hours, days, weeks, or months post-conversion. The number of cohort periods you can select depends on your selected trend type.
  9. Select whether to include partial data or to only show complete data (data for cohort periods that already ended). Learn more about partial data vs. complete data.
  10. Select whether to show Cumulative or On day (hour/day/week/month) data:
    • Cumulative: The cumulative or running total of the metric. Meaning Cohort 3 shows totals for Cohort periods 0-3.
    • On day: The value of the metric for that day only. Meaning Cohort 3 shows the metrics of Cohort period 3 only; not counting what happened in the periods before.
  11. Select whether to display the Heat map
  12. Select whether to view the data as a table or chart. If you select table, you can select how many rows of data to see, either 25, 50, 100, or 200.
  13. [Optional] Managing saved cohort reports.

Using My reports—Save and select reports

  • My reports enable you to save the current dashboard settings for future use. 
  • Select a saved report to display the most current cohort data available.
  • You can save one or more reports.
  • Only you can access your My reports. 
Feature

Description

My reports

MyReports.png

Select a report to display the most current data available.

Save changes 

Save the report. Note: The currently selected report is overwritten. 

Action options (Elipse.png)

 

  • Save as new
    • Save the report using a different report name
    • [Option] Make this report default report
  • Rename: Change the report name
  • Set as default: Make the report the default report. When you open Cohort this is the report that displays initially
  • Delete: Delete the report

Export the cohort to a CSV file

To export cohort reports to CSV files:

  • In the upper-right side of the Cohort reports window, click Download.png(export).
    The cohort report CSV file is downloaded.

Cohort concepts

Cohort periods

Cohort periods work as follows: The conversion period is referred to as 0 (Hour 0, Day 0, Week 0, or Month 0). The next period after the conversion is referred to as 1 (Hour 1, Day 1, Week 1, or Month 1), and so on.

The number of periods available depends on the period granularity selected:

  • For hour granularity the maximum number of post-conversion hours is 72.
  • For day granularity the maximum number of post-conversion days is 180. 
  • For week granularity the maximum number of post-conversion weeks is 156
  • For month granularity the maximum number of post-conversion months is 36

Note: In AppsFlyer a cohort period doesn't take into account the specific install timestamp. Rather, cohort hours are rounded down to the nearest hour, and cohort days, weeks, and months are based on the calendar day, week, or month. This may cause discrepancies when comparing AppsFlyer cohort data to the cohort data of other networks, where all cohort periods are determined by the specific install timestamp (meaning an hour is 60 minutes post-install timestamp, a day is the 24-hour post-install period after the install timestamp, etc.).

View types

There are 3 cohort view types:

  • Unified
    • The combined performance of user acquisition and retargeting campaigns (including cost and revenue).
    • If an event is attributed to both conversion types, only the retargeting event is included. Meaning, the report is generated using the actual last touch media source. If you are familiar with raw data, it means events where is_primary_attribution=true
  • User acquisition: Performance data from installs (reinstalls excluded unless specially enabled)
  • Retargeting: Performance data from re-attributions or re-engagements
OV.png

Trend types

There are 2 cohort trend types:

  • User lifetime performance
  • KPI by attribution time

User lifetime performance

  • Each column in the table or point in the chart represents another cohort period (hour/day/week/month). The conversion period is referred to as cohort period 0. The first post-conversion period is cohort period 1 and so on. This enables you to compare user performance post-conversion, starting with the conversion period.
  • You can select which cohort periods to get data for, up to the maximum for each granularity option (hour/day/week/month).

KPI by attribution time

  • Each column in the table or point in the chart represents a cohort period (hours/days/weeks/months) on a period of the selected date range. This enables you to evaluate campaign performance over time and to view campaign KPIs relative to the conversion dates.
  • The maximum number of cohort periods you can select to get data for is 5.
  • If you select to view data as a chart instead of as a table, the chart displays only 1 cohort period (the lowest period selected).

Example: User lifetime performance trend vs. KPI by attribution time trend

In this example, the same raw data is used to generate the two cohort trend types. The raw data table contains attribution events related to different users A, B, C, and D. The users engage with an ad, install the app, and post-conversion make one or more purchases. Cohort day 0 is the install day.

CohortExample_en-us.jpg

Partial data vs. complete data

For a given day in the conversion data range, if the number of days that have elapsed since the conversion date is less than the cohort day, that cohort day contains partial data. Meaning partial data occurs on any day where the cohort day > current date-conversion date.

Use the partial/complete data control to select the data display mode:

  • [Default] Partial:
    • Attribution data updates continuously in real-time, including revenue.
    • Cost data updates 6 times a day on average every four hours.
    • Partial data (indicated by dashes in the table and charts) is included.
  • Complete: Data is updated daily and available a few minutes after midnight. Data of partial days doesn't display. 

Dimensions for grouping and filtering

Dimension Comments Group by Filter by
Ad  
Ad ID  
Adset  
Adset ID  
Agency  
Apps Relevant when the report contains multiple apps x
Attributed touch-type Values: Click, impression, or NA (organic)
Campaign  
Campaign ID  
Channel  
Conversion type

Cohort type dependant:

  • User acquisition: Install
  • Retargeting: Re-engagement, Re-attribution
Geo Based on user IP address

Time. In the case of:

  • Daily granularity is the date
  • Hourly granularity is the hour of the day
  • Weekly granularity is the week of the year
  • Monthly granularity is the month of the year

Cohort type dependant:

  • User acquisition and unified: The time the app was launched for the first time.
  • Retargeting: The time the app was launched for the first time after re-engagement.

 

x
Install app store

Relevant for apps implementing Android multi-store attribution. Reach out to your CSM to enable this dimension. 

Keywords

Search keywords provided by the integrated partners

Media source  
Revenue Type

 Regular, Ad monetization

 x
Site Id  
Sub Param 1  

Metrics available

Metric Description
Installs Number of installs during the selected time range
Retargeting conversions Number of retargeting conversions (re-attributions and re-engagements) during the selected time range
Attributions Number of installs, re-engagements, and re-attributions during the selected time range
Cost
  • Campaign cost reported to AppsFlyer via click or API
  • Not available when:

    • View type is retargeting.
    • Granularity is hours.
Average eCPI Average effective cost per install (attribution): Cost / attributions
Revenue Revenue reported to AppsFlyer (cumulative or on day, depending on your setting)
Revenue count Number of times revenue event occurred (cumulative or on day, depending on your setting)
ARPU Average revenue per user: Revenue / unique users
Average revenue count Average revenue event count reported to AppsFlyer (cumulative or on day, depending on your setting)
Sessions count (cumulative) Cumulative number of times the app is launched, brought to the device foreground, or other measurement set by the developer
Average sessions (cumulative) Average number of times per user the app is launched, brought to the device foreground, or other measurement set by the developer (cumulative)
Sessions count (on day) On day number of times the app is launched, brought to the device foreground, or other measurement set by the developer
Average sessions (on day) Average number of times per user the app is launched, brought to the device foreground, or other measurement set by the developer (on day)
Retention Retention rate: On day number of unique users who opened the app / conversions * 100
ROI
  • Return on investment: (Revenue - cost) / cost * 100
  • Not available when:

    • View type is retargeting.
    • Granularity is hours. 
ROAS
  • Return on ad spend: Revenue / cost * 100
  • Not available when:

    • View type is retargeting.
    • Granularity is hours.
Uninstalls count
  • Number of app users who install the app and later uninstall the app (relevant for user acquisition only).
  • Not available when:

    • View type is retargeting or unified.
    • Granularity is hours.
Average uninstalls count
  • Average number of app users who install the app and later uninstall the app (relevant for user acquisition only)
  • Not available when:

    • View type is retargeting or unified.
    • Granularity is hours.
IAE count Number of times the in-app event was performed (cumulative or on day, depending on your setting)
Average IAE count Average number of times the in-app event was performed (cumulative or on day, depending on your setting)
IAE revenue Revenue generated from the in-app event (cumulative or on day, depending on your setting)
Average IAE revenue Average revenue generated from the in-app event (cumulative or on day, depending on your setting)
IAE unique users Number of unique users who perform the in-app event (cumulative or on day, depending on your setting)
IAE conversions (cumulative) In-app event conversion rate: Cumulative number of unique users performing the IAE / conversions * 100
IAE conversions (on day) In- app event conversion rate: On day number of unique users performing the IAE / conversions * 100
eCPA Effective cost per action (event): Cost / Cumulative number of unique users performing the InApp event

Additional information

Cohort for agencies

  • The advertiser needs to grant the agency permission to use Cohort. 
    • To grant permission to an agency, the advertiser need to:
      1. In AppsFlyer, from the side menu, select Collaborate > Active Integrations.
      2. Select the agency.
      3. Go to the permissions tab, enable Allow access to your retention and cohort reports.
  • Agencies are limited to accessing data of traffic generated by the agency. They can't see data related to organic traffic or non-organic traffic generated elsewhere.

Use cases

Revenue sum by geo

Chart: Cumulative revenue per user

Screenshot 2023-10-31 at 16.56.31.png

Table: Revenue per day

cohort use case 2.2.png

In-app event conversion

An advertiser defines the in-app event af_purchase. The cohort table displays the percentage of app users in the cohort who made a purchase. We can see on day 10 for instance that 36.27% of the cohort users attributed to the Facebook Ads media source performed a purchase.

cohort use case 3.png

FAQ

Question Answer
Can I view Apple Search Ads keyword Cost and ROI? Yes, you can.
Apple Search Ads provides us with the cost for each keyword per day broken down by Campaign/Adset/Ad. Note: Breakdown by geo is not available.
For a given media source, why does the same campaign name display more than once?
  • If you use the same campaign name with campaigns having different campaign IDs then the name displays more than once. 
  • You should allocate campaign IDs unique names
  • When changing campaign names, data is aligned to the last name used.
Can I view organic users?

Organic users, by default, are included in Cohort reports.

To limit the Cohort report to organic users only:

  1. In the Cohort dashboard, click the Edit cohort button.
  2. In the Cohort setup window set Filter by > Media source is Organic:

    cohort_setup_filtered_by_media_source_is_organic.png

  3. Click Apply changes

Can I see data from deleted installs? 

Deleted installs, such as installs from SRNs that were deleted due to data retention policies or GDPR deleted installs, can not be seen in the cohort dashboard.

For more information click here.

Can I compare data for daily view to data in weekly or monthly views?

It’s not easy to compare data from a daily granularity to a weekly or monthly granularity, because the cohort LTVs don't align. 

When viewing cohorts in daily granularity, Day 0 displays data for the day of the installs. Day 1 is the day after the install, Day 2 is 2 days post-install, etc. 

When viewing cohorts in weekly granularity, data displays for all installs made in the entire Week 0. Week 1 is the week after the install, Week 2 is 2 weeks post-install, etc. 

When viewing cohorts in monthly granularity, data displays for all installs made in the entire Month 0. Month 1 is the month after the install, Month 2 is 2 months post-install, etc. 

This means the LTV timelines don’t align. For example, if you look at data for January 9-15: If you use daily granularity, Day 0 contains data for the first day of all installs made January 9-15. And Day 6 contains data for the first 6 days post-install of all installs made January 9-15. Meanwhile, in weekly granularity, Week 0 contains data for the entire period for all installs made January 9-15. So for installs on January 9, the data is like Day 6. But for installs on January 15, it’s like Day 0.

Traits and limitations

Trait Remarks 
Ad network access to Cohort Not available
Agency access

Available:

  • Limited to one app.
  • Hybrid accounts can't access Cohort.
  • Require access permission on an app-by-app basis.
  • Can't select multiple apps.
  • Access to organic data isn't possible.
Agency transparency Available starting January 10, 2021
App-specific time zone
  • Available
  • Exception: In all of the following cases, AppsFlyer ignores the app-specific time zone and uses the default time zone being UTC +0:
    • The cohort report contains data from multiple apps, and the apps have different time zones.
    • The apps all have the same time zone, and the time zone for at least one of the apps changed during the cohort report period. To determine the report period:
      • Start date: The first date in the conversion date range
      • End date: Is calculated by adding the number of days in the display duration to the last date in the conversion date range. Example: Last date: Jan 1, 2019. Report duration: 30 days. End date: Jan 31, 2019
    • Weekly and monthly data will be displayed in UTC timezone
Cost
  • In Cohort, cost data is included only if there is an associated attribution (install, re-engagement, or re-attribution). In other words, if a campaign incurs cost based on clicks and impressions but has no attributions the cost isn't included in cohort reports. This principle holds true for all levels of the advertising hierarchy. 
  • AppsFlyer doesn't report cost data for keywords that contain uppercase letters in the cohort report or cohort API.
App-specific currency 
  • Available
  • Exception: All apps need to use the same currency. If they don't, USD is used.
CSV file download
  • Maximum 10,000 rows.
  • Only available for user lifetime performance reports. Not available for the KPI by attribution time trend.
  • Limit of 10 CSV exports per minute and 100 per day (per user).
Charts

Charts display the top 5 or 10 ranked by the number of app users in the cohort. This is irrespective of the dimension displayed.

Table

Tables display up to 200 rows. Installs, retargeting conversions, or attributions (depending on the cohort view type), cost, and average eCPI (effective cost per install) always display irrespective of the metric selected.

Reinstalls
  • If post-reinstall events are considered unattributed organic:
    • They're included only as of May 26, 2024. Learn more
    • The install time is based on the device_download_time field.
    • They aren't counted toward unique user and retention measurements.
  • If post-reinstall events are attributed to the first install, they're always included. Learn more
Data queries

Limit of 20 data queries per minute and 500 per day (per user). Changing time period, grouping, KPI, etc. is considered a new query.

Organic data Included
Non-organic data Included
Data freshness
  • Real-time
  • Exceptions:
    • Daily cohorts:
      • Cost, ad revenue, and uninstall metrics update Daily.
      • Uninstalls are calculated once a day using the UTC clock. 
    • Weekly and monthly cohorts:
      • Real-time data is not available. The data will only show after it has been completed (meaning at the end of the week or month).
        However, data, where some of the install data has been completed, such as some data has finished (post-install time) and others haven't started yet, will be displayed.
Historical data
  • Daily cohort: 2 years
  • Weekly/monthly cohorts: 3 years
Geo
  • Available
  • When geo is unknown (N/A), ad revenue data doesn't display when grouping by geo.
Session count

Session count for Day 0 in the Retargeting view might be lower than the user count.
There are a few reasons this can happen. The most common are:

  • The  re-engagement session has already been attributed before the re-engagement is recorded. In this case, it will not be attributed to retargeting session
  • Filtering by other settings such as the Minimum time between sessions. In this case, the re-engagement is recorded. However, the sessions are filtered and won’t be recorded
Retargeting and Unified data Monthly session data is only available from the first of September 2021 onwards
Ad revenue
  • Not available when viewing cohorts with hourly granularity.
  • There may be discrepancies between the ad revenue amounts displayed in the Cohort and Overview dashboards. This occurs when networks report revenue in UTC and the apps have a different timezone setting.
  • For af_ad_revenue events, the unique users metric isn't available when the aggregation type is:
    • "Cumulative".
    • "On day," for dates between October 5, 2022-February 16, 2023.
Week and month granularity
  • Week and month granularity is only available on the Cohort dashboard.
  • Unique users, retention and conversion rate metrics are not available if the data includes installs from before November 2022.
  • Historical data is only available from the year 2021 and on.
  • Days post-install: For cohorts that include installs for January, 2021-December, 2022, post-install time is limited to a year (meaning 52 weeks or 12 months). For cohorts that include later installs, [post-install data is available for up to 3 years (meaning 156 weeks or 36 months).
Cohort period
  • The conversion period is referred to as 0 (Hour 0, Day 0, Week 0, or Month 0). The next period after the conversion is referred to as 1 (Hour 1, Day 1, Week 1, or Month 1), and so on.
  • In AppsFlyer a cohort period doesn't take into account the specific install timestamp. Rather, cohort hours are rounded down to the nearest hour, and cohort days, weeks, and months are based on the calendar day, week, or month. This may cause discrepancies when comparing AppsFlyer cohort data to the cohort data of other networks, where all cohort periods are determined by the specific install timestamp (meaning an hour is 60 minutes post-install timestamp, a day is the 24-hour post-install period after the install timestamp, etc.).
  • The max cohort period (time range) query is 60 days for daily granularity, 60 hour for hourly, 12 months for monthly, and 26 weeks for weekly.