Setting Up Cohort Analysis for a Mobile App

We often see teams focusing on DAU while missing that retention is falling. Our experience shows: day-1 retention of 40% and day-7 retention of 20% indicate different issues. Cohort analysis is the only way to see real user behavior. It shows how users from the same install week behave 7, 14, 30 day

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1All 1734 services
Setting Up Cohort Analysis for a Mobile App
Medium
~2-3 days

Our competencies:

Frequently Asked Questions

Latest works

  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    894
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    597

We often see teams focusing on DAU while missing that retention is falling. Our experience shows: day-1 retention of 40% and day-7 retention of 20% indicate different issues. Cohort analysis is the only way to see real user behavior. It shows how users from the same install week behave 7, 14, 30 days after first launch. Aggregated DAU hides degradation: if new users arrive faster than old ones leave, DAU grows—but retention drops. Cohorts reveal this. The concept of cohort analysis is widely used in mobile analytics. However, in practice, typical errors arise: unstable user identifier, wrong choice of the first valuable action, lack of version breakdown. These problems distort the data, misleading the team. Contact us to set up cohort analysis correctly.

What is needed for cohort analysis

Two mandatory conditions: a stable user_id and an activation event. Without them, cohorts cannot be built correctly. Savings on advertising budget after precise setup can reach 20%.

User ID must be the same after app reinstall. If you generate a new one each time, the user will always be in a new cohort. Solutions:

  • iOS: Keychain to store a generated UUID (survives app deletion)
  • Android: AccountManager or server-side ID after registration
  • After authentication: Analytics.setUserId(serverUserId) — user binds to the account
Tip: check if the ID persists after reinstall Install a test build, delete the app and reinstall. If the user_id remains the same—it's fine. If not—configure Keychain or AccountManager.

Activation event—the first action that shows the product's value. Different apps have different ones:

App type Activation event
Marketplace first_purchase
Streaming content_played (3+ minutes)
Fitness workout_completed
Game level_2_started
Social network first_post or 5_connections

Choosing the activation event affects what the cohort shows. app_open is too broad—includes casual users. premium_purchase is too narrow for retention analysis of the entire audience.

Why stable user_id matters

Without a stable identifier, you can't distinguish a new user from a returning one after reinstall. This inflates new user numbers and deflates retention. We guarantee correct configuration of Keychain and AccountManager based on your platform. According to our data, 90% of clients had unstable user_id before setup, distorting cohorts by 50% or more. Get a free audit of your current analytics—we'll evaluate user_id stability and event correctness.

How to choose the activation event?

The activation event should reflect the first moment the user gets value. For a fitness app, it's workout_completed, not app_open. One of our clients (a fitness app) after setting cohorts by workout_completed discovered that retention among those who completed their first workout within the first 2 days was 30% higher. We changed the onboarding to push the first workout, and retention grew by 15% in a month. Contact us for a consultation to select the activation event for your app.

Implementing cohort analysis

Firebase / BigQuery—setting up cohort analysis

Firebase builds Retention Chart in the Analytics section natively, but with limited flexibility. For deep analysis, we export raw data to BigQuery via Firebase → Integrations → BigQuery. Then SQL:

-- Cohort by install week, retention on day 7 WITH cohorts AS ( SELECT user_pseudo_id, DATE_TRUNC(MIN(PARSE_DATE('%Y%m%d', event_date)), WEEK) AS cohort_week, MIN(event_timestamp) AS first_open_ts FROM `project.analytics_*.events_*` WHERE event_name = 'first_open' GROUP BY user_pseudo_id ), activity AS ( SELECT DISTINCT user_pseudo_id, DATE_TRUNC(PARSE_DATE('%Y%m%d', event_date), WEEK) AS activity_week FROM `project.analytics_*.events_*` WHERE event_name = 'session_start' ) SELECT c.cohort_week, DATE_DIFF(a.activity_week, c.cohort_week, WEEK) AS week_number, COUNT(DISTINCT c.user_pseudo_id) AS cohort_size, COUNT(DISTINCT a.user_pseudo_id) AS retained_users, ROUND(COUNT(DISTINCT a.user_pseudo_id) / COUNT(DISTINCT c.user_pseudo_id) * 100, 1) AS retention_pct FROM cohorts c LEFT JOIN activity a ON c.user_pseudo_id = a.user_pseudo_id GROUP BY 1, 2 ORDER BY 1, 2 

This query produces a weekly retention table.

Amplitude

In Amplitude, cohort analysis is a native tool in the Retention Analysis section. We configure:

  1. Starting Event—first_open or activation event
  2. Return Event—session_start or app_open
  3. Grouping by days/weeks
  4. Breakdown by: install source, platform, app version

Amplitude allows side-by-side cohort comparison—easy to see if retention improved after a product update.

Mixpanel

In Mixpanel, the Retention section builds a classic retention matrix. Additionally, Lifecycle shows what percentage of users return after a long absence. For casual games, this is an important metric.

Comparison of tools for cohort analysis

Criterion Firebase + BigQuery Amplitude Mixpanel
Flexibility High (SQL) Medium (UI) Medium (UI)
Behavioral cohorts SQL Native Lifecycle
Setup complexity High Low Low
Cost BigQuery queries Subscription Subscription

Behavioral cohorts

Besides time-based cohorts (by install date), behavioral cohorts are useful—groups of users who performed a specific action. For example, in Amplitude Behavioral Cohorts you can segment users by actions: "added to cart", "shared content".

# Example logic in BigQuery: # Cohort: users who completed onboarding # Question: what is their retention vs users who skipped onboarding? 

If retention among those who completed onboarding is 2x higher—that's proof that onboarding needs improvement, not reduction.

Typical problems when setting up cohort analysis

  • Unstable user_id—data is distorted.
  • Wrong activation event—cohort doesn't reflect value.
  • Using only app_open as return—mixes sessions and active users.
  • Missing breakdown by version—can't see effect of updates.

Our experience includes setting up cohort analysis for apps with audiences from 10,000 to 5 million users. We guarantee correct retention and LTV display.

What is included in the work

  • Audit of user_id stability in the current implementation
  • Definition of activation events together with the product manager
  • Configuration of cohort analysis in Firebase + BigQuery / Amplitude / Mixpanel
  • SQL queries for custom cohort reports
  • Setup of behavioral cohorts for key hypotheses
  • Documentation and handover to the team

Timelines

Setup of cohort analysis in a ready-made tool (Amplitude/Mixpanel): 1–2 days. BigQuery + custom SQL queries: 2–4 days. Cost is calculated individually.

Get a free audit of your current analytics—we'll evaluate user_id stability and event correctness.