Methodology

How PafCore measures a page

Two people have now asked me this before trusting the number, which is the right thing to ask. So here it is, without the marketing.

The score is Lighthouse's, not mine

I run Lighthouse and read the performance score straight out of the result. I do not recompute it, reweight it, or adjust it. That is why it should match what you get from PageSpeed Insights on the same page.

Mobile by default, because that is Lighthouse's default and the number search reacts to. You can pick desktop instead. The slowdown is modelled rather than applied, again the way Lighthouse does it, so the number does not depend on which machine ran the scan.

Why the page is loaded three times

Because one run is not a measurement. Load the same page three times without touching it and you do not get the same number.

So I report the middle score, and I also report the gap between the highest and lowest run. That gap is the point. If your fix is worth fewer points than the page moves on its own, you cannot tell whether it worked.

Three runs is a small sample. The gap is what I observed, not a statistical margin, and the report says so.

Where the findings come from

The same three loads. I keep the browser trace and the network log, then work backwards from each slow metric to what caused it: what the browser was waiting for, when it found out a file existed, and what was running while it should have been painting.

Each finding is priced against Lighthouse's own scoring curves, so "worth about 9 points" means the score would be 9 higher if that metric reached that value. The improvement itself is an estimate, and the report labels it as one.

What it refuses to do

If a fix is worth less than the gap, it will not tell you to do it first. It says so instead. Some reports end with nothing recommended, which feels like a failure and is the honest answer.

If it can only tie a small part of the problem to files it can name, it says that too, rather than blaming the ones it happened to find.

It leaves out work it caused itself. An automated browser sometimes triggers bot checks that a real visitor never sees, and blaming you for that would be wrong.

And if a bot wall answered instead of your page, it says it did not measure your site, rather than reporting on the bot wall.

What it cannot do yet

Prove a specific change fixed a specific cause. Right now it tells you what to change and how to check it. It cannot yet stand behind the result.

It also reads one page, not a whole site, and it has no data from your real visitors. It is a lab measurement.

If it gets your page wrong

Tell me. Someone did last week and it turned out my score depended on the machine running the scan, which took two days to fix. That was worth more than any compliment.

Scan a page