For each of your apps, Crashlytics automatically calculates and displays
crash-free metrics, specifically the percentage of crash-free users and the
percentage of crash-free sessions. These metrics can help you quickly understand
the stability of your app.
You can find charts of these crash-free metrics at the top of the
Crashlytics dashboard
, and you can filter these charts by
a variety of dimensions, like time range, build, and (for Android apps) by
Google Play track.
To understand crash-free metrics, it's helpful to understand how Crashlytics
differentiates a user from a session:
A
user
is an individual installation of your app on a device. For example,
if a person has your app installed on several different devices, then
Crashlytics will count each installation as a different and unique user.
A
session
is a continuous period of time when a user is engaged with an
application. A new session starts when the app is cold-started or the app is
foregrounded after at least 30 minutes of backgrounding.
What is the crash-free users metric?
The
crash-free users
metric is the percentage of users who engaged with your
app during a selected time period but did not have a crash. This metric reflects
the experience that your app delivers to a single user. It's frequently tracked
as the key health metric for the entire app, when the goal is the overall user
experience.
This metric may be specifically applicable to the following types of apps:
Apps with long and casual sessions
such as on-demand streaming apps,
social media apps, or casual games, where the user can continue where they
left off. Because users typically engage with these apps in longer, often
multi-session experiences, maximizing the total number of crash-free users
takes precedence over ensuring each individual session is flawless.
Apps with established user bases
such as well-established work apps or
large-scale online platforms, where habit and need for these platforms
outweigh the inconvenience of a crash.
What is the crash-free sessions metric?
The
crash-free sessions
metric is the percentage of sessions that happened
during a selected time period and did not end in a crash. Sessions without
crashes indicate overall reliability of an app and build user confidence.
Tracking crash-free sessions is especially important in the early stages of a
new release, when a crash during a user's first interaction could result in
immediate frustration to the point of abandonment.
This metric is frequently the preferred metric for the following types of apps:
Apps with short and intense usage patterns
such as real-time gaming or
time-sensitive streaming apps, where a crash in the middle of a critical
moment can devastate the user.
Apps with significant consequences
such as financial apps or navigational
apps, where the emphasis is on the end state of the experience. A crash in one
of these apps can lead to significant problems, resulting in loss of trust in
the app.
Calculation of crash-free metrics
How are crash-free users calculated?
The crash-free users value represents the percentage of users who engaged with
your app but did
not
have a crash over a selected time period.
Here is the formula for calculating the crash-free users percentage.
Its input values are provided by the Crashlytics SDK, and they're based on
the time period that you've selected from the drop-down menu in the upper-right
of the Crashlytics dashboard.
CRASH_FREE_USERS_PERCENTAGE = 1 - (
CRASHED_USERS
/
ALL_USERS
)
CRASHED_USERS
represents the total number of unique users who
experienced a crash over the selected time period.
ALL_USERS
represents the total number of users who engaged with
your app over the selected time period.
The crash-free users percentage is an
aggregation over time
, not an average.
View an example calculation
For example, imagine your app has three users; we'll call them User A, User B,
and User C. The following table shows which users engaged with your app each day
and which of those users had a crash that day:
|
Monday
|
Tuesday
|
Wednesday
|
Users who engaged with your app
|
A, B, C
|
A, B, C
|
A, B
|
User that had a crash
|
C
|
B
|
A
|
On Wednesday, your crash-free users percentage is 50% (1 out of 2 users was
crash-free).
Two of your users engaged with your app on Wednesday, but only one of them
(User B) had no crashes.
For the past 2 days, your crash-free users percentage is 33.3% (1 out of 3
users was crash-free).
Three of your users engaged with your app over the past two days, but only
one of them (User C) had no crashes.
For the past 3 days, your crash-free users percentage is 0% (0 out of 3
users were crash-free).
Three of your users engaged with your app over the past three days, but
zero of them had no crashes.
The crash-free users value shouldn't be compared over different time periods.
The probability of a single user experiencing a crash grows the more times they
use your app, so the crash-free users value is likely to be smaller for longer
time periods.
How are crash-free sessions calculated?
The crash-free sessions value represents the percentage of sessions that
happened in your app but did
not
have a crash over a selected time period.
Here is the formula for calculating the crash-free sessions percentage.
Its input values are provided by the Crashlytics SDK, and they're based on
the time period that you've selected from the drop-down menu in the upper-right
of the Crashlytics dashboard.
CRASH_FREE_SESSIONS_PERCENTAGE = 1 - (
CRASHED_SESSIONS
/
ALL_SESSIONS
)
CRASHED_SESSIONS
represents the number of sessions that ended in a
crash over the selected time period.
ALL_SESSIONS
represents the total number of sessions that happened
in your app over the selected time period.
The crash-free sessions percentage is an
aggregation over time
, not an
average.