How to use behavioral cohorts to optimize re-engagement & personalize app marketing messages

David Amselem
appshook.services
Published in
8 min readJun 18, 2019

How to work with Amplitude Analytics to re-engage users effectively as they advance through your app discovery lifecycle.

Acquiring users is expensive, whether it’s done through paid downloads or organic traffic. Even organic traffic is not free, and rather is the result of the hard work of spending numerous hours optimizing keywords in your App Store descriptions and building a relationship with users day after day, new user by new user, so that they become app advocates among their networks.

Mobile measurement company Adjust (adjust.com) estimates that almost 80% of users will churn the day after an app install. Skip to day seven, and only 12% of users are still active.

Adjust also estimates the average current cost per install at $2.26. For Mobile App developers offering subscriptions, up to 80% of subscriptions happen within the first day after registration, and if a user has not subscribed within the first week, your chances of getting them back in the app as subscribers are very slim.

Once a user has registered with your app, it’s any product team’s main job to keep this user on your app as long as possible.

In order to personalize messages, you need to segment your users’ real-time behavioral data. This data is mainly collected by Analytics platforms that track events per each user profile accessible via API. Such platforms include Amplitude Analytics, MixPanel, and Heap Analytics.

In this article, I will focus mainly on Amplitude, which is an outstanding platform that has had tremendous success. Amplitude lets you create cohorts of users (or groups of users) based on the actions they take (or don’t take) in your app.

Practically, you want to use cohorts to perform actions on users at various points along their discovery journey in your app. Typical ways to reach users are through emails, app notifications, and in-app messages. You want to send them messages to help them move along to the next step and commit further to your app.

The first day and the first week after registration is your battleground. This is when you want to have the best re-engagement strategy possible.

Behavioral Cohorts— what for?

For every user: the right message — to the right place — at the right time.

You want the appropriate content to reach the proper user at the right time in order to bring them back or encourage them along the discovery path of your app.

  • Cold Users — basically registered in the app, spend generally less than 1 minute engaged, and didn’t invest long enough to subscribe.
  • Engaged — after registration, they spent time getting to know the features in the app — an average of a 3- to 5-minute session — and they are subscribing.
  • Fans — invested more than 5 minutes performing important tasks in your app — have developed a level of commitment to the app.
  • Subscribers
  • Trials — most subscription apps today offer a trial model (managed by Apple for the App Store or Google Play for Android) — standard is either 3 days or 7 days
  • Active — decided to stay after the trial — they use the app frequently
  • Inactive after subscribing — higher probability of churn or they might just have forgotten to unsubscribe, etc.

How Amplitude defines and deals with cohorts

Amplitude defines cohorts as a structure for segmenting users into groups. On these cohorts, Amplitude performs further analysis in charts, such as Funnels, Retention, and Revenue, allowing you to understand your user behavior and make better decisions about your product.

More details on this article in the Amplitude Documentation

Amplitude Cohort = a group of users that has performed an action with the added option of only including those users who have performed the action within X days after they started using the app.

In this example, the Cohort is any user who has performed the action “added a friend” during their first 10 days using the app.

Then you can apply, to any cohort, a retention report, such as the one below. In this chart for a video editing app, you can see users who subscribed and then kept using the app making new recordings.

As another example, in this report you can see the average performance over time with respect to retention. The average retention rate among all users who subscribed, regardless of whether it happened 2 weeks or 4 months ago, is shown here.

In this second example, the report shows the average daily retention of users who have performed the action “recorded at least twice.” It shows an average for all users over the past 60 days. You cannot compare what your performance was 2 months ago versus the last month using this chart. Measuring the impact of product releases and re-engagement campaigns is critical for product managers, making these charts invaluable to their work.

The main question for an app developer is whether retention rates are improving over time. Making this type of comparison unfortunately doesn’t seem possible currently within Amplitude.

Amplitude vs ChartMogul vs WIX

Financial reporting requires a usage of cohorts very much in line with what would be needed by product managers to build their KPIs for retention.

You will see in the following examples, one from the Chart-Mogul platform and another from a WIX financial presentation to their investors, that Cohorts are not only defined ONLY by actions (in the case of ChartMogul and WIX, the action would be “users that subscribed”) but they also put users into monthly or quarterly buckets.

A precise, quantitative definition of a cohort would be the following:

Cohort = group of users who performed an action + within a time bucket (weekly, monthly, quarterly)

This chart for churn analysis in the ChartMogul platform shows cohorts of “subscribers” in monthly buckets and the evolution over time.

This chart included in a WIX financial presentation to investors shows cohorts of “subscribers” in quarterly buckets according to their time of sign-up and the evolution of revenue over time among these cohorts. The peak revenue occurs 3 to 4 months after sign-up, and after some churn during the first year, WIX is able to retain its users for many quarters, which is very impressive for a business targeting SMBs.

Workaround for Amplitude- how to manage cohorts including time buckets using

  1. Define your user cohorts according to the events to discriminate between Cold Users, Engaged, Fans, Subscribers, Subscribers inactive
  2. Duplicate the cohorts and add a timeframe to filter only the users that registered the users registering into a specific time bucket. Use a hashtag and typical nomenclature for user lifecycle D0 (for today), D1 (for yesterday), D2 (3 days ago) etc…
Definition in Amplitude of a cohort with a time-bucket

Your cohort list would look something like this

  • Cold Users #D0 (registered today)
  • Cold Users #D1 (registered since yesterday and did NOT registered today)
  • Cold Users #D2 (registered last 3 days and did NOT registered last 2 days)
  • Cold Users #D3#D5 (registered last 6 days and did NOT registered last 4 days)
  • Cold Users #D6#D7 (registered last 8 days and did NOT registered last 6 days)
  • Engaged #D0 (registered today)
  • Engaged #D1 (registered since yesterday and did NOT registered today)
  • Engaged #D2 (registered last 3 days and did NOT registered last 2 days)
  • Engaged #D3#D5 (registered last 6 days and did NOT registered last 4 days)
  • Engaged #D6#D7 (registered last 8 days and did NOT registered last 6 days)
  • Fans #D0 (registered today)
  • Fans #D1 (registered since yesterday and did NOT registered today)
  • Fans #D2 (registered last 3 days and did NOT registered last 2 days)
  • Fans #D3#D5 (registered last 6 days and did NOT registered last 4 days)
  • Fans #D6#D7 (registered last 8 days and did NOT registered last 6 days)
  • Subscribed #D0 (registered today)
  • Subscribed #D1 (registered since yesterday and did NOT registered today)
  • Subscribed #D2 (registered last 3 days and did NOT registered last 2 days)
  • Subscribed #D3#D5 (registered last 6 days and did NOT registered last 4 days)
  • Subscribed #D6#D7 (registered last 8 days and did NOT registered last 6 days)
  • Subscribed Inactive #D0 (registered today)
  • Subscribed Inactive #D1 (registered since yesterday and did NOT registered today)
  • Subscribed Inactive #D2 (registered last 3 days and did NOT registered last 2 days)
  • Subscribed Inactive #D3#D5 (registered last 6 days and did NOT registered last 4 days)
  • Subscribed Inactive #D6#D7 (registered last 8 days and did NOT registered last 6 days)

3. Using the Amplitude Behavioral Cohort API, you can retrieve the amounts of users and list the amounts users for each cohort.

Your goal as a product team is to see the percentage of Fans and Subscribers increase as your product gets better and better.

Evolution of cohorts percentages day after day

These KPI can automatically being sent to any of your Slack channels using a micro-service from appshook.services .

This article is part of a series of articles about how to use analytical platforms such as Amplitude, MixPanel, or Heap Analytics as the basis for the user segmentation required for user re-engagement messaging.

Want to exchange ideas on Product Management, Growth, or Usage Optimization for your analytical platforms, such as Amplitude, MixPanel, or Heap Analytics? Shoot me an email at david@appshook.net

If you liked this article, clapping it will help increase the visibility of our channel.

Check out https://appshook.services, micro-services for App Marketers.

--

--