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.
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.