Lab vs Field Measurement
In one line
Lab data is a controlled, repeatable simulation good for catching regressions; field data is what your users actually experienced and is the only thing that tells you whether you have a problem.
What it is
Lab measurement — Lighthouse, WebPageTest, a CI performance job — runs the page on a fixed device profile and a throttled network. Because conditions are fixed, the number is comparable between runs, which is what makes it useful for regression detection. It can also measure things field data cannot, like a cold cache on a specific device.
But it is a simulation of one user: usually a mid-tier phone on simulated 4G, with no extensions, no third-party cookie state, an empty cache, and a single geography. Real users are on hundreds of device classes, on real networks with real packet loss, often with a warm cache, sometimes with an ad blocker, and distributed globally.
Field measurement — RUM — instruments real sessions with the web-vitals library and reports back. It captures the actual distribution, which is why the 75th percentile is the number that matters: your median user may be fine while a quarter of your traffic is having a bad time, and the average hides both. CrUX is Google's public field dataset for Chrome users, available in PageSpeed Insights and BigQuery, which is also how you can see a competitor's real numbers.
The practical division of labour: field data tells you whether there is a problem, where, and for whom — by page, device class, country, and connection type. Lab data tells you why, because it gives a reproducible trace to profile.
Two common traps. Optimising a lab score that field data does not reflect — the classic being chasing Lighthouse to 100 while INP stays terrible, because synthetic runs barely interact with the page. And under-sampling: RUM on 1% of traffic gives noisy percentiles, so measure enough to be confident before acting.
Segment before concluding. A single global p75 hides that your Android traffic in one region is failing while desktop is fine.
Why it matters
Teams routinely spend weeks on a lab number that changes nothing for users. Knowing which instrument answers which question is what makes performance work land.
"How do you know your app is fast?" is a standard question, and the strong answer is field data segmented by device and geography, with lab traces for diagnosis.
Key points
- Lab is repeatable and good for catching regressions; field is real and good for knowing whether a problem exists.
- Lab simulates one device on one connection with a cold cache — none of which describes most of your users.
- Report the 75th percentile from field data; averages hide the users having the worst time.
- CrUX is public Chrome field data, usable for your own site and for competitors.
- Field tells you whether and for whom; lab tells you why, with a reproducible trace.
- Segment by device, country, and connection before drawing conclusions from a single number.
- A perfect Lighthouse score alongside failing INP is the classic sign of optimising the wrong instrument.