A crash-free session rate is the share of app sessions that end without a crash. Luciq's Mobile App Performance Playbook puts the median at 99.95%, and small gaps add up: at 10 million monthly sessions, a 0.18-point drop means about 18,000 more failed sessions. We'll show how to calculate the rate, benchmark it and improve it.
How do you calculate crash-free session rate?
The formula is straightforward: divide the number of sessions that ended without a crash by the total number of sessions, then multiply by 100. If your app had 1,000,000 sessions in a month and 500 ended in a crash, your crash-free session rate is 99.95%. The important detail is what counts as a session and what counts as a crash. A session typically begins when the app enters the foreground and ends when it goes to background or is terminated. A crash is any unhandled exception or signal that terminates the app without a clean exit. Native crashes, OOM kills and ANRs may or may not be counted depending on your platform and tool; confirm what your monitoring captures before comparing your rate to benchmarks.
Depending on your needs, however, you can twist that formula a bit. It doesn’t make a lot of sense to factor in all the crash occurrences that happened when your old release still had some issues that you've already resolved. Depending on how often your app is being, used the formula can be changed to:
Of course, the period you're looking into is up to you to set and it depends on the number of sessions your app generates. If you have less than 100 daily users, measuring your daily crash-free rate wouldn’t get you very useful results. Also, sessions are not the only variable that you should take into consideration.
Swapping out sessions for users determines the percentage of users that haven't experienced a crash. It makes sense that the user crash-free rate would be lower than the occurrences crash-free rate since the total number of sessions is much higher than the total number of users. The equation would instead be:
Now that you’ve found the best way to determine your app’s crash-free rate, how will it hold up compared to industry standards? Crash-free session rates have improved over the years with easier testing tools and progressively better development techniques. Our app stability data for 2023 shows that apps scoring below 99.9% crash-free sessions are much more likely to be rated below three stars on app stores and the median crash-free session rate for apps rated above three stars hovers around 99.95%.
Let’s look into what these percentages actually mean. Our equation for calculating crash-free sessions would get you the crash-free session percentage. This is the most general use case because it highlights the whole app performance in a simple calculation. How many times your app has been launched, compared to how many times your app hasn't crashed after launch.
The crash-free user percentage gives you a better indication of the user experience your app delivers. Focusing on user crashes highlights different environments for your app's performance. A certain device could be a common factor in crashes or a random occurrence with a particular user,, for example. And since a single user can have many sessions it follows that they are more likely to experience a crash.
Looking at both kinds of crash-free rates will paint a more holistic picture of your users’ app experience when it comes to troublesome crashes. And catching an uptick in crashes early on can help you identify and solve problems in your app before users react negatively.
Can crash-free rates be misleading?
Crash-free rates can tell you a lot about how your app is performing, but they don't always give you the whole picture. One crash might not upset a power user since they're more likely to assume that it's a random crash and an unusual event. A new user, on the other hand, won't be as forgiving. The bigger problem occurs when a single user experiences multiple crashes, especially in a row. The frequency makes it impossible to ignore.
Additionally, crash-free rates do not take into account other fatal stability issues like Out of Memory (OOM) and Application Not Responding (ANR) errors, or less fatal ones like app hangs and forced restarts. Without a holistic view of your app's stability, you can reach your crash-free targets but still deliver an unstable and frustrating experience to your users.
So, you should always aim to have crashes very unlikely to occur--but how exactly can you do that?
Why do small crash-free gaps matter at scale?
A 0.18-point difference in crash-free rate sounds negligible until you apply it to real session volume. At 10 million monthly sessions, moving from 99.95% to 99.77% is 18,000 additional failed sessions every month. Those are 18,000 users who hit a hard stop, not a slow screen or a confusing flow but a complete loss of control. Luciq's 2026 Mobile App Performance Playbook found that 15.4% of users uninstall an app after a single crash, and 30% permanently switch to a competing app after repeated failures. At scale, a fraction of a percentage point in crash-free rate is a measurable number of lost users and lost revenue, which is why engineering leads track it as a business metric alongside crash counts.
Continuous testing
It’s essential to perform thorough testing of the entire app experience. It's easy to get lost in the development cycle and start testing feature by feature as they’re developed. However, testing the whole app experience daily is much more effective. Understanding what the end-user will be experiencing gives you important insights and exposes you to issues that won’t be seen from the developer's side.
Crash reporting
More importantly, when a crash occurs, you need to detect and fix it before hearing they drag down your app's store rating. Using the right mobile crash reporting tool to track your app’s crashes goes a long way in helping you detect crashes in your app and quickly reproduce and debug them to release a fix.
Release management
Having a well-structured release management and monitoring process allows you to track crashes introduced by new versions and quickly take action to prevent them from affecting more users. Using best practices like phased releases, you can ensure that any crashes that do make it into production will have a limited impact and can be quickly addressed.
Past 99.9%: fix the crashes that matter most
Once the obvious crashes are gone, the rest are rare, device-specific and hard to reproduce. Luciq captures every session, groups crashes by root cause and ranks them by user impact, so each fix moves the rate. Verizon raised its crash-free rate from 98.5% to 99.9% this way.



