Mobile app stability and performance are the foundation upon which mobile app success is built, but mobile teams often struggle to measure the overall quality of their app’s user experience. Between crash-free sessions, app hangs, launch and load times, and network performance, it is difficult to quantify each one’s impact on the user experience and decide which to prioritize.
Instabug’s Frustration-Free Sessions solves this by giving you a holistic metric that takes into account all aspects of your app’s performance. Coupled with the automatically prioritized issues list, they make it easy for you to understand your users’ experience and how you can improve it
In this post, we’ll look at Instabug’s Frustration-Free Sessions, automatically prioritized issues list, how they work, and how you can use them to elevate your app.
To calculate Frustration-Free Sessions, Instabug first classifies each user session into one of four categories, according to its user experience:
- Crashing Sessions: Sessions that end with a fatal crash or OOM error.
- Frustrating Sessions: Sessions that experience major issues
- Tolerable Sessions: Sessions that experience minor issues
- Satisfying Sessions: Sessions that provide a smooth performance
This is done by analyzing all stability and performance metrics in the session to determine their user experience. ANR errors, app hangs, and forced restarts are always considered frustrating because they are always noticed by users. The rest of the performance metrics are scored according to how close they are to their target.
After categorizing all the individual metrics, their weighted count is calculated by multiplying them by a predetermined factor, according to their impact on the user experience. The default impact levels are:
- ANRs have the highest impact level because they are highly disruptive to the user experience.
- App launches have a high impact level because they affect your app store ranking and are the first impression users get from your app.
- Forced restarts have a high impact because they are a strong user frustration signal.
- App hangs have a high impact because they are disruptive and highly noticeable.
- Network calls are given a low impact level because they have a lot of occurrences in every session, many of which happen in the background.
- The rest of the metrics are given a medium impact level.
The weighted percentage is then calculated and used to classify the session as a whole. Satisfying sessions have a satisfying weighted percentage above 50%, frustrating sessions have a frustrating weighted percentage above 30%, and the rest are considered tolerable sessions. Finally, Frustration-Free Sessions is calculated as follows:
Frustration-Free Sessions = (Satisfying sessions + 0.5 * Tolerable sessions) / Total sessions

While the default settings are suitable for the majority of cases, you can customize your Frustration-Free Session calculation in three different ways to adapt it to your app’s needs
Customizing metric impact
You can adjust each metric’s impact in the weighted count calculation from the settings page on your dashboard. This determines the multiplier that is applied to the metric in the calculation and can greatly affect its significance in determining the session’s classification. For example, if your app tends to be kept running after launch, you can decrease the weight given to app launches to reflect the user experience.

Adjusting targets
Conversely, you can adjust the target for your performance metrics from the corresponding page on the dashboard. This allows you to fine-tune the effect of that metric on the session’s final classification. For example, you can lower the target completion time for your key user flows to ensure they are highly represented in the final score.

Marking key metrics
Lastly, you can customize your Frustration-Free Sessions calculation by marking or unmarking a performance metric as a key metric. Only key metrics are included in the calculation, and unmarking as a key metric completely removes it from the calculation altogether. For example, you can unmark network calls that happen in the background and don’t affect the user experience to avoid having them weigh on the final score.

The automatically prioritized issues list enables you to turn your Frustration-Free Sessions into actionable next steps by ranking stability and performance issues by the magnitude of their impact on the user experience. Issues that affect a greater number of sessions appear on top of the list, allowing you to pick them up and start debugging them quickly.
From here, you can filter issues by team to find the issues relevant to you and forward them to Jira to add to your queue.
Learn more:
- Fast-Track Success With Frustration-Free Sessions and the Business Impact Dashboard
- Flows Product Tour
- Feature Flags Product Tour
Instabug empowers mobile teams to maintain industry-leading apps with mobile-focused, user-centric stability and performance monitoring.
Visit our sandbox or book a demo to see how Instabug can help your app