Google quite helpfully shows you the baseline All Apps In Business of all apps installation distribution within the same app category Business, and the top installation targets within th
Trang 2Free ebooks and reports
Trang 4Mobile App Analytics
Optimize Your Apps with
User Experience Monitoring
Wolfgang Beer
Trang 5Mobile App Analytics
by Wolfgang Beer
Copyright © 2016 O’Reilly Media All rights reserved
Printed in the United States of America
Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472
O’Reilly books may be purchased for educational, business, or sales promotional use Online
editions are also available for most titles (http://safaribooksonline.com) For more information,
contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com.
Editor: Brian Anderson
Production Editor: Colleen Cole
Copyeditor: Molly Ives Brower
Interior Designer: David Futato
Cover Designer: Karen Montgomery
Illustrator: Rebecca Demarest
September 2016: First Edition
Revision History for the First Edition
2016-09-15: First Release
See http://oreilly.com/catalog/errata.csp?isbn=9781491957097 for release details
The O’Reilly logo is a registered trademark of O’Reilly Media, Inc Mobile App Analytics, the coverimage, and related trade dress are trademarks of O’Reilly Media, Inc
While the publisher and the author have used good faith efforts to ensure that the information andinstructions contained in this work are accurate, the publisher and the author disclaim all
responsibility for errors or omissions, including without limitation responsibility for damages
resulting from the use of or reliance on this work Use of the information and instructions contained inthis work is at your own risk If any code samples or other technology this work contains or describes
is subject to open source licenses or the intellectual property rights of others, it is your responsibility
to ensure that your use thereof complies with such licenses and/or rights
978-1-491-95709-7
Trang 6Mobile apps have evolved from an experimental to an integral part of the eCommerce business
model Increasingly, entire businesses are now being built around mobile application strategies
This rapid adoption of mobile means that operations professionals must extend their monitoring
strategies to include mobile app performance, availability, and crashes This proves to be a challenge
as the management of mobile apps have different requirements than web-based applications Thecombination of the diversity of devices, the large number of operating system versions, and the lack
of control over the release and update process create new requirements towards monitoring and
operational analytics
Users have little patience for non-performing apps or apps with functional issues If an app does notmeet user expectations, it is deleted minutes after the download Having a mobile monitoring andperformance strategy in place is essential This book provides clear guidelines on how to achieve thisquickly and efficiently
Alois Reitbauer
Chief Technical Strategist
and Head of Innovation Lab
at Dynatrace
Trang 7Chapter 1 Introduction
One of the differences between publishing mobile apps and selling traditional products without anetwork connection is the possibility to instantly collect usage statistics and context information inreal time about individual customers worldwide Collecting real-time data about all product users isdaily business for marketing and sales experts, as well as for the engineers who develop and improvemobile apps
Today’s competitive situation within global app marketplaces makes it hard for app developers todistinguish their app from thousands of similar mobile apps Providing a reliable and highly
responsive mobile app and showing a good level of attention to details helps you stay on top of yourcompetitors To know your typical app users and how they experience your mobile app is the firststep toward good product reviews and a growing user base Mobile-user experience monitoring helpspublishers understand how customers are using an app and what features they prefer Without thisdeep visibility, it is impossible to drive innovation and to improve the usability of your mobile
offering
Often, product innovation arises just by following your customers through their business process
workflows and by tracking and measuring key performance indicators User surveys and A/B testswith a target audience have a long tradition and can answer different hypotheses about your productand functions within different market segments and user groups
A/B tests are used to measure the difference between two slightly different variants of the same
product with the goal of selecting the one that performs best according to a given metric A/B testing
is the typical methodology to decide which variant performs better in terms of number of conversions.The result of user studies, on the other hand, directly leads to usability improvements, possible
products, upselling opportunities, ideas to improve advertising campaigns
For decades, marketing experts have analyzed and studied target audiences for traditional paper
mailings, catalogs, or emails Digital marketing experts take target audience analysis to the extreme
by using global real-time information to observe changes in global usage within minutes; for example,monitoring how users’ navigational behavior changed in real time after an email campaign announced
a new feature within your mobile app
Today, real-time collection and analysis of usage information is not limited to websites and mobileapps; it has been seamlessly adapted for smart TVs, watches, or even personal fitness-tracking
devices Actual usage information helps to better understand how a product is handled by the
customers, which parts of the user interface are hot spots, and which parts are never used at all
Modern analytic frameworks offer a vast amount of different metrics and key perfomance indicators(KPIs) , but the interpretation is still up to human analysts and involves the definition and testing ofhypotheses The most profound collection of user information is worth nothing without a reasonable
1
Trang 8formulated hypothesis There isn’t a generic one-size-fits-all collection of metrics and KPIs; instead,the selection of a feasible set of metrics depends on the hypotheses to check This report will give ashort introduction to important categories of metrics and their application To dive into the details offormulating detailed hypotheses and correctly interpreting the results would go beyond its scope.The application domains and questions to answer by collecting usage statistics are manifold, andrange from marketing to product management to quality management and testing aspects While
questions around the marketing aspects will most likely focus on ad targeting, conversion rates, andeffectivity, quality management’s interests are directed toward stability, heterogeneity of target
platforms, and maximizing the quality of products by focusing their testing budgets into specific parts
by choosing the right metric for specific questions
NOTE
This report focuses on general vendor- and tool-independent techniques for collecting and analyzing metrics for your mobile app business All of the metrics mentioned within the report can be collected with any mobile monitoring framework
available today In order to present real-world examples, I’ve used screenshots from popular tools such as Google
Analytics, Ruxit, Fabric, and Flurry Analytics.
9 Mobile App KPIs to Know, Lauren Drell, Sept 05 2013,
http://mashable.com/2013/09/04/mobile-app-metrics
1
Trang 9Chapter 2 Measure App Success
Before you start to collect any data about your mobile apps, it’s important to understand the differentcategories of metrics and which key questions they help to address Every department within yourcompany, such as development, ops, marketing, or sales, focuses on providing answers to differentproduct-related aspects While the development and ops departments might be more interested in theoverall performance and stability of your mobile apps, the marketing and sales people want install,engagement, and stickiness metrics The spectrum of necessary metrics to measure the overall
performance, to collect crash reports, and to monitor the usage of your apps is quite broad
The first part of this chapter focuses on metrics that help to answer questions such as how many
people are using your app and how many of them were acquired recently The second part of thischapter looks at metrics that can inform you of how much time a user spends with your app It’s
important to engage your app users regularly so that users get used to working with your product.Target audience analysis gives you detailed information about your active users Marketing and salesexperts use this information to better understand the needs of your target group and to streamline
marketing campaigns accordingly
Acquiring new users is the first step within any funnel that ultimately should lead to fulfilling an app’sbusiness objectives Depending on the business model, these objectives could be retaining users aslong as possible, selling some features, or getting users engaged with a service outside the app
As mobile devices and user logins can be uniquely identified by a running app, it is possible to countthe overall number of users who are engaged with an application The mapping of smartphones totheir owners is mostly a one-to-one relationship, while there often is a one-to-many relationship ontablets, which are often used by a whole family
User acquisition metrics focus on counting and classifying new app users who were attracted by
different acquisition channels, such as an ad campaign or a reference in a blog article
Counting Installations
One of the first and simplest acquisition metrics is the category of installation metrics, which aremeasured by the app marketplaces One of the first of these to be introduced in the mobile app
business was simple installation counts The launch of Apple’s global App Store in July 2008
completely changed the way third-party applications were published and distributed on a global
scale Installation metrics were the first numbers delivered by the marketplace itself to the publishers.Installation metrics grew beyond simple download counters as more and more marketplaces started todeliver detailed information about the installing customer’s real-world locations and their devices
Figure 2-1 shows the daily app installation numbers over three months This daily installation metricgives the app publisher a pretty good impression of how many users were willing to take the first step
Trang 10in the user acquisition process and install the app Note that dates where new app versions werepublished are specifically tagged within the chart.
Figure 2-1 Google Play marketplace daily app installation metric
Figure 2-2 adds a detailed chart of real-world geographic location installations over the same period
of time It also shows the specific distribution of all installers across countries for June 5, 2015 Thepie chart shows pretty well that for that specific day the United States leads the install statistics with12.80%, ahead of Mexico with 10.06%
Figure 2-2 Google Play marketplace daily installs by country
NOTE
Trang 11Google quite helpfully shows you the baseline (All Apps In Business) of all apps installation distribution within the same app category (Business), and the top installation targets within the Business app category.
Most marketplaces are counting the daily install statistics; they are also collecting the number of usersupdating or uninstalling your app The ratio of users installing your app to users uninstalling your app
is a good indicator of how well your user-acquisition process performs at the moment and how goodyour app’s visibility on the market is
WARNING
A spike in daily uninstalls is often related to a severe problem with an app’s usability and stability This is discussed in detail
in Chapter 3.
Reviewing daily installation statistics is just the starting point to give you an impression of the
business performance trend of your mobile application All installation metrics are collected at theserver side within the marketplace In order to collect installation numbers, it is not necessary for theapp publisher to instrument a mobile app: these metrics can be collected automatically without
changing the app, but do not give the app publisher any detailed information about how the user isworking with the app on his device over time
Active and New Users
So what’s the difference between the installation metrics and the acquisition metrics that are
measured at runtime? Well, anyone can download and install an app, but how many of those
downloaded apps are really running per day?
The active user and new user metrics collect these measures at runtime directly through all running
app instances worldwide A typical metric here is monthly active users (MAU) or daily active users (DAU) Active users are defined as users who at least start your application once in a given time
period An active user is only counted once, even if that user starts several sessions within the giventime period
The number of daily active users is quite important, as these users start your app on a regular basisand have the potential to become loyal, revenue-generating customers
Measure User Engagement
User engagement measures how often your users are active within your mobile app and how much
time they spend working with your app’s features In order to evaluate the success of individual partswithin your app, it’s important to understand how much time users are spending in each of your app’sscreens—and where they bounce off the app
Trang 12The family of metrics that measure users’ engagement within your app are also called stickiness
metrics, as they measure the users’ addiction to your app
User Sessions
One of the first engagement metrics to review is related to user sessions A user session is defined as
one use of your app by an individual user that begins when the user starts the app and ends when theapp is suspended to the background While it’s quite easy to define the session start, it’s up to yourtracking tool to define exactly when a session ends Most app-monitoring frameworks stop a sessionwhen the app is suspended to the background for a specific amount of time (e.g., 30 seconds in
Google Mobile Analytics)
The important aspect to note here is that in order to analyze your users’ session engagement, you have
to determine exactly how your selected monitoring framework is defining a session
WARNING
Mind that the session length and number of sessions per user very much depend on the type of app you are monitoring, as
different kinds of app will show different session behavior characteristics A music streaming app such as Spotify will be
started once in an hour and may stay in the background for a long time, streaming music and audio ads to the user A short
messaging app is characterized by many very short sessions and a high number of user sessions per day You have to keep
in mind that the type of app is very much influencing the advertising and revenue-generation process.
The number of user sessions per day shows how often users are opening your app, while the mediansession length measures the length of sessions over time: half of your measured sessions are longerthan the media session length The median session length is less vulnerable to session-length outlierscompared to the average session length
Retention and Churn
The retention rate calculates the chances that a user who installs your app on Day 0 is still around on
0+N days (e.g., after three months)
There are different ways to calculate the retention rate, but the most common are fixed retention forDay 1, Day 7, and Day 30 or rolling retention
NOTE
It is critical to review an app’s retention rate, as three-quarters of your acquired active users do not return after three
months.
The rolling retention rate is the proportion of users returning to your app on a day + N, or any day
after that, divided by the number of users who installed your app on Day 0 Typical values for N are
Trang 13one day, three days, a week, a month, and three months.
So the formula for calculating the retention for Day N is as follows:
Day N Retention = Users retained on Day N / Active Users on Day 0
Figure 2-3 shows a chart of the retention rates for Day 1, Day 7, and Day 30 The chart shows that onFriday, June 5, the retention for the first day was 12.9%; for a week it was down to 1.0%; and only0.3% of zero-day users stayed longer than a month
Figure 2-3 Fixed retention for days 1, 7, and 30 (Image courtesy of Fabric )
Another very popular visualization for rolling retention rates is a heat map that shows the retention
over several weeks A heat map is a matrix of values in which each value has a specific color
encoding that represents the values impact Speaking of retention rate, each heat map value shows apercentage of users who opened your app after a given starting date An example for a retention heatmap is shown in Figure 2-4
1
Trang 14Figure 2-4 Retention shown as heat map visualization
Other ways of calculating retention rates are:
Full Retention: Full retention is quite restrictive, as it only measures users who come back everysingle day until Day N
Classic Retention: Classic, or fixed, retention measures all users who come back exactly on Day
N
Churn represents the opposite of retention rate It’s the measure of users who stop to use your app in
a defined period of time Churn rate is expressed as a percentage of the overall count of users whocould have left (which is also the size of the initial cohort)
If your app has 100 users and at the end of the month you realize that 40 stopped using your app, thismeans you have a churn rate of 40% The basic idea is to keep churn rate low and retention rate high;
in other words, to improve the stickiness of your app You can also keep the churn rate low by
offering value to users—for example, by building unique product features, and keeping them happy byimplementing high usability standards and low crash rates
Business Intelligence
Business intelligence (BI) is the process of analyzing large amounts of unstructured business-related
data BI tries to provide better statistical evidence for making business decisions and for definingstrategic goals in general By taking large amounts of unstructured data related to a business’s
operation, decision-makers try to identify new sales opportunities or find interesting target groups foradvertising products and services
Within BI tools, the historic view of data is as important as the predictive views that should forecasthow selected metrics are expected to develop in the future Today, business intelligence is highlyconnected with multidimensional data warehouses and online analytical processing tools (OLAP).The goal of any business tool is to analyze and visualize actionable information for a company to acton
Cohort analysis is a subcategory within business analytics that focuses on extracting the average
behavior of your typical users Cohort analysis tries to build groups of customers by analyzing
Trang 15multiple dimensions of given data, such as a customer’s location, age, gender, purchase history,
search keywords used, number of sessions per timeframe, language and culture, education, or friends.The hypothesis is that the behavior of a group of customers with similar interests is easier to predictthan the behavior of single users
A recent approach to defining prototypical users to stand for a specific group of people with similar
interests is to classify them according to personas.
Personas
Over the last few years, the classification of audience by using persona profiles instead of the
traditional keyword-driven approach represented a significant change in digital marketing The basicidea behind it is to create representative focus groups within your audience by mapping specificmetric characteristics, such as purchase history, geographic locations, countries, age and genderinformation, and interests The creation and classification of your visitors into digital personas willgive you a deeper understanding about the demands and interests of your audience
An example of a persona-related evaluation of app visitors for a specific kids’ painting app is shown
in Figure 2-5 Despite a quite low number of overall active users, the persona classification alreadyshows two major types of users: moms who are downloading the painting app for their kids, andusers who are interested in parenting and education In this example, the classification according tothe personas scheme is working perfectly well
Trang 16Figure 2-5 Persona-based classification of a kids coloring app (Image courtesy of Flurry )
Lifetime Value (LTV)
The lifetime value (LTV) is the driving metric for evaluating how much your users are worth in terms
of financial revenue, loyalty, and evangelism (users who are actively sharing and recommending yourapp) while they are engaged with your app It therefore often represents the exact financial value ofyour individual customers, and it is a perfect starting point to analyze which cohort of users is the
2
Trang 17most valuable type of customer The identification of these “valuable” types of customers is the
primary way to optimize your marketing campaigns and to spend your marketing budget exactly on thetype of users that generate the most LTV An example of a valuable customer who downloaded asports and workout app could be one who is older than 25, has a high income, makes regular high-priced purchases, and actively shares sporting experiences in social networks
Today most mobile and web analytics frameworks are able to track the individual revenue your
customers generate by collecting all types of engagements, such as purchases across multiple apps,valuable referrals, or number of advertisements that were clicked on
The lifetime value metric often is split into average LTV per month or per customer in order to getsome trends or to review the overall financial revenue generated by a marketing campaign
https://get.fabric.io
http://www.flurry.com
1
2
Trang 18Chapter 3 Real User Experience
This chapter focuses on metrics that help you to understand the usability and stability of your app.Measuring the performance and response time of your mobile app helps to pinpoint slowly reactinguser actions Collecting and reviewing fatal program crashes is one of the fundamental activities forimproving upcoming app versions Reducing the overall number of app crashes also means
decreasing the churn rate of your customers and improving the reliability of your native mobile apps.One of the most important requirements for mobile apps is to guarantee a high degree of usability byfulfilling essential functionality for your users Your mobile app has to offer enough stickiness so thatthe users continue to use it over a longer period of time Each user evaluates many different apps in avery short time, but may only keep a few
That said, it is obvious that your app’s usability and reliability play a major role, not only for
increasing its Lifetime Value (LTV), but also for acquiring new users, as negative user reviews
within the global marketplaces have an immediate effect
Most of the mobile analytics solutions are able to visualize the negative effect of increased app
crashes on user acquisition numbers Figure 3-1 shows that for that specific app there was a slightdecrease of crash-free users around July 8th, which could be the reason for a slight decrease of dailynew user acquisitions two days later, around July 10th You can easily test this hypothesis by
checking which user reviews were published between July 8th and 10th Analytics tools have shown
us that there is a strong correlation between negative reviews, published by crashed and frustratedusers, and the number of newly acquired users
Trang 19Figure 3-1 Correlation of crash-free users and acquisition of new users (Image courtesy of Fabric )
NOTE
User reviews and comments are merciless and have an immediate negative impact on your acquisition and stickiness
metrics So the overall effort should always be to avoid launching buggy apps to improve your app’s performance, and to
quickly fix new bugs that arise.
Although app crashes are an important factor in a mobile app’s usability, there are additional aspects
to consider for a positive real-user experience A mobile app’s responsiveness and user-action
performance plays an important role in a user’s experience; another aspect is how well the navigationand the user-action flow is structured Users should be able to easily and intuitively navigate betweendifferent functions
1
Trang 20Usability and reliability within mobile app development mostly depend on effective crash reportingand analytics Every serious app publisher largely depends on a good crash-reporting framework thatcollects all crashes directly on the different user devices, symbolicates the crash stack traces, andaggregates similar crash types in real time Your development team depends on these crash reports tofind out which cohorts of devices are impacted by a crash type and how to fix the issue within thenext release version of your app The severity of a crash type is often measured by the number ofunique users affected by a crash and the absolute number of crashes that appeared within a specifiedperiod of time Especially after the release of a new app version, your dev team will monitor thecrash metrics with great interest to see if the new release introduced some new fatal bugs, or on themore positive side, fix a lot of already-known issues in older versions
Figure 3-2 shows the collected list of crashes that were recorded within the lifetime of a specificapp The list shows seven major crash types and where within the code they occurred This nearlyempty crash list shows a one-to-one relationship between crashes that appeared and the number ofunique users who were affected by a crash type, which is not a typical situation in real-world
scenarios where the number of crashes is significantly higher than the number of impacted uniqueusers The reason for a higher crash count lies in the fact that typically a user tries and crashes severaltimes until she stops testing out the app or this specific failing functionality
Once your product manager or team lead has reviewed the crash list and derived a priority list forfixing major issues within the next app version, it is necessary to receive additional crash details inorder to find and fix the root cause of a problem within the code Figure 3-3 shows all the details of a
crash that was observed within a source file called FragmentManager.java.
Figure 3-2 Collected list of crash types (Image courtesy of Dynatrace Ruxit ) 2
Trang 21Figure 3-3 Detailed crash type information along with the stack trace
Monitor App Performance
Slow application response is annoying for users Mobile app design relies heavily on asynchronoustasks that should not directly block the interaction between users and an app Good and efficient appdesign means reducing users’ waiting times to a bare minimum—or where waiting is inevitable,distracting the user while necessary pieces of information are loaded in the background In a reactivemobile app, user actions should return a visual result with a minimum of waiting time; web-requestactions that fetch data should be fast; and the amount of data pulled over the network should be assmall as possible
NOTE
It is generally considered that the network infrastructure, especially in emerging markets such as India or China, develops at
a much slower pace than mobile hardware This means that web-request performance and payload size play a major role in the architecture of highly reactive mobile apps.
Trang 22In most cases, detailed monitoring of an existing mobile app already shows where performance
bottlenecks are hidden and which user actions should be reconsidered to speed up reaction times forusers
Mobile apps as well as Web applications rely on third-party network resources such as social logins,social sharing, images or messages, real-time notifications, and many more During the design andoperation of your mobile apps, keep in mind that your own first-party services and resources canslow down your app as much as the loading times of your third-party network resources can
NOTE
Providing your first-party network resources as well as third-party resources in an error-free and fast way is the first step
toward highly responsive mobile apps.
In order to get an overview of how your mobile app performs while loading network resources, youmust monitor every outgoing network request, its error rate, as well as its payload sizes and resultingresponse times
Figure 3-4 shows a chart visualizing the aggregated number of HTTP requests that a mobile app wascalling within a given timeframe The chart also shows the related error rate that was monitored forall these HTTP requests Mind that this aggregated number of HTTP requests and error rate
represents the overall number of all called HTTP requests of all app installations worldwide Forhigh-traffic mobile apps these numbers can reach millions of HTTP calls per day, while the error rateshould be as low as possible A high HTTP error rate often perfectly correlates with an increasedcrash rate, as many mobile apps do not handle failing web requests in a reliable way There are
various reasons why the HTTP error rate can increase during the operation of a published mobileapp An obvious reason could be a resource contention or even a process crash within a backendservice that negatively influences the app