The math behind your Nightingale score

Every page load recorded by Nightingale is assigned a score from 0 to 100. The overall score gives you a single number to track over time. But it is a weighted summary, not a black box. Here is exactly how it works.

The five metrics

Nightingale measures all five Core Web Vitals and diagnostic metrics: LCP, INP, CLS, FCP, and TTFB. Each one is scored individually on a 0–100 curve based on Google's published thresholds for good, needs improvement, and poor.

The curve is intentional. A value just inside "good" scores around 85, not 100. A value just past the "poor" threshold doesn't cliff-edge to zero; it decays gradually. That is because a site at 2.6s LCP is meaningfully better than one at 4s, even though both are technically "poor."

The weightings

The five individual scores are combined into an overall score using weightings based on Google's Lighthouse method, adjusted for real-user data:

MetricWeight
LCP Largest Contentful Paint25%
INP Interaction to Next Paint30%
CLS Cumulative Layout Shift25%
FCP First Contentful Paint10%
TTFB Time to First Byte10%

LCP and INP carry the most weight because they most directly affect how fast and responsive a page feels to a real user. CLS follows closely. Unexpected layout shifts disrupt the experience. FCP and TTFB are included as diagnostic signals rather than primary measures of user experience, so they carry less weight.

How Nightingale differs from Lighthouse

Lighthouse uses Total Blocking Time and Speed Index in its scoring. Both are lab metrics that can't be measured from real users. Nightingale replaces these with INP and TTFB respectively, which measure the same problems from actual page loads rather than simulated ones.

Frequently Asked Questions

Why does a good score on every metric not always equal 100?

Because the curve rewards being well inside "good" rather than just scraping past the threshold. A perfect score requires consistently excellent performance across all five metrics. Not just clearing the bar.

My LCP is poor but my overall score is still high. Why?

The overall score is a weighted average. Strong performance on INP, CLS, and FCP can offset a weaker LCP. The per-metric gauges on your dashboard will always show you where the problem is. The overall score is a summary, not a substitute for looking at the individual metrics.

Start monitoring your real users

See exactly how your site performs with Core Web Vitals, GitHub sync, and straightforward pricing.

Start monitoring for $9/month

100k page loads included · 7 days free

Performance monitoring for the rest of us.

Nightingale
    • Monitor performance in real-time

      View the demo to see how Nightingale monitors itself

    • All five Web Vitals metrics

      Track individual metrics and overall scores over time

    • GitHub integration

      Map slowdowns to commits, and fix issues faster

    • Enterprise data. Indie price.

      See how we compare to the giants in the industry

  • Pricing
  • Contact
LoginGet Started