We’ve worked with various analytics systems. On the whole, they fulfill the following tasks:
- event tracking analysis – what actions and how many of them do users perform exactly.
- user actions review in real-time.
- funnels analysis – for example, how do people register – how many percent fall off on each registration step, how many time do people spend on a registration step.
- cohort analysis – in order to find out retention – how often do users get back to the app.
- installs tracking – for understanding what advertising campaigns are the most efficient.
Along with the event tracking it’s possible to learn what do the users who have come to your app from an advertising campaign do in the app.
We also often use API in order to send events not only from the mobile app but from other sources as well (e.g. from a server part or web site).
And now let’s examine these systems according to the tasks we’re fulfilling.
1) Real-time events analysis
In some cases, it’s essential to see and analyze what’s going on in the app with a minimal delay. Thus, while updating, you can make changes to the app interface which will increase conversion.
Real-time analytics allows understanding how effective are the changes right after release, not sometime later.
Mixpanel, Amplitude, and Localytics provide real-time data. Events in the first two services come with a delay of several seconds. In Localytics the delay is several minutes.
There’s no real-time in Flurry. The data update frequency isn’t documented. On average, you have to wait 24 hours for the data sent to analytics. Conversion funnels (we’ll talk about them later) are often built even longer. We had to wait for funnel recalculation for 3 days once.
2) Conversion funnels
Conversion funnels are one of the key tools in any analytics, where quality indices are essential. For example, how many percent of users have reached the goods purchase screen and how many stopped on registration. All the analytics systems mentioned in the article support funnels but some do it better than others.
While building a funnel in Mixpanel you can apply conditions on any event. If we’re tracking registrations, we can take into account registrations through Facebook only for example.
An already built funnel can be segmented by any parameter of its events. You can define your own parameters and send them from the app along with the event. For example, the event is a tap on any button in the app: we want to change its color and watch users’ behavior depending on changing the button color. That is the button color is an event parameter.
There’s also a possibility to watch how does conversion change over some time, i.e. the percent change in users’ transfer among different events inside the funnel.
Just like in Mixpanel, in Amplitude you can also apply a condition on every event from which a funnel is formed and watch how the conversion is spread in time.
Moreover, there is an interesting and unusual possibility to look through the users who have come but haven’t walked through a definite funnel step along with the events that received from them in the process of funnel passage.
There are funnels in Flurry but using them is more difficult than in other systems due to the following reasons.
Quick user segmentation is possible only by the existing segments. If we want to apply an additional segment on a funnel, we’ll have to wait for its calculation for 24 hours.
There’s no possibility to apply conditions on separate steps of a funnel.
You can create 10 segments maximum.
Funnel building and calculation after its creation takes 24 hours approximately.
There’s a schedule of conversion change in process of time.
Localytics has a rather unusual set of tools for work with funnels. If Mixpanel and Amplitude are similar in some aspects, Localytics has approached the issue in their own way.
- Several conditions can be applied to a funnel step. It’s convenient and substitutes segmentation functionality of the whole funnel in the 3 other analytics systems.
- The time range definition for a funnel is carried out by applying an additional condition on a step. There’s no possibility to watch the conversion change in the process of time on a schedule.
- Possibility to watch events – for each funnel step (except the first one), before and after it for those who have and haven’t passed it correspondingly.
- Detailing of the users who have passed a step by your own parameters and a great quantity of pre-installed segments (platform, system version, country, language, etc.)
3) Installs tracking
User tracking in the lapse between an add and an app install through this add allows to understand which advertising campaign is more efficient and what do the users who come to the app though it does.
It’s not easy to realize such a mechanism in mobile apps. Due to this fact, not all the analytics systems have it.
In Flurry installs tracking is realized initially which is very convenient.
In Localytics there’s a built-in possibility to track installs for some advertising networks (Adwords, InMobi, Facebook, and others). In order to track users from other sources, not supported in analytics, you have to attach an exterior service — Adjust, AppsFlyer, Kochava, etc.
4) External API
It’s a widespread situation when a part of data is sent to analytics from a mobile app and part — from web back-end. In this case an interface (API) is necessary via which back-end will be able to send them.
In Mixpanel and Amplitude external API for event sending is realized, while in Flurry and Localytics — it’s not.
In order to simplify the price comparison, let’s assume that all the users of our system are active and each is sending 5 events per day, 20 days per month (in case the user isn’t active every day). Then, 10 000 users will generate 1 000 000 events per month. There’s a table of analytics costs for 1 / 5 / 10 / 30 / 50 / 100 thousand users per month.