ActivationPal

Cohort analysis for mobile app conversion

Cohort analysis groups users who started in the same period and tracks each group over time. For a mobile app, that means grouping installs by day, week or month and comparing how each group onboards, pays and comes back. It shows when a conversion change started, which an overall average hides.

What is cohort analysis

A cohort is a group of users who share a starting point. For apps, that is usually the install date.

An average blends old and new installs, so a change that only affects new installs gets diluted. Mixpanel's guide to cohort analysis defines a cohort as a group of users who share a common characteristic, such as an acquisition date.

How to read a cohort table

Rows are cohorts. Columns are time since the start, where Week 0 is the install week. Each cell holds the metric for that cohort at that age.

The table is a triangle because newer cohorts have not lived long enough to fill the later columns. Read across a row to follow one group. Read down a column to compare groups at the same age.

Check what a cell counts. A cumulative conversion cell can only stay flat or rise along a row. A retention cell counts activity in that one period, so it can go up or down.

Cohort analysis example: a paywall conversion drop

The numbers below are made up for illustration. They are not data from any real app.

Install weekInstalls that saw the paywallWeek 0Week 1Week 2Week 3
Week A (oldest)1,2003.1%4.0%4.4%4.6%
Week B1,1503.0%3.9%4.3%
Week C1,3001.9%2.6%
Week D (newest)1,2502.0%

Each cell is cumulative paywall conversion: installs that purchased after seeing the paywall, divided by installs that saw it.

  1. Start with completed cells. The last filled cell in each row is still in progress and can rise, so leave it out of the proof.
  2. Read down Week 0. Weeks A and B completed Week 0 at 3.1% and 3.0%. Week C completed it at 1.9%. That drop is established, and it starts with Week C installs.
  3. Treat the in-progress cells as early signals. Week C is at 2.6% in Week 1, against 3.9% and 4.0% for older cohorts at the same age, and Week D is at 2.0% in Week 0. Both point the same way, but both can still rise, so they are not proof.
  4. List what changed for Week C installs. Look for a release, a paywall or price change, an onboarding change or a new ad campaign.

ActivationPal builds this table for you. Install cohorts start at a device's first open, and paywall conversion is measured among installs that saw the paywall, from the events the SDK sends. In-progress cells get a dotted outline, and the best and worst completed cell in each column are highlighted.

Which cohort metrics to check for app conversion

  • Onboarding: the share of a cohort's installs that completed onboarding, cumulative.
  • Paywall conversion: the share of installs that saw the paywall and then purchased, cumulative.
  • Trial to paid: grouped by trial start date, not install date. The share of trials that converted.
  • ARPU: cumulative gross revenue per install, before refunds and store fees.
  • Retention: the share of installs active in that exact period.

Check them in funnel order so you find the earliest step that moved.

Daily, weekly or monthly cohorts

Weekly is the usual default because it smooths out weekday swings.

Use daily cohorts when you shipped a change on a known day and have enough installs per day. Use monthly cohorts for slow outcomes such as revenue per install.

Small cohorts swing a lot. Check the install count before trusting a percentage.

Cohort analysis checklist: what to do next

  1. Pick the metric nearest the problem.
  2. Pick the granularity: daily, weekly or monthly.
  3. Find the first cohort where the column changes.
  4. Compare that cohort with older ones at the same age.
  5. List what shipped, and what changed in acquisition, for that cohort.
  6. Change one thing and watch the next cohort's Week 0.

ActivationPal's Cohorts view shows ARPU, onboarding, paywall conversion, trial to paid and retention tables, for one app or all apps, grouped daily, weekly or monthly, with up to 12 cohorts and 12 periods. Hovering a cell shows the counts behind the percentage.

The same data is available to coding agents through the get_cohorts tool in the agent API. Cohort tables are not filtered by country, ad source or app version.

Set up tracking with the quickstart.

Frequently asked questions

What is the difference between cohort analysis and a funnel?

A funnel shows where users drop between steps in one period. Cohort analysis shows how that funnel changes between groups that started at different times. Use the funnel to find the leaky step and cohorts to find when it started leaking.

Why does the newest cohort look worse?

It is usually still in progress. Cumulative metrics keep rising as the cohort ages, so compare cohorts at the same age instead of comparing their latest cells.

How big should a cohort be?

There is no fixed number. Small groups swing a lot from one cohort to the next. When daily cohorts are thin, widen to weekly or monthly.

Is cohort analysis only for retention?

No. Any outcome tied to a start date works: onboarding, paywall conversion, trial conversion and revenue per install. Retention is the best-known use, not the only one.