Flows Apdex for iOS
This page explains how the Apdex score is calculated for each Flow.
Instabug calculates an Apdex score that reflects the performance of your Flows. An Apdex score ranges between 0 and 1; the higher the value, the better the performance:
- Apdex score ≥ 0.94 equates to Excellent performance.
- Apdex score ≥ 0.85 and < 0.94 equates to Good performance.
- Apdex score ≥ 0.7 and < 0.85 equates to Fair performance.
- Apdex score ≥ 0.5 and < 0.7 equates to Poor performance.
- Apdex score < 0.5 is considered Unacceptable.
The following color-code criteria is also applied:
How is the Flow Apdex calculated?
There are two factors that affect the apdex of a Flow: flow latency, and drop-offs.
Flow Latency
When a completed occurrence of a Flow is collected from the SDK, it is flagged based on the target duration (T) for that Flow. A Flow occurrence is considered:
- Satisfying: if its duration ≤ T
- Tolerable: if its duration > T and ≤ 4T
- Frustrating: if its duration > 4T
Drop-Offs
If the occurrences was a drop-off (and therefore doesn’t have a completion time), we then consider the reason for the drop-off. A Flow occurrence is considered:
- Frustrating: if the drop-off reason was a Crash, User Termination, Fatal ANR, or Fatal App Hang
- Neutral: if the drop-off was due to user abandonment or the flow timing out in the background.
Neutral occurrences don’t affect the Apdex of a Flow in any way.
Apdex Calculation
The Apdex score for the entire flow is then calculated as follows:
- Apdex score = (Satisfying occurrences + 0.5 * Tolerable occurrences) / Total occurrences
- Where: Total occurrences = Satisfying occurrences + Tolerable occurrences + Frustrating occurrences
For example, if a Flow had 5 satisfying occurrences, 3 tolerable occurrences, 2 frustrating occurrences, and 1 neutral occurrence, we discard the neutral occurrence and calculate the Apdex as follows:
Apdex score = (5 satisfying occurrences + 0.5 * 3 tolerable occurrences) / 10 total occurrences = 0.65
How to control a specific Flow's target?
By default, the target for all Flows is set to 0.5 seconds; however, you can easily change this number from your dashboard by clicking on the target highlighted next to each Flow or inside the flow details page.
Updated 5 months ago