Our Measurement Methodology
We don't hide how our results are measured. Every method described below is actually implemented in the production measurement engine and is verifiable through the source code. Techniques we plan but haven't yet shipped are separately and explicitly marked as a roadmap.
Academic record published · DOI 10.5281/zenodo.20774011Philosophy
Internet speed is not a single static number but a distribution of measurements that depends on time and conditions. Beyond bandwidth, NQF presents responsiveness under load (RPM, bufferbloat) and which digital experiences you can enjoy smoothly with your connection as a first-class output.
How we measure
Download is done over an HTTP/2 stream and upload primarily with WebSocket binary frames (with an HTTP/2 fallback if WebSocket cannot be established). Latency is measured over a separate connection from the download/upload traffic, so latency under load is not distorted. The server is chosen by the lowest median RTT and test traffic is pinned to a single host.
The reported speed is the P30–P90 trimmed mean obtained by first reducing the samples collected over the 15-second test into 20 buckets and then discarding the bottom 30% and top 10%. This eliminates burst spikes and gives the sustainable real speed.
Technical summary
- Test duration
- 15 s fixed (download + upload)
- Download transport
- HTTP/2 streaming GET
- Upload transport
- WebSocket (primary) · HTTP/2 (fallback)
- Download concurrency
- clamp(round(Mbps/6), 4, 6) streams
- Upload concurrency
- 4 WS sockets · 64 KB chunk · 250 ms bucket
- Reported speed
- bucketize(20) → P30–P90 trimmed mean
- Server selection
- Lowest median RTT · single-host pinning
- Ping
- 5 samples/node · 50 ms · minimum RTT
- RPM
- min(round(60000 / loadedLatency), 2000) · RFC 9097
- Bufferbloat
- max(0, latency under load − idle ping)
What your connection supports
- 4K Video Streaming
- Download > 25 Mbps
- Cloud Gaming
- RPM > 800 · Download > 30 Mbps · ping < 40 ms
- Video Call
- RPM > 200 · ping < 150 ms
Calibration with Speedtest.net (v2.11)
Our engine is calibrated to share the same core statistical reporting (15 s test, P30–P90 trimmed mean, clamp(round(Mbps/6),4,6) concurrency) as the industry's global reference, Speedtest.net v2.11. The points that differ by design — WebSocket-first upload and single-host topology — are explicitly listed in the whitepaper. In an independent three-run comparison, the download deviation was measured at the ±0.2% level.
Roadmap (not yet implemented)
The following methods are design goals; they are not part of the current engine: distribution modeling (KDE) and bimodality detection, spectral analysis with the Welch periodogram, path decomposition, HTTP/3 + QUIC transport, Z-score outlier handling and native (iOS/Android) clients.
Citation and contact
The whitepaper is published on Zenodo as a permanent academic record. For citation, DOI: 10.5281/zenodo.20774011.
Citation (APA):
Karakaş, F. (2026). NETMETRİK Quality Framework (NQF): An As-Built Methodology for Browser-Based Internet Quality Measurement. NETMETRİK. https://doi.org/10.5281/zenodo.20774011
BibTeX:
@techreport{netmetrik_nqf_2026,
author = {Karakaş, Fatih},
title = {{NETMETRİK Quality Framework (NQF): An As-Built Methodology
for Browser-Based Internet Quality Measurement}},
institution = {NETMETRİK},
year = {2026},
doi = {10.5281/zenodo.20774011},
url = {https://doi.org/10.5281/zenodo.20774011}
}For questions about the methodology, [email protected].