AppMetrica Blog

How AppMetrica's new segmentation works

24 December 2018, 13:00

AppMetrica reports show you the big picture. To focus on a unique audience within a report, you need to segment the data. The more precisely a segment is configured, the more transparent the sample will be, and the more confident you can be that the correct conclusions have been drawn from the data. We have now made segmentation more flexible, after studying the experiences and needs of AppMetrica users.

What has changed?

Previously, AppMetrica's segmentation centered on the user. The user ID was tied to attributes: profile, location history, app version and operating system  — everything you can find in AppMetrica. Don't worry — that level is still there, along with your old segments.

But the old approach did not allow for the creation of complex segments differentiating a user's attributes and their actions. We'll provide some examples here, but first we'll give a rundown on how the new approach works.

We have divided segmentation into two levels: the user and their activity — specific events and sessions.

AppMetrica knows that a user has installed a specific version and build of an application by clicking on an advertising banner. Over the entire course of their using the app, they completed some conversions, maybe experienced a few crashes (we hope not) and received a few relevant pushes (we hope so). All of that is at the user level. These filters are the same for all reports.

Let's dig deeper: every user interaction with the app — sessions, events, push campaigns, crashes — also have unique attributes:

  • a specific session can have only one duration and set of events associated with it,
  • a push campaign was sent at a specific time and resulted in a certain number of conversions,
  • a crash occurred on a particular set of devices connected to the network of a particular operator, when the moon was in Capricorn, in a specific version of the app, after opening the settings.

And for each of these reports, we have added our own level of segmentation:
 

AppMetrica speaks to you in human language: Select users with condition A, who have had sessions with condition B. To learn more, see the documentation.


The "+" button offers already familiar metrics, so the new interface is not difficult to understand. Note that at the user level, there are three categories of filters:

Lifetime metrics — metrics that have accumulated over the user's entire lifetime in the app: the number of days since installation or last launch, the number of opened push notifications, sessions and crashes.

Current value — information about the last location, device, version, and build of the app.

Status at the time of specific conversions — all other filters take relevant factors at the time of conversion into account: events in the app, receipt of push notifications and opening of deep links.

Demography stands apart in the list of filters: these indicators are heuristic and are calculated by Crypta technology.

To edit a filter, click on the condition itself and not on the "+" button (this button adds another condition for further segmentation).

So, by segmenting at the user level, you narrow the selection as far as possible.

At the activity level (session, event, push notification), AppMetrica looks for people or devices with particular metrics that may turn up multiple times in the reporting period, and any match is counted, which means the selection will be broader.


 

Could you give an example?

Of course! Sometimes it is important for us to know the user's current location — the country, region, or city where the person was in the last instance. This lets you account for movement in real time, instead of just by season. It also enables more precise targeting of push campaigns and segmentation in Yandex.Audience.

Let's imagine that our tour-selling app is used by travelers Wes and Pete. We know from their profiles that they readily travel — they often buy tickets a couple of days before departure. It's Wednesday, and we want to use a push campaign to offer them a relevant weekend trip.

  1. This week, user Wes was first in Moscow and then went to Saint Petersburg.
  2. Meanwhile, user Pete first visited Saint Petersburg, and then moved on to Sochi.

Report level

If you segment the activity level report by the location Saint Petersburg, both users will be included in the sample.

User level

At this level AppMetrica will select data by the location recorded at the time of the user's last interaction with the application.

So the Saint Petersburg segment will only include Wes because that's where AppMetrica saw him last. Although Pete was in Saint Petersburg, his current location is Sochi.

Great! We know that Pete won't be interested in a tour from Saint Petersburg to Sochi.

Conditions can be combined at different levels. Here's an example from e-commerce: look for users who have at least once purchased a product from the Household Goods category and last bought a coffee maker. They might need a toaster. Should we target them with a push campaign?


Subtleties

When using the new segmentation, you need to consider some nuances.

Availability of filters

When a new filter is added, segmentation takes into account the conditions applied at the higher levels. For example, if you set a filter for users whose device manufacturer is Samsung, other manufacturers won't be available at the session level — the same device can't be from different manufacturers. But you can choose a specific model of Samsung.

Incompatible filters

Some filters are not compatible with certain reports. For example, User Acquisition is segmented only at the user level. This report shows information about installations. Installation is linked to a single session — the first one that occurred after a click on a banner ad.

When you switch between reports, non-applicable filters are moved to the "Incompatible filters" section:


Is that all?

No. We've also added new features inside the filters themselves.

Segmentation by deep links

In segmentation by user, there is now a new condition — Deeplink. It highlights users who opened the app using deep links set by a tracker or an ad partner.

The date of opening a deep link can even be specified. For example, you can compare when app users are more interested in promotions — on Black Friday or on Cyber Monday.

Numerical filters

For filters based on the number of occurrences, set a condition equal to or not equal to the number. For example, you can easily find loyal users by using a filter like "Number of sessions greater than or equal to 3":

Or you can look at the behavior of people who are experiencing app instability by setting the number of crashes:

When segmenting by event parameters, the number is not how many times the event occurred, but the value of a specific attribute:

Convenient event search

The Events filter now searches for nested attributes. To use it, enter the event name and the name of the nested attribute in the search bar, separated by a dot:

Search for events in the format NAME.ATTRIBUTE

If the event name already contains a dot, to search by nested parameters, escape the dot with a backslash ( \ ):

Menu to report.Report\.Events

 
How do I save segments now?

The same as before, but now this option is only available to users with editing rights. If you have read rights to the report, add the segment to bookmarks in the browser.

 
What happened to my old segments?

Don't worry: AppMetrica has already converted the segments to the new format. Nothing has changed in the way they work, but it is now possible to add new levels to them.

 
 
Have you already got some ideas for how to use multi-level segmentation? Visit AppMetrica and get a feel for the new features. As always, you can find detailed instructions in the documentation.

---

The more levels you use, the more interesting it gets!

The AppMetrica team