The goal of making websites faster is to make users happier. Since user happiness can't be measured directly, various metrics are used as a proxy for measuring user happiness - start render, First CPU Idle, First Input Delay, etc. Unfortunately, it's often difficult to decide which of these metrics best correlates to user happiness for your site. Further, when viewed in isolation these metrics might not reflect user happiness across your site.
To address these issues SpeedCurve developed the User Happiness metric. It's a combination of multiple performance metrics that are closely tied to delivering a joyous user experience. Combining these metrics into an aggregate metric makes User Happiness more applicable across a wider variety of websites and conditions.
User Happiness is based on determining whether a page view is Happy, Unhappy, or Okay. This classification depends on how a page performs against a set of benchmarks.
Happy Page Views
A page view is considered Happy if it meets ALL of these conditions:
start render < 1100ms
AND page load < 3400ms
AND DOM Content Loaded < 1600ms
AND First Contentful Paint < 1200ms
AND First Input Delay < 8ms
AND First CPU Idle < 3900ms
AND longest Long Task < 380ms
AND total CPU Time < 1300ms
AND the user did not bounce
AND the user did not abandon the page before it finished loading
The thresholds above are the median values across all of SpeedCurve's RUM data. In other words, a page view is considered Happy if the page performed in the top half across all metrics. That sounds like it shouldn't be that difficult, but it can be challenging to achieve top half status across so many metrics.
Unhappy Page Views
A page view is considered Unhappy if it meets ANY of these conditions:
start render > 5200ms
OR page load > 20,000ms
OR DOM Content Loaded > 8300ms
OR First Contentful Paint > 5500ms
OR First Input Delay > 130ms
OR First CPU Idle > 18,700ms
OR longest Long Task > 2300ms
OR total CPU Time > 9300ms
OR the user bounced
OR the user abandoned the page before it finished loading
The thresholds above are the 95th percentile values across all of SpeedCurve's RUM data. In other words, a page view is considered Unhappy if the page performed in the worst 5% of any of the metrics.
Okay Page Views
A page is considered Okay if it is neither Happy nor Unhappy.
The details for your User Happiness chart are seen by click "Help" in the chart header. Here's an example:
The conditions are listed in priority order. In other words, the most stringent condition is listed first. In the example above, only 21% of Happy page views have a First Contentful Paint value less than 1200ms. Therefore, no matter what happens with the other conditions, the number of Happy page views will always be 21% or less. This list gives a prioritized list of the metrics to focus on in order to create more Happy page views: First Contentful Paint, followed by Start Render, followed by DOM Content Loaded, etc.
Looking at the Unhappy page views, the condition that contributes the most is "bounced". In other words, no matter how well the other conditions perform, the number of Unhappy page views will always be 19% or higher.
For some sites, bounce rate isn't a good indicator of user happiness, for example, when running a single page promotion. You can toggle whether bounce rate is included in the User Happiness calculation in your LUX settings: