For the complete documentation index, see llms.txt. This page is also available as Markdown.

Frustration Impact

Frustration Impact shows how much an issue contributes to frustrating sessions, driving both your score and where the issue ranks.

What is Frustration Impact?

Frustration Impact helps you understand how much each issue in your app contributes to frustrating sessions, affecting both your Frustration score and issue prioritization. This calculation ensures that the issues causing the most user frustration are ranked higher in the Issues List, helping you focus on what matters most.


Frustration Impact Levels

To better understand the significance of each issue based on its Frustration Impact, issues are classified into the following categories:

  • High Impact: Issues with a Frustration Impact of ≥0.5%. These are critical and require immediate attention.

  • Medium Impact: Issues with a Frustration Impact between 0.01% and 0.5%. These should be addressed after high-impact issues.

  • Low Impact: Issues with a Frustration Impact of <0.01%. These have minimal impact but may still need resolution over time.

  • No Impact: Issues that don’t affect your frustration-free sessions score, including:

    • APM groups where all occurrences are satisfying (Frustration-Free Sessions 1).

    • Metrics marked as non-key by your team.

These thresholds apply to the Frustration Impact score itself, which already accounts for each issue type's baseline.


How is Frustration Impact Calculated?

The Frustration Impact of an issue reflects its effect on your app's frustration-free sessions by estimating the percentage of frustrating or tolerable sessions it causes, weighted by how much of a session that issue type costs. That weight is the issue type's baseline. A fatal crash ends the session, so its baseline is 1.00. A slow screen load costs a fraction of a session, so its baseline is 0.10, and it needs ten times as many frustrating sessions to reach the same impact level.

Luciq sets a default baseline for every issue type. Anyone who can view your Frustration-Free Sessions settings can review them under Settings → Issue impact, and anyone who can edit those settings can adjust them for your app.

For performance issues:

Example 1: Cold App Launch

We approximate the percentage of sessions that were frustrating or tolerable due to the cold app launch, then weight it by the app launch baseline. We calculate this by considering how bad the cold app launch is within all app launches, and how much app launches contribute to frustrating and tolerable sessions in total.

Where:

Example 2: Network Requests

We approximate the percentage of sessions that were frustrating or tolerable due to this particular network request, then weight it by the network baseline. We calculate this by considering how bad the network request is within all networks, and how much networks are contributing to frustrating and tolerable sessions in total.

Where:

Example 3: App Hangs

Where:

Notes:

  • This calculation applies to app launch, networks, screen loading, flows, UI hangs, app hangs, and force restarts.

  • When calculating Frustrating/Tolerable Sessions Caused by an issue, tolerable sessions are given half the weight compared to frustrating sessions.

  • Dissat count = (number of frustrating occurrences) + 0.5 * (number of tolerable occurrences)

  • The Frustration Impact is then multiplied by the issue type's baseline.

For Crashes:

A crash occurrence disrupts the user session completely. So we calculate the percentage of sessions this crash impacted, then multiply it by the issue type's baseline.

Notes:

  • This calculation applies to fatal crashes, ANRs for Android, and OOMs for iOS.

Last updated