Ошибка, которая делала наши цифры лучше: как мы нашли её и убрали
Коротко
Мы измеряем доступность сайтов: может ли человек, который не пользуется мышью, пройти по странице с клавиатуры и получить то, за чем пришёл. За неделю мы обошли десятки тысяч коммерческих сайтов США.
Восьмого сентября мы нашли в своём обходе две ошибки. Обе делали наши цифры красивее, чем есть. Мы их убрали. Рассказываем, как они выглядели изнутри, потому что это ровно тот случай, который в чужих отчётах обычно не показывают.
Первая ошибка: страница-препятствие, засчитанная как безупречный сайт
Крупные сети защищаются от автоматических обращений. Наш обход приходил на такой сайт и получал не сайт, а страницу проверки: «Robot or human?».
Дальше происходило вот что. Сервер отвечал кодом 200 — «всё хорошо». Страница отрисовывалась. Движок проверки доступности отрабатывал по ней и находил ноль нарушений. И это правда: на странице с одной надписью и одной галочкой нарушать нечего.
В журнал уходила запись: измерено, нарушений нет.
То есть сайт, который не пустил нас внутрь, попадал в статистику как образцовый. Таких записей оказалось более четырёх тысяч, из них 3 227 с круглым нулём нарушений.
Вторая ошибка: одна сеть весом в тысячу компаний
Мы берём адреса сайтов из открытого реестра организаций. У сетевых компаний в реестре каждая точка — отдельная запись, и у каждой в поле «сайт» стоит один и тот же адрес.
Замер показал: 57 401 проверка сделана на 8 170 уникальных доменах. Семь проверок на домен. Один известный кофейный бренд был измерен 5 739 раз — по числу его кофеен.
Если считать долю «сайтов с нарушениями» по числу проверок, одна сеть получает вес пяти тысяч независимых компаний. А у крупных сетей сайты, как правило, хорошие: на них работают целые отделы.
Что изменилось в главном числе
доля сайтов с нарушениями по проверкам (неверно) ............ 60,0 % по уникальным сайтам, без капч .... 77,9 % сдвиг ............................. 17,8 процентного пункта
Обратите внимание на направление. Мы занижали собственный результат. Исправив ошибку, мы получили цифру, которая звучит для нас выгоднее.
Именно поэтому мы о ней и пишем. Правку, которая делает твой результат хуже, вносят из осторожности. Правку, которая делает его лучше, легко не заметить и не искать — и вот это самое опасное свойство обеих ошибок: они не вызывают подозрений. Данные выглядят нормально. Ничего не падает. Никто не жалуется.
Как это нашлось
Мы не искали ни того, ни другого.
Мы проверяли совсем другое: что у каждого измеренного сайта есть свой снимок экрана, а не подставленный. Для этого считали долю уникальных контрольных сумм снимков. Уникальных оказалось 74,4 % — то есть четверть снимков повторялась.
Дальше мы открыли повторы глазами. В первой же тройке примеров был сайт крупной торговой сети с заголовком «Robot or human?» и нулём нарушений.
Отсюда простой вывод, который мы забираем в свою методику: контрольная сумма снимка — дешёвая и очень сильная проверка. Она ловит сразу два разных класса ошибок — подставленный замер и повторяющиеся входные данные. Теперь она будет в каждом нашем обходе.
Что мы НЕ стали делать
Мы не остановили идущий обход.
Проверка показала, что чинить нужно счёт, а не сбор: в каждой записи журнала сохранены заголовок страницы, домен, код ответа и контрольная сумма снимка. Этого достаточно, чтобы отделить страницы-препятствия и свернуть сети уже после обхода. Данные целы, ничего не нужно собирать заново.
Это уже второй раз, когда наше число уменьшилось не в нашу пользу
Первого сентября мы насчитали 1 498 мёртвых доменов у муниципальных сайтов. Восьмого сентября пересчитали: 1 441. Пятьдесят пять доменов, которые мы числили мёртвыми, ответили при повторной проверке, ещё два — с третьей попытки.
Большее число выглядело внушительнее. Мы оставили меньшее.
Контрольная сумма, которую можно проверить вслух: 1 441 + 10 461 = 11 902 — это все муниципальные сайты в нашей выборке.
Что проверили отдельно
Мы прогнали тем же способом наш муниципальный обход — тот, чьи данные уже выложены открыто. Перекоса там нет: 95 524 проверки сделаны на 11 902 уникальных сайтах, по восемь страниц на каждый, страниц-препятствий ноль. Муниципальные сайты капчу не ставят.
Выложенные данные поправки не требуют. Она нужна только коммерческому обходу, который ещё идёт.
Почему мы вообще про это пишем
Потому что цифра без знаменателя — это не измерение, а впечатление. Когда кто-то говорит «78 % сайтов недоступны», единственный честный вопрос к нему: 78 % от чего именно, и что вы выбросили из знаменателя.
Мы отвечаем заранее: доля считается от уникальных сайтов, а не от числа проверок, и страницы-препятствия в знаменатель не входят. Без этой поправки у нас получилось бы 60 %, с ней — 78 %. Мы взяли ту цифру, которую можем защитить.
Данные, код и снимки экрана открыты. Проверьте нас.