Methodology
How we do it
One set of rules for every study, fixed in advance so the result cannot bend towards whatever would be nice to show.
Where the list comes from
The starting point is the open OpenStreetMap database. It is not an official business register: a business absent from it, or listing no website, never enters the check at all. We take businesses of the right type, keep those with a website of their own, and drop social-media pages, directory aggregators and domains from other countries. What remains is the list we work from, and we always state its size. It does not equal the industry: it is the part of it visible in open data.
How we choose who to check
The map query covers the whole country rather than a list of cities: we take every business of the right type that records a website address. The city list exists only to assign each record a stratum — capital, regional centre or smaller town; a business more than 40 km from any of them lands in the "smaller towns" stratum rather than being dropped. Then, when more are found than needed, a program picks the sites: at random, against a quota by stratum. The quota cannot always be held — where fewer eligible sites exist in smaller towns than it needs, the shortfall is filled from the large ones and the sample tilts. We publish the actual split next to the intended one. The randomness is set by a number we record: the same inputs and the same program version produce the same list.
What exactly we measure
Every site is opened by AI X-Ray, the same auditor we run over our own work before handing it to a client. We look at the home page from a phone, several times over, and take the middle result. We check how quickly the main block appears, whether the layout stays still, whether the site is reachable at all, how long the domain and certificate have left, whether server files are left open, whether there is a description for search engines, how a visitor can get in touch, and how the page behaves on a small screen.
What the percentages are counted over
Over every selected site, always. A site that did not open stays in the count — otherwise the worst cases quietly disappear and the industry looks healthier than it is. Because of that, every number of ours should be read as "at least": a site we could not reach may well have had the same problem, but we do not know that, so we do not count it as one. Where a second view is genuinely useful — how fast the sites we could measure actually are, for instance — we give that number too, and say plainly what it is counted over.
What we do not treat as the site's fault
If a site took our check for a robot, asked us not to visit through robots.txt, or redirects to an entirely different domain, that is a limit of our method rather than a flaw in the site. We list those cases separately and never count them among the problems.
How we check ourselves
Before publishing, we split every measured site into two halves that share no site at all, and count each figure separately in both. If the halves come out close, the picture does not depend on which sites happened to come up. If they diverge, we say so.
What our studies do not prove
We measure the state of websites, not the success of businesses. We have no data on the calls, bookings or revenue of the companies we check, so we never claim that a slow site cost anyone a particular sum. Each study is one day's snapshot of one industry in one country; its percentages cannot be carried over to other sectors or markets.