Why Webperf Cloud and PageSpeed Insights scores don't match

Run the same page through PageSpeed Insights (PSI) and through Webperf Cloud, and you'll often get two different performance scores. PSI says 78, Webperf Cloud says 91, or the other way around. The instinct is to assume one of them is wrong.

Neither is. Both tools run Lighthouse. The same open-source engine, the same audits, the same 0–100 scale. But they run it in different places, on different hardware, under different network conditions. A performance score is not an absolute property of your page. It's a measurement, and every measurement carries the fingerprint of where and how it was taken. Change the conditions and you change the number, even though the page is byte-for-byte identical.

This post is about why the two disagree, how much disagreement is normal, and when to trust which one. Expect a gap, avoid chasing it, and read each tool for what it's actually good at.

Both tools are Lighthouse wearing different coats.

So both start from the same engine. The scores diverge because everything around the engine is different.

Why the scores differ

Several things move the number between the two tools, and not one of them is a bug.

Server location comes first. PSI routes your test through a Google data centre, and the path from that data centre to your origin server is not the path from your machine to your origin. That round trip can add hundreds of milliseconds to Time to First Byte, which flows straight into Largest Contentful Paint. A server in one region testing an origin in another can look meaningfully slower than the same page measured closer to home. Webperf Cloud holds this pretty much constant across your whole site, especially for audits, so pages are comparable to each other. It won't necessarily match Google's geography.

The throttling method matters too. Lighthouse can slow the network and CPU down to simulate a mid-tier phone on a slow connection in two ways. Simulated throttling runs the test fast, then mathematically models what a slow connection would have done. Applied throttling actually throttles the real connection. The two methods don't produce identical numbers, and small differences here ripple through every timing-based metric. Two tools making different throttling choices will report different scores for the same page.

Then there's the hardware itself. Lighthouse emulates a slower CPU by applying a multiplier to whatever machine it's running on. But a 4× slowdown on Google's server hardware is not a 4× slowdown on ours. The baseline is different, so the emulated result is different. Total Blocking Time and anything main-thread-bound is especially sensitive to this. Same page, same multiplier, different underlying silicon, different score.

Both tools also test with a cold cache, every time. No warm cache, no service worker priming, first-visit conditions. That's a deliberate, sensible choice, and Webperf Cloud does the same as PSI for consistency. But it's worth naming, because it explains why any lab tool can look worse than your own browser, where the second load is riding a warm cache. The lab measures the worst realistic case on purpose.

Finally, there's run-to-run variance. Even PSI against itself isn't perfectly repeatable. Run it three times and a few points of wobble is normal. Lab measurement has inherent noise. So part of any gap you see between two tools is simply two samples from two slightly noisy processes, not a systematic disagreement about your page.

Add these up and a 10–15 point difference between Webperf Cloud and PSI is unremarkable. It's the expected consequence of two valid measurements taken under different conditions, not a sign that one tool is broken or that your page changed.

Lab data vs field data

Underneath the score gap is a deeper split, and it's the one worth actually internalising. Lab data and field data answer different questions.

A page can score 95 in the lab and still deliver a poor experience in the field, because real users on mid-range phones over mobile networks are harsher than any controlled test. That's not a contradiction. The two numbers measure different things, which is why both kinds of data exist and why neither tool's lab score is the final word.

One Core Web Vital sharpens all of this. Interaction to Next Paint (INP) measures responsiveness to real user input, such as taps, clicks and key presses. Lighthouse, in either tool, cannot measure INP. There's no user in a lab run to interact with the page. Lighthouse uses Total Blocking Time (TBT) as a lab proxy, but TBT only captures main-thread blocking during initial load. It can't see the sluggish menu, the janky filter, or the form that lags on the fortieth field. The only way to see your real INP is field data. So when INP is your concern, read the CrUX panel, in PSI or in Webperf Cloud. The lab score simply can't answer the question.

When to use PageSpeed Insights, and when to use Webperf Cloud

The two tools complement each other.

Most teams want both. PSI to sanity-check a headline URL against Google directly, and Webperf Cloud to see the site as a whole and know which pages, and what on them, to open first.

What to take away

Whether Webperf Cloud and PSI agree matters far less than whether your pages are getting faster over time, and whether real visitors, in the field, are feeling it.


The whole-site version scores every page, shows the distribution, pulls in the field data, and ranks the pages to fix first. That's Webperf Audit. Have a look at the plans, or write to us at hello@webperf.cloud.