В прошлой серии знакомый принес импортное за триста и попросил посмотреть результаты московской олимпиады по геометрии. Пока публиковал результаты, пришел второй заказ. На этот раз питерская олимпиада для 4-11 классов: 6 сезонов, 40+ площадок проведения, устный формат. Устный – это когда участник рассказывает решение, жюри кивает или не кивает, черновиков нет, перепроверить нельзя.
И снова импортное за триста. Что ж, триста так триста. Погнали.

В 2000 году экономисты Марк Дагган и Стивен Левитт опубликовали статью Победа – это ещё не всё: коррупция в сумо. Через 5 лет Левитт с соавтором Стивеном Дабнером пересказали ее в своем бестселлере Фрикономика.
Суть исследования Даггана и Левитта была в следующем – на профессиональных японских турнирах сумо борцу нужно одержать 8 побед из 15, чтобы не потерять место в рейтинге. Восьмая победа стоит примерно вчетверо дороже любой другой. И вот борцы, приходящие к последнему дню турнира со счетом 7-7, выигрывают решающую схватку в 80% случаев – при том, что по силе им положено выигрывать в 49% случаев.
Дальше началось самое интересное. Двое бывших борцов раскрыли имена 29-ти нечестных борцов и 11-ти неподкупных. Левитт с Дагганом обогатили этим списком данные. Оказалось, что в схватках двух «нечестных» эффект есть, а против «неподкупного» соперника эффекта нет вообще. Внешний список подтвердил то, что до этого говорила статистика.
Японская ассоциация сумо всё отрицала. Называла обвинения выдумками обиженных бывших борцов. В результате ни один борец не был наказан.
В 2011 году японская полиция, расследуя совсем другое дело о ставках на бейсбол, находит в телефонах подозреваемых SMS-переписку о договорных схватках сумо. Замешаны около 14-ти борцов и несколько наставников. Часть обвиняемых признались. Мартовский турнир в Осаке отменили впервые с 1946 года.
Девять лет между статьей и доказательством. И доказала не статистика – доказали чужие SMS, найденные случайно.
Чужих SMS у меня нет, поэтому, как и в прошлый раз, в этой статье речь пойдет исключительно об одаренности – о площадках, на которых дети внезапно расцвели, о школах, дающих поразительные результаты. Все данные из открытых реестров, все выводы – статистические. Никаких обвинений, не тот уровень доказательности.
Статься разбита на две части. В первой – статистические аномалии на детской олимпиаде и "одаренные" площадки. Во второй – чуть больше самой методологии, для тех, кому интересны сами методы, без привязки к домену.
Прежде чем перейти к находкам, вот масштаб происходящего одной таблицей:

Напомню про ИЧО (Индекс Чудесной Одаренности) – агрегированная оценка от 0 до 100, которая показывает, насколько сильно результат отклоняется от статистически ожидаемого. Считается не по площадке, а по срезу целиком – по конкретному классу конкретного года. Собирается из семи компонент: массовость статистических аномалий, поведение постоянных участников (мультпризеры), каскадный эффект пострадавших призеров, доля затронутых дипломов, показания двух интегральных ML-детекторов (Isolation Forest, L2-distance) и конфликт интересов у координаторов. Значения ИЧО в диапазоне [0;100]: 0 – идеальная параллель, 100 – параллель, в которой не сходится примерно всё.
Ровно половина срезов олимпиады (24/48) оказалась в низкой категории по индексу ИЧО. Абсолютно спокойные – об этом стоит помнить, читая всё остальное.
А теперь про вторую половину.
Олимпиада идет в два тура.
Первый тур – отборочный, онлайн. Ребенок решает задачи дома, фотографирует листки и отправляет организаторам. Внешняя помощь запрещена регламентом. Кем это контролируется – вопрос риторический. Прокторинга нет.
Второй тур – финальный, очный. Более 40 зарегистрированных площадок – от Москвы до Кипра. Вот там и происходит всё самое интересное.
Три особенности регламента очного тура – каждая по-отдельности безобидна:
Формат устный – работу нельзя достать из архива и пересмотреть, ее не существует физически.
Более 40 автономных площадок – у каждой свое жюри, свой координатор, своя миска щей на обед.
Оценка бинарная – задача либо зачтена, либо нет. Никаких полутонов, никаких «два балла из трех».
Теперь складываем. Ребенок рассказывает задачу преподавателю, который его же и учил весь год. Преподаватель ставит плюс или минус. Записей не остается. Проверить это не может никто – ни оргкомитет за сотни-тысячи километров, ни родители, ни соседняя площадка.
Это не заговор. Это просто дверь, которую забыли закрыть.
Дальше добавляем мотив. Для старших олимпиада перечневая, второго уровня: диплом конвертируется в 100 баллов ЕГЭ по профильной математике (при условии, что сам ЕГЭ сдан на 75+). Для младших мотив другой и, возможно, не слабее: диплом четвероклассника – это входной билет в специализированные школы, в репутацию кружка. А репутация кружка для его основателя – это платные ученики на несколько лет вперед.
Начнем с того, что видно глазами. Без статистики, без порогов, без сложных формул.
Нормальная параллель выглядит как пирамидка: Победителей мало, Призеров II степени побольше, Призеров III степени еще больше, а внизу широкое основание из Похвальных отзывов. Так устроена любая олимпиада, где задачи сложнее, чем «дважды два четыре».
А теперь сравним с тремя реальными площадками из реестра.

Казань, 7 класс: 11 победителей, 5 призеров II, 0 призеров III и 14 похвальных отзывов. Ноль призеров III. Целая ступень исчезла. 30 детей дипломантов и ни один не попал в середину. Это как, если бы в классе были только отличники и двоечники. Такое, конечно, бывает, но обычно это говорит не о способностях детей, а о том, кто ставит оценки.
Тюмень, 9 класс: 6 участников – 2 победителя, 2 призера II, 2 призера III и ноль похвальных отзывов. Все шестеро уехали домой с призовым дипломом. Ни одного «ты старался, спасибо за участие». Идеальный набор – чистый углерод, никакого графита.
Санкт-Петербург, 7 класс: 3 победителя – это, кстати, ровно норма, даже чуть ниже; 20 похвальных отзывов – тоже нормально; а посередине: 19 призеров II и ноль призеров III. Это возможно самый изящный случай из трех. Верх не тронут – придраться не к чему. Низ на месте. А вся середина легким движением руки поднята на ступень.
Именно поэтому в новой версии методики появился отдельный тест, который смотрит только на средние ступени, не разбавляя сигнал нормальной верхушкой. На этом срезе тест дает p=0.0007 – это 7 случаев на 10 000.
Мораль простая: если искать что-то в одном месте, найдешь это только в одном месте.
Внимательный читатель спросит: а откуда, собственно, взялась «норма»? Пирамидка считалась по чистым площадкам этой же олимпиады – померяли линейкой, сделанной из того же материала.
Возражение справедливое. Возьмем внешний эталон.
Заключительный этап Всероссийской олимпиады школьников по математике. Совсем другая история: федеральный уровень, шифрованная проверка, письменные работы, апелляции, почти независимое жюри. Если где-то и есть образец того, как распределяются результаты у сильных детей, то это здесь.
Правда дипломы там дают по другому принципу, поэтому напрямую не сравнить. Пришлось привести к общему знаменателю: каждая задача стоит семь баллов, берем максимум своего класса за точку отсчета и считаем, на сколько задач отстал каждый участник: кто идет вровень с лидером – Победитель; минус 1 задача от лидера – Призер II; минус 2 задачи – Призер III; минус 3-4 задачи – Похвальный отзыв.
Вот что получилось за пять последних лет:

Форма не меняется. Победителей единицы, дальше по нарастающей. Год за годом, при разных задачах, разных участниках и разном уровне сложности.
Вот теперь можно говорить, что дело не в линейке.
Дальше карточки по другим четырем площадкам. Устроены одинаково:
Слева паутинка с признаками: перцентили внутри своей страты по размеру, 100 – самое экстремальное значение среди сопоставимых площадок.
Справа – распределение дипломов против чистых площадок того же среза и сводная таблица показателей.
Смотреть надо на форму паутинки, она у всех четырех площадок разная.

Профиль: 15 дипломантов – 5 победителей, 3 призера II, 6 призеров III и всего один похвальный отзыв.
Паутинка почти круглая и почти по внешнему краю. Это значит, что площадка экстремальна по всем осям сразу: и по долям, и по лифтам, и по всем статистическим тестам, и по обоим интегральным ML-детекторам. Интегральная оценка аномальности 41.5 – максимум по реестру за 6 лет. Если бы надо было нарисовать в учебнике картинку «вот так выглядит аномалия», взяли бы эту.
Новая фича – мультипризеры: постоянные участники получают на этой площадке призовые места на целую ступень выше, чем они же на других площадках (12 мультипризеров, p = 0.010). То есть перекос виден не только внутри среза, но и с внешней стороны.
Отмечу ради справедливости: Москва в реестре – это агрегат. Под одним названием может быть несколько школ-организаторов, и сигнал может относиться к одной или нескольким из них, а не ко всем. Клод это оговаривает в отчете и понижает приоритет. Расщепить можно по данным оргкомитета – у них полная информация об организаторах и участниках.

Профиль: 8 дипломантов – 4 победителя, 2 призера II, 2 призера III и целых ноль похвальных отзывов.
Правый график здесь говорит громче любых тестов. У чистых площадок этого среза победителей 0% – ни одного на 52 дипломантов. Здесь – половина площадки.
Лифт победителей – 4.29. Тест по победителям – 0.0042, G-тест – 0.027. Оба интегральных ML-детектора выдают почти рекордные значения: Isolation Forest – 0.593, L2-distance – 9.35. То есть в признаковом пространстве эта площадка не просто далека от центра, она еще и ни на кого не похожа.
Отдельно стоит сказать, что это самый ранний сезон реестра. То, что аномалия такого размера обнаруживается в 2020-2021, а не в последних годах – аргумент против версии «проблема появилась недавно».

Профиль: 49 дипломантов – 2 победителя, 16 призеров II, 14 Призеров III, 17 похвальных отзывов.
Смотрите на правый график, там все видно без слов. У чистых площадок этого среза победителей нет (все уехали в Москву), призеров II – 10%, призеров III – 19%, а похвальных отзывов – 71%. У этой площадки: 4%, 33%, 29%, 35% соответственно. Похоже нижнюю ступень наполовину расселили вверх.
Тест по средним ступеням дает 2.3·10⁻⁵. Это второй по силе статистический результат во всем реестре и получен он не на 6 дипломантах, а на 49. Тест по верхней группе – 0.0001, G-тест – 0.0022.
Мультпризеры на этой площадке получают на целую ступень выше своего уровня, показанного на других площадках.

Профиль: 30 дипломантов – 11 победителей, 5 призеров II, 5 призеров III, 9 похвальных отзывов.
37% победителей против 17% у чистых площадок среза. Тест по победителям – 0.005, по верхней группе – 0.0075. Постоянные участники-мультипризеры получают здесь на треть ступени выше обычного.
Паутинка широкая и ровная, но с провалом в сторону теста по средним ступеням (0.15) и G-теста (0.26). Логично: середина здесь как раз в порядке, вся аномалия сидит на верхней ступени.
Это, кстати, зеркало московского 4-го класса. Там подняли середину, и верх достался попутно. Здесь наоборот – раздут верх, а середина не тронута. Разные механизмы, разные силуэты, и оба ловятся только потому, что тестов на ступени несколько, а не один.
Продолжим. Вот все 28 площадок, попавшие в список аномальных – отсортированы по агрегированной оценке. Колонка «Семейства» показывает, какие группы детекторов сработали: A – доли ступеней, B – лифты, C – статистические тесты, D – мультипризеры, E – ML-детекторы.

Основание попадания в список:
Оценка – взвешенная сумма выше p90;
Сигнал – критический одиночный тест с p < 0.001;
Сито – сработало четыре и более семейства при оценке ниже порога.
20 площадок выше – к аудиту без оговорок.
В серой зоне – 4 площадки, где что-то мешает сделать однозначный вывод:

Еще 4 площадки исключены из списка:

Обратите внимание на площадку #25. Интегральная оценка 31.0 – это третий результат во всем реестре. Десять сработавших метрик – отличный кандидат на заголовок. Но она снята целиком, потому что кросс-проверка сказала иначе.
Отдельный вопрос – это разовая акция или образ жизни? Считаем, сколько раз каждая площадка появлялась в приоритетном списке за шесть лет.

У Москвы девять срезов за шесть лет – это уже не «звезды сошлись».
Хотя опять же: Москва и Питер – самые большие площадки реестра. Чем больше выборка, тем чаще она вообще попадает куда-либо. Часть регулярности объясняется просто размером. Но не вся. Тюмень с шестью участниками попала в список один раз и сразу со второй по величине оценкой во всем реестре.
Забавная деталь: у Ижевска и Кирова в списке есть срезы обоих направлений. В один год жюри строже нормы, в другой – мягче. Это, кстати, самый человеческий из всех паттернов. Состав жюри поменялся – поменялась и планка.
Теперь про тот самый срез с индексом ИЧО 69.95 – 4й класс, 2025-2026. Все три победителя параллели с двух площадок из подозрительного списка. Полная монополия на высшую ступень.
Чтобы понять, почему это важно, надо знать, как выдаются дипломы. Не по местам (первые пять – победители), а по абсолютному порогу: решил столько-то задач – получи такой-то диплом.
Убираем эти две площадки из среза – кто остается на верхнем балле? Никто. Значит, порог победителя опускается на одну задачу вниз, и все, кто набрал на задачу меньше, автоматически становятся победителями. А за ними подтягиваются следующие. И следующие.
Посчитали: 34.2% – каждый третий диплом этого среза мог быть на ступень выше. Это не «у кого-то украли первое место». Это «треть параллели недополучила ступень» и никто из этой трети даже не знает, что что-то произошло. Получили свои дипломы, порадовались, поехали домой.
Это оценка сверху. Реальный эффект меньше, потому что пороги дискретные и сдвигаются не всегда. Но порядок величины и тренд такие.

Обратите внимание на правые графики – старшие 9-11 классы. С 2022-2023 обе метрики падают без остановки. Каскад пострадавших призеров (ДПП): 33.1 → 17.4 → 9.6 → 0. Объем чудесных дипломов (ДЧП): 28.0 → 20.8 → 5.2 → 0. В последнем сезоне по всем трем классам – нули.
Причина скучная и приятная – обе метрики строятся только по аномальным вверх площадкам. В 2024-25 такая осталась одна – Тюмень, 9 класс. В 2025-26 – ни одной. При этом в список дипломантов старшие попадают не реже младших.
Парадокс – там, где приз объективно дороже (100 баллов ЕГЭ и поступление), за 2 года не нашлось ни одной аномальной площадки. А в 4м классе, где приз грамота и репутация кружка, каскад в тот же год добрался до трети параллели.
Объяснение напрашивается одно: за старшими лучше смотрят. А это значит – могут, когда надо.

А это моя самая любимая история в отчете. Есть площадка в Лимассоле – Кипр, средиземноморское солнце, витамин D по расписанию. У площадки есть 4 постоянных участника – мультипризеры. Смотрим, что случилось с ними за один сезон.

Все четверо – с самой нижней ступени до первых двух за один год.

Сразу оговорка – это четыре разных класса. Метрика считается по площадке за всю ее историю, а не по отдельной параллели – иначе траекторий за несколько лет просто негде взять.
Теперь считаем, насколько это удивительно. По всему реестру – 877 траекторий мультипризеров. Такой скачок случается у 7.5% из них. Бывает, дети растут, это нормально.
Но у Лимассола четыре домашних мультипризера, и все 4 выросли. Биномиальный тест дает p = 3.2 × 10⁻⁵.
Дальше нужна поправка на множественность: искали-то мы не конкретно Лимассол, а любую площадку из двадцати девяти. Вероятность, что хоть на одной из 29 площадок все домашние прыгнут разом – 0.0018, один шанс из 563. Порог Бонферрони на 29 сравнений равен 0.0017, и собственное p Лимассола проходит его с полусотенным запасом. Следующая площадка по этой метрике дает p = 0.199 — разрыв в 4 порядка. Метрика не размазывает подозрение по всем, она показывает пальцем на одну площадку.
Для сравнения: во второй части пойдет речь о 19-ти других тестах кросс-проверки по мультипризерам, и там контроль множественных сравнений не проходит ни один. Этот тест проходит.
Что еще интересно: в первых версиях методики Лимассол не ловился вообще ничем. Кросс-площадочные метрики требуют, чтобы ребенок участвовал в разных городах, а эти дети всегда участвовали на одной площадке. Метрики среднего уровня требуют минимум 5-ти постоянных участников, а в Лимассоле их четверо. Он проваливался ровно между всеми классическими тестами, пока не появился тест, который умеет работать с маленькими выборками.
И вторая оговорка: у всех четверых записи 2024-25 года лежат в реестре без указания площадки – поле пустое, как и у всех 4-6 классов того сезона. Лимассол присвоили участникам через процедуру восстановления данных по истории выступлений, детали которой будут во второй части.
Шесть лет данных дают то, чего не было в прошлой серии: 933 участника встречаются в реестре больше одного раза. Это многое меняет, потому что один и тот же участник, оцененный в разные годы разными жюри – это готовый эталон. Считаем разницу, кодируем ступени числами, берем медиану разностей, запускаем ранговый тест. И выясняем, что одаренность носит выраженный географический характер.

Почти полторы ступени разницы – это когда похвальный отзыв в домашних стенах превращается в призера II.
Здесь, правда, есть проблема: 86% постоянных участников пишут только на одной площадке. Прибор есть, но показания снять практически не с чего.
И вторая проблема, помягче, но поважнее. Из того, что участник получает здесь больше, чем в других местах, не следует, что жюри мягче. Может, он просто вырос. Может, здесь лучше учат. Может, он раньше ездил в соседний город, потому что дома площадки не было, а потом она открылась, и рост за 3 года метрика припишет новой площадке. Метод эти причины не различает. Так и написано в отчете Клода отдельным разделом. Мне это, честно говоря, нравится больше, чем сама метрика. Красивую цифру легко продать как доказательство. Здесь Клод ее продает как гипотезу.
А теперь вопрос для тех, кто когда-либо разрабатывал систему обнаружения чего угодно: Вы придумали критерий. Он ловит подозрительных. Сколько подозрительных он поймает на заведомо честных данных?
Правильный ответ: не ноль.
Никогда не ноль. Но мы часто искренне верим, что ноль. Клод проверил честно, перестановочным тестом. Внутри каждого среза перемешал участников по площадкам случайным образом, сохранив размеры. Случайно выбрал столько же «подозрительных» площадок. Посчитали долю дипломов у них. Повторил 500 раз. Медиана – 3.21%.
Это фоновый уровень – столько «подозрительной концентрации» дает олимпиада, где по построению никто ничего не подкручивает. Просто потому, что критерий процентильный: если он ловит верхние пять процентов, то пять процентов и поймает, даже у святых.
Причем это оценка снизу. В симуляции подозрительные площадки тянутся наугад, а настоящие детекторы целятся в хвост распределения – два критерия отбора из четырех процентильные. И срабатывают они у 5–10% площадок при любых данных. Так что реальный фон выше нарисованного.

Дальше сравниваем реальные срезы с этим фоном. И картина отрезвляющая: из 18 активных срезов тест проходят всего 5. Остальные 13 в пределах того, что могло получиться само собой.
Причем есть срезы, где реальная концентрация выглядит устрашающе, а случайная – ещё выше. Например, 2023-24, 10 класс: реальная доля 20.8%, а случайно там может набежать до 43%. Ничего особенного не происходит, просто в срезе мало площадок и любая из них тянет одеяло.
Это, пожалуй, главное, что я бы вынес из всего исследования. Пока вы не посчитали сколько ваш детектор ловит на чистых данных, вы не знаете, что он вообще ловит.

Вернемся к четырем исключенным площадкам, потому что это может оказаться самым недооцененным шагом во всем исследовании.
Попадание в список аномальных означает отклонение, а не знак отклонения – отклониться можно в обе стороны, и метрики орут одинаково громко в обоих случаях.

Три дефляционные площадки – это места, где жюри оказалось строже нормы.
Киров, 7 класс: 6 дипломантов – ни одного призового диплома вообще, только похвальные отзывы. Статистически это ровно такая же аномалия, как раздутый верх. Содержательно – это другое.
Санкт-Петербург, 11 класс – история поинтереснее. Оценка 31.0, третье место в реестре, 10 сработавших метрик – хоть сейчас в заголовок. Смотрим на мультипризеров – их 11, выборка приличная. И оказывается, что на своей площадке они получают в среднем на полступени ниже, чем в других местах. Значит, перекос объясняется не жюри, а составом: собрались сильные дети. Срез снят целиком.
Получается один снятый срез из 28-ми – вроде мелочь. Но метод, который умеет только обвинять – это не метод, а настроение аналитика.
Есть в наборе метрик одна, которая не участвует в подсчете и стоит особняком. Это разметка конфликта интересов: кто держит площадку и связан ли он с участниками. Сбор данных о площадках и разметку Клод делал через deepsearch. Шкала субъективно объективная:
0 – университет или академический центр;
1 – обычная государственная школа;
2 – частный центр, координатор которого сам преподает.
3 – частный центр, где координатор лично учит призеров, либо в реестре встречаются его однофамильцы – Клод нашел 6 таких площадок.
Размечено по открытым источникам: сайты, объявления о наборе, страницы кружков. Никакой инсайдерской информации.
Самый показательный случай тройки – уже знакомый нам Лимассол. Частный центр, координатор преподает лично. Никакой родни, всё чисто по первому признаку: организация частная, и учит тот же, кто потом сидит в жюри. И заметьте, что без всякой родни этого вполне достаточно. Ребенок рассказывает задачу человеку, который весь год готовил его к этой задаче. Дальше всё упирается в одно: насколько этот человек умеет разделять две свои роли. Никаких злодеев для такой конструкции не требуется – хватает обычной человеческой симпатии к своему ученику.

Что важно понимать про эту метрику: она измеряет возможность, а не факт. Тройка не означает, что человек что-то сделал. Она означает, что, если бы он захотел, ему бы никто не помешал. Ровно поэтому эта метрика не входит в подсчет аномальности. Она входит в приоритет проверки. Разница как между «у кассира нет камеры над рабочим местом» и «кассир ворует». Первое – свойство конструкции. Второе – обвинение, для которого нужны совсем другие доказательства.
Из площадок с максимальной оценкой конфликта интересов сильные аномалии показывают не все. И наоборот: самая большая оценка аномальности у площадки с конфликтом интересов = 1, то есть у обычной гос. школы.
Простой связки «частный центр – значит подкручивают» здесь не получается. Было бы удобно, но данные ее не подтверждают. Однако в связке с другими метриками, многое можно объяснить. Здесь работают те же механизмы, о которых мне на мехмате рассказывал однокурсник:
«В мое время такое было. Давали последнюю задачу, которую без подготовки было ооооочень сложно решить. И ее решало два человека: самый очкарик и сын председателя ГорОНО. Потом они вместе ехали на область. Очкарик становился вторым, а гороношник даже в призы не попадал. И так 3 года подряд, пока не сменили председателя»
Если свести все детекторы в один индекс чудесной одаренности (ИЧО) – получится такой список лидеров. Индекс считается по семи компонентам: статистика, мультипризеры, ДПП, ДЧП, IF-score, L2-score и конфликт интересов.

Обратите внимание на 2-ю строку. Объем чудесных дипломов – 40%, а доля пострадавших призеров всего 5.6%. Почему? Потому что верхнюю ступень там никто не монополизировал. Дипломов задето много, но порог никуда не поедет.
Это, кстати, ответ на вопрос, зачем два похожих показателя вместо одного. Один меряет – сколько задето. Второй – насколько глубоко. Совпадают они далеко не всегда.
Всего по реестру: из 48 срезов 24 в низкой категории ИЧО, 8 – в средней, 14 – в высокой и 2 – в средней с оговоркой на малый размер (n<60).
24 из 48 (ровно половина) – абсолютно спокойные. Об этом тоже стоит помнить, когда читаешь всё остальное.
Данные за 6 лет позволяют посмотреть на тренд – он интересный.

Левый график отвечает на вопрос «есть ли в группе проблемные срезы», правый – «какой средний уровень по больнице». Смотреть надо на оба: усреднение по группе прячет отдельные всплески, а максимум ничего не говорит про общий фон.
Старшие классы выправляются. С 37.7 до 13.1 по среднему уровню. Причем и максимум упал: в 2022-23 там был срез с индексом 61.87, а в последнем сезоне проблемных срезов просто нет. Это не статистическая игра, это настоящее улучшение.
Средние держатся высоко все 4 последних сезона, с пиком 55.8%.
Младшие растут. И среднее, и максимум. Последний сезон – рекорд за весь период.
Если же посмотреть не на классы, а на площадки – картина такая:

Москва в зоне внимания практически каждый сезон, но с разной силой. Питер подключается с 2022-23, но далеко не уходит. Казань и Тюмень дают одиночные, зато очень высокие всплески – по разу каждая, но оба раза почти на самом верху.
Тюмень тут особенно показательна: шесть дипломантов, один сезон, вторая по величине оценка аномальности severity за все шесть лет. Маленькая площадка, один класс, один год – и такой результат.
Теперь парадокс. В старших классах на кону объективно больше: 100 баллов ЕГЭ, поступление, судьба. В младших – грамота, репутация кружка, возможно, лагерь и «ученик года». А проблемнее выглядят именно младшие.
Гипотез несколько. За старшими больше присмотра, там и площадок меньше, и они на виду. К диплому одиннадцатиклассника все относятся серьезно, включая тех, кто его выдает. А диплом четвероклассника – это детская история, кто там будет проверять. Вот именно.
Самое интересное в рекомендациях Клода не то, что он порекомендовал (об этом ниже), а то, чего в них нет. Там нет «поймать и наказать». Потому что ловить нечем: письменных работ не существует, личных смс тоже – доказательности не хватает. А сокращать площадки – значит терять охват, ради которого всё и затевалось.

Поэтому логика у Клода другая, хоть и местами наивная – не бороться с возможностью, а убирать выгоду:
Раздельные пороги. Площадки делятся на два пула – с флагами и без. Пороги дипломов внутри каждого считаются отдельно, по одинаковым квотам. Затрат ноль, меняется только процедура подсчета. Эффект: та самая «треть параллели» обнуляется по построению – завышение результатов внутри своего пула перестает отбирать что-либо у чужого.
Единое жюри для высшей ступени. Претендентов на Победителя принимает централизованная комиссия. Бьет ровно туда, где инфляция концентрируется. Сложно, дистанционно практически невозможно.
Прозрачность. Публикация распределения баллов и анонимных треков мультипризеров. Стоит ноль, работает как свет в подъезде – всегда, но иногда темновато.
Есть и другие варианты, они в отчете помечены как эскалация, на случай повторов:
Ротация независимых наблюдателей по площадкам списка: 5-10 выездов в год – объем реалистичный.
Перекрестное проведение – участники проблемной площадки в следующем году сдают в соседнем регионе. Фактор «своего жюри» устраняется полностью, но мера тяжелая.
Что мне нравится в этом списке – он про дизайн, а не про людей. Никого не ловят, никого не наказывают. Просто перестраивают конструкцию так, чтобы подкручивать стало бессмысленно. Потому что, если оставить нишу пустой, ее займет кто-нибудь другой. Всегда занимает. Или можно подождать пока сменится председатель ГорОНО.
И финальное, из того же отчета: «не применять санкции по текущим результатам – уровень доказательности не позволяет» – с этого места начинается вторая часть. Потому что самое интересное не кого поймали, а почему не считается, что поймали.
========================================================
Первая часть была про олимпиаду. Вторая будет про методологию. Олимпиада здесь как полигон: почти все приемы, о которых пойдет речь, переносятся на любую задачу поиска аномалий в поведении множества независимых агентов – от банковского антифрода до контроля качества в торговой сети.
Разберем по порядку: как собирали и восстанавливали данные, чем заряжали модели, как устроен признаковый набор, почему пришлось стратифицировать пороги, что делать с коррелированными признаками, как проверять экспертные веса и почему итоговые выводы сформулированы осторожнее, чем хотелось бы.
Общий пайплайн выглядит так:

Схема, как и в первой серии, нарисована в стиле трансформера: две башни, стеки повторяющихся блоков, после каждого блока отдельная проверка, а огибающая связь сохраняет предыдущее состояние доступным для следующего шага ровно ради того, чтобы при откате не пересобирать всё заново.
1. Всё начинается с короткого промта на сбор данных: пройтись по сайту олимпиады и забрать реестры дипломантов, регламент, список площадок.
2. Дальше парсинг PDF-протоколов в CSV и сборка единого реестра.
3. Затем обработка: восстановление недостающих площадок, нормализация записей, поиск постоянных участников, детекция однофамильцев.
Башня прогоняется по k источникам: кроме самой олимпиады был еще поиск информации по площадкам/организаторам и внешний эталон – протоколы ВсОШ.
4. На вход подается не методология, а промт: исходный промт прошлой серии (~4 страницы), дополнительные экспертные хотелки и первая статья с Хабра целиком. Выход этого шага – полная методология анализа, более 40 страниц сгенерированы Клодом.
5. Дальше четыре повторяющихся блока. Расчет метрик и порогов: 40+ метрик в семи семействах, четыре страты по размеру площадки, эмпирические перцентили вместо назначенных порогов.
6. Отсев признаков и обучение ML-детекторов: корреляционный анализ, ridge-регуляризация весов, на выходе 22 признака, на которых учатся Isolation Forest и L2-distance.
7. Отбор аномальных площадок и индексы: p-value, severity и квадро-сито дают отобранный список, и уже поверх него считаются ИЧО, ДПП и ДЧП.
8. Кросс-проверки и оценка мощности: разметка направления аномалии (инфляция или дефляция), проверка по постоянным участникам (мультипризерам), permutation test.
Весь этот стек прогонялся n раз. Точное число я не считал: итерации шли, пока замечания не перестали менять выводы.
9. Выход – сводный реестр с данными и аналитикой (excel), плюс технический отчет на 60+ страниц.
10. Контур валидации: 5 агентов-валидаторов, устроенных по логике риск-менеджмента. Каждый работает в своей линзе: документарная, арифметическая, методологическая, model risk и воспроизводимость. Идут последовательно, каждый читает отчеты предыдущих. Внутри каждого свои итерации до вердикта «годен». Находки классифицируются на три категории, и правок требует только первая: конкретная проверяемая ошибка. Подробно об этом будет далее, там же про то, зачем понадобился 5-й валидатор.
11. Подготовка статьи – тоже в Клоде, стиль задавался примерами моих околонаучных публикаций. Ручная редактура – до получения читаемого текста.
12. Публикация на Хабр – руками.
Пунктиром показаны два контура обратной связи. Фиолетовый: замечания валидаторов идут не в отчет, а в методологию, после чего пересчитывается вся правая башня и обновляется техрепорт.
Ключевое свойство конструкции – она не сводится к одному числу. На выходе не «оценка подозрительности», а решение, собранное из пяти независимых способов посмотреть на одни и те же данные.

Каждый из пяти методов отвечает на свой вопрос и ошибается по-своему. Статистический тест не знает – похожа ли площадка на другие. Интегральный детектор не знает – значимо ли отклонение. Мультипризеры ничего не говорят о срезе в целом. Случайный baseline не различает конкретные площадки. Совпадение нескольких методов – единственное, на что здесь можно опереться. Один сработавший метод основанием не является, и это правило действует в обе стороны: оно же не позволяет снять подозрение по одному аргументу.
Промтов было два, и назначение у них разное.
Первый – короткий, на сбор данных: пройти по сайту олимпиады, забрать реестры дипломантов, регламент, список площадок. Ничего интеллектуального, обычная задача на аккуратность.
Второй – аналитический. В него подавался промт с прошлой олимпиады объемом около четырех страниц А4, дополнительные хотелки по итогам первой серии и опубликованная первая статья с Хабра.
Промт содержал постановку задачи, определения, каталог метрик, правила выставления флагов и требования к структуре отчета. Статья работала не иллюстрацией, а функциональной частью входа: в ней зафиксировано, что уже объяснено читателю и какие приемы отработаны.
Здесь важно не перепутать вход с выходом: 42 страницы методологии – это результат второго промта, а не то, что в него подавалось. На вход шли 4 страницы + первая статья.
Между двумя олимпиадами много разного: разный формат проведения, разные правила присуждения дипломов, разное количество сезонов, разная структура реестра. Совпадает подход, который целиком описан в рабочем промте.
Дальше промт дорабатывался. Источники доработок удобно разделить на три группы.
1. Предметная специфика – вносилась аналитиком (то есть мной):
Пороговое присуждение дипломов вместо рангового, что потребовало переписать модель каскадного эффекта;
Шесть сезонов вместо одного, что дало отдельное семейство метрик по мультипризерам;
Устный формат, из которого следует принципиальная невозможность перепроверки работ и, соответственно, переориентация всех рекомендаций на аудит у организатора;
Разметка конфликта интересов по открытым источникам;
Проверка знака отклонений и кросс-проверка через дельту по мультипризерам.
2. Свойства данных – обнаруживались по ходу:
Отсутствие площадок в шести срезах с последующей процедурой восстановления;
Расхождение формата ФИО между сезонами;
Систематический перекос отбора в пользу мелких площадок.
3. Инструментальные решения – предлагались Клодом в ходе итераций:
G-тест, учитывающий размер выборки после наблюдения, что сырая дивергенция систематически занижена у крупных площадок;
Точный тест для средних ступеней – после обнаружения, что паттерн «Похвальный отзыв поднят до Призера» не имеет прицельного детектора;
Метрики динамики уровней мультипризеров – закрытие слепой зоны, из которой обнаружился кейс Лимассола;
Permutation baseline – ответ на вопрос о фоновом уровне срабатываний;
Правило критического одиночного сигнала;
Квадро-сито – как независимый от весов контроль отбора.
Разделение условно: аналитик формулирует симптом, Клод предлагает конструкцию, аналитик принимает или отбраковывает. Но пропорция устойчивая – предметное знание приносит эксперт, Клод подбирает под него инструмент.
В реестре обнаружилась дыра. В сезоне 2024-25 для 4-6 классов не были указаны площадки – 522 записи. В 2023-24 для тех же классов вместо площадок указаны школы: только по четвертому классу – 154 уникальных значения. Шесть срезов выпадали из анализа. И это ровно те классы, где, как выяснится позже, самое интересное.
Процедура восстановления опирается на простое наблюдение: участнику целевого среза присваивается площадка, на которой он выступал в другие годы. Обоснование измеримое: из 674 участников с историей выступлений 577, то есть 86%, выступают в одном городе. Оседлость здесь не предположение, а свойство данных.
Кроме того, в сезоне 2024-25 ФИО записаны с отчеством, в остальных годах – без. До нормализации ключа до формы «фамилия+имя» совпадало 13 записей из 522. После – 486.

Покрытие по срезам составило от 31% до 67%. Отсюда следует ограничение, которое зафиксировано в отчете отдельно: выводы по восстановленным срезам относятся к постоянному контингенту площадки, а не к площадке целиком. Формулировка «аномалия среди постоянных участников» корректна, формулировка «аномалия площадки» – нет.
Прием переносится широко. Если в системе есть сущности с историей, пропуски в их атрибутах восстанавливаются по самой истории.
Это, пожалуй, самый утилитарный раздел. Полный каталог того, что вообще считалось: 43 рассчитанные величины – из них 40 метрик и 3 интегральных детектора. Семейства разделены по способу вычисления для последующего анализа корреляций, к которому вернемся в разделе 5.
Как распределены дипломы и баллы внутри самой площадки, без сравнения с кем-либо.

Те же доли, но уже в сравнении с базовым уровнем среза. Здесь же остались тождественные пары – след истории, когда метрики вводились независимо, а на валидации выяснилось, что они совпадают по смыслу.

Отвечают на вопрос «могло ли отклонение возникнуть случайно».

Единственное семейство, которое смотрит за пределы среза – на историю одних и тех же участников. Считается на уровне площадки за все годы.

Работают не с отдельной метрикой, а со всем признаковым пространством сразу. Наибольший вес именно поэтому, что их сложнее обмануть частным артефактом.

Отдельная конструкция не для поиска аномалий, а для снижения дисперсии базового уровня: площадки с двумя-тремя дипломантами поодиночке «шумят», но объединенные по общему признаку ведут себя стабильно.

Проставляются Клодом по открытым источникам. Меряют возможность, а не факт, поэтому влияют на приоритет проверки, но не на оценку аномальности.

G-тест. Сырая дивергенция Кульбака-Лейблера систематически занижена у крупных площадок: при большом числе наблюдений распределение сглаживается, и расхождение с базой уменьшается механически. Величина G = 2·n·KL распределена как χ² с тремя степенями свободы и учитывает размер выборки явно.
Точный тест для средних ступеней. Паттерн, при котором Похвальные отзывы подняты до Призеров III или II при нормальной доле Победителей, не имел прицельного детектора: лифт по верхней группе разбавляется нормальной верхушкой. Именно этот случай разобран в первой части на примере среза с девятнадцатью Призерами II и нулем Призеров III – стандартный лифт по Победителям там равен 0.51, то есть не срабатывает вовсе.
Признак исключается, если стандартное отклонение близко к нулю либо одновременно коэффициент вариации ниже 0.05 и доля наблюдений за 95-м перцентилем меньше 1%. Второе условие проверяет наличие информативного хвоста.
Так, метрика стабильности уровней имеет коэффициент вариации 0.049 (ниже порога), но 10.4% наблюдений лежат за p95, и признак сохранен. А вот #17 выбыла: не выполняются условия применимости почти нигде.
Здесь обнаружилась проблема, стоившая первой версии методики.
Проблема. Корреляция количества дипломантов площадки с итоговой оценкой аномальности составляла -0.246. Отбор аномалий систематически смещался в пользу мелких площадок.
Причина. При n = 5 доля Победителей может принимать только значения 0, 0.2, 0.4 и так далее – распределение дискретно и широко разбросано. При n = 40 доли сглажены. Медиана дивергенции в страте 5-9 участников составляла 0.231 против 0.033 при n ≥ 40. Общий перцентильный порог, посчитанный по всему реестру, крупная площадка не достигала по построению, независимо от того, что там происходило.
Решение. Реестр разбит на 4 страты по размеру: 5-9 участников (115 площадок), 10-19 (41 площадка), 20-39 (29 площадок), 40 и более (11 площадок). Перцентильные пороги для метрик, зависящих от размера выборки, считаются внутри страты. Это касается долей, лифтов, дивергенции, средних по постоянным участникам и скоров ML-детекторов. Статистические тесты, бинарные и дискретные метрики в стратификации не нуждаются – в них учтен размер выборки по умолчанию.
Результат: корреляция снизилась по модулю с -0.246 до +0.057

Вывод: если метрика представляет собой долю, а размеры выборок различаются на порядок, единый перцентильный порог дает систематический перекос. Проверяется оценкой корреляции размера выборки с итоговым скором – если она значимо отлична от нуля, отбор смещен.
Матрица ранговых корреляций признаков использовалась для отбора слабо зависимых признаков перед обучением ML-детекторов. Для Isolation Forest это упражнение не обязательно – он не сильно чувствителен к корреляциям на малых объемах признаков. Для L2-Distance и линейной взвешенной суммы Severity эта процедура необходима.

Всего получилось 25 коррелированных пар с |r| ≥ 0.7, из них 8 пар с |r| ≥ 0.9.
Хорошо видны три группы. Слева вверху – блок долей ступеней, где доли Похвальных и Призовых связаны детерминированно: в сумме они дают единицу. В середине – блок лифтов и тестов, и там самые высокие корреляции. Справа внизу – метрики по мультипризерам, которые почти ни с чем не коррелируют: это и есть тот независимый сигнал, ради которого эти метрики вводились.
Isolation Forest: 300 деревьев, contamination = 0.05, 22 признака после отбора, стандартизация, заполнение пропусков медианой.
L2-distance – евклидово расстояние от центра в стандартизованном пространстве.
Оба ML-детектора отнесены к семейству с наибольшим весом, поскольку интегрируют весь признаковый набор и меньше подвержены частным артефактам отдельных метрик. Корреляция между ними 0.901 – высокая, но не единичная, и различие содержательное, что подробно разбиралось в первой статье.
Isolation Forest измеряет изолированность: насколько объект легко отделить от остальных случайными разрезами. L2 измеряет удаленность от центра. Объект, у которого есть несколько похожих соседей, для Isolation Forest выглядит нормальным – соседи образуют собственный локальный кластер. Для L2 он остается далеким. Таким образом, L2 умеет выявлять системные проблемы – когда несколько площадок/срезов в сговоре. IF такие площадки/срезы будет пропускать.
На плоскости двух детекторов это видно наглядно.

Основная масса площадок лежит вдоль диагонали – оба детектора согласны. Приоритетный список смещен в правый верхний угол, что ожидаемо.
Интересное там, где детекторы расходятся. Лимассол сидит в правом верхнем углу с рекордным L2-расстоянием 14.64, заметно оторвавшись от всех по вертикали: по расстоянию от центра он экстремален, а по изолированности – как несколько других площадок. Есть и обратные случаи: точки правее порога изолированности, но с умеренным расстоянием.
Для каждой площадки приоритетного списка рассчитывается вклад признаков в ее аномальность – нормированный модуль z-оценки в стандартизованном пространстве, устойчивое приближение к значениям SHAP. На Лимассоле топ-3 фактора – метрики динамики уровней мультипризеров (+9.58σ и +9.21σ) и лифт Победителей (+4.78σ). Детектор указал ровно на те метрики, которые дали критический сигнал в точном тесте.
Итоговая оценка аномальности определялась тремя разными методами.
1. Взвешенная сумма: severity = Σ (вес семейства × вес флага), где сильный флаг дает 1.0, слабый 0.5. Ключевое свойство конструкции в том, что оценка растет от числа независимых семейств, давших сигнал: площадка с флагами из четырех семейств весомее, чем с тем же числом флагов внутри одного.
Веса семейств заданы экспертно. И здесь возникает вопрос: как проверить, что веса адекватны, если правильного ответа (разметки) не существует?
Метод, примененный в работе: построить второй отбор, не зависящий от весов. Клод назвал этот метод – квадро-сито.
2. Квадро-сито считает только число сработавших семейств, не используя веса вообще.

Интерпретация: Квадро-сито находит площадки с широким, но неглубоким сигналом; взвешенная оценка Severity – с узким, но сильным, обычно за счет тяжелого семейства интегральных детекторов. Обе категории заслуживают внимания. Большое пересечение означает, что веса в целом адекватны. Если бы 2 независимых способа отбора расходились, это было бы поводом их пересматривать.
3. Критический одиночный сигнал – третье основание включения площадки в список аномалий: любой статистический тест с p < 0.001. Оно введено потому, что взвешенная оценка бинаризует силу сигнала: тест с p = 0.0001 и тест с p = 0.0099 дают одинаковый вклад. Площадка с одним экстремальным сигналом может не набрать агрегатной суммы. Именно так в список попал Лимассол: по взвешенной оценке он на 17-м месте, но точный тест дает p = 3.2 × 10⁻⁵.
Итоговый список формируется по любому из трех оснований: 20 площадок – по взвешенной оценке Severity, 8 – по квадро-ситу (6 из них – по критическому сигналу).
Семейство D выделено отдельно, потому что оно единственное опирается на информацию вне анализируемого среза – на историю участников, попавших в списки дипломантов в разные годы и возможно выступавших на разных площадках.
Логика метрики строилась на том, что площадки могут систематически «тянуть» своих постоянных участников и ни одна классическая метрика этого не увидит:
Кросс-площадочная разность по мультипризерам требует, чтобы участник выступал в разных городах. Для 86% постоянных участников это не выполняется – они всегда участвовали в одном месте;
Средний уровень «домашних» требует не менее пяти наблюдений;
Метрика стабильности уровней была ранее отброшена как неинформативная.
Слепую зону закрыли две метрики: средний прирост уровня «домашних» участников (последний диплом минус первый) и средняя дисперсия уровней внутри участников.
Оценка значимости – биномиальный тест на долю участников с приростом выше 95-го перцентиля реестра. Базовая линия построена на 877 траекториях: средний прирост +0.05, медиана 0.0, порог p95 = +2.5, который встречается у 7.5% траекторий.
Выбор биномиального теста здесь принципиален. Он дает корректный p-value уже при трех наблюдениях, тогда как метрикам на средних и медианах нужно не менее пяти. Именно это позволило работать с маленькими площадками.

Результат по реестру: одна площадка отделяется от остальных на четыре порядка по p-value. У Лимассола 4 «домашних» участника, и все 4 дали прирост выше p95 – p = 3.2 × 10⁻⁵, z-оценка среднего 4.21σ. Следующая по результату площадка имеет p = 0.199. Такой разрыв – хороший признак: метрика не размывает подозрение по всему списку, а указывает на аномалию.
Важное ограничение, зафиксированное отдельно: метрики этого семейства рассчитываются на уровне площадки по всей ее истории, а не отдельного среза, т.к. нужны траектории за несколько лет. Значение дублируется во все срезы площадки, и флаг семейства D может сработать одновременно во всех.
На практике это ограничение создает вполне конкретную путаницу. У Лимассола 4 постоянных участника с приростом уровня, но они распределены по 4-му, 6-му и 7-му классам. А срез, попавший в приоритетный список, только один, 4-й класс с шестью участниками и единственным Победителем. Сопоставление «четверо подскочивших» и «один Победитель в срезе» дает видимое противоречие, которого на самом деле нет: это величины из разных уровней агрегации. При чтении карточки конкретного среза это надо держать в голове, иначе арифметика не сойдется.
Второе, менее очевидное: метрики семейства D опираются на историю участника, а история – это площадка в каждом году его выступлений. Для сезонов, где площадки восстанавливались процедурой из раздела 2, история частично реконструирована. У того же Лимассола записи предыдущего сезона у всех четверых пришли без площадки и были атрибутированы по совпадению участника. Сопоставление отработало штатно и с высокой уверенностью, но зависимость надо фиксировать явно: сильнейший единичный сигнал реестра опирается на восстановленные, а не на исходные данные.
Метрика воздействия ДПП оценивает, сколько дипломов могло бы подняться на ступень выше при устранении аномальных площадок. В предыдущей статье дипломы на олимпиаде присуждались по рангу, т.к. кол-во призеров определялось через фиксированный процент от всех участников, и каскад считался прямо: исключаем завышенного Победителя – все нижестоящие сдвигаются на 1 ступень вверх. В этой олимпиаде присуждение пороговое: диплом определяется числом решенных задач, а не местом в рейтинге. Ванильный ранговый каскад в этих условиях неприменим – Призер II не становится Победителем просто потому, что кого-то из Победителей исключили, у него объективно меньше задач, чем у оставшихся в списке Победителей.
Каскад реализуется единственным способом: через сдвиг порога. Порог сдвинется, если верхний балл монополизирован аномальными площадками. При полной монополии сдвиг осуществляется всегда, при частичной – с вероятностью, пропорциональной доле.
Отсюда конструкция: на каждой ступени ожидаемое число повышений равно доле аномальных на этой ступени, умноженной на число чистых дипломов ступенью ниже. Сумма по всем ступеням, нормированная на общее число дипломов среза, и есть искомая оценка.
На срезе 4 класса 2025-26 доля аномальных на высшей ступени равна 1.0 – все 3 Победителя пришли с аномальных площадок. Итоговая оценка ДПП = 34.2% – максимум за 6 лет.
Метрики воздействия ДПП и ДЧП различаются содержательно. ДЧП (доля чудесных дипломов) у аномальных площадок измеряет объем явления. ДПП (доля пострадавших призеров) измеряет его вертикальную структуру. Метрики ДЧП и ДПП могут различаться в разы, в зависимости от того, на каких ступенях сконцентрированы флаги: на срезе 7 класса 2024-25 объем ДЧП составляет 40.2%, а каскад ДПП всего 5.6% – много затронутых дипломов, но верхняя ступень не монополизирована.
Общая корреляция Пирсона между метриками ДЧП и ДПП равна 0.859, что потребовало ридж-нормализации весов в композитном индексе ИЧО. Обе метрики оставлены как взаимно дополняющие.
Полная картина по семи компонентам индекса ИЧО:

Две пары связаны заметно:
Каскадный эффект ДПП с объемом затронутых дипломов ДЧП – обе растут при усилении монополии одной площадки.
Интегральные детекторы IF и L2 – ожидаемая сильная связь, т.к. оба детектора построены на одном признаковом пространстве, а крупных сговоров между площадками (которые лучше ловит L2) не обнаружено.
Фактор роста дисперсии нигде не превышает 5.05, то есть до серьезной мультиколлинеарности не доходит, но перекос есть. Ридж-нормализация перераспределяет веса: доля коррелирующих компонент снижается, доля независимых растет. Наибольший вес после нормализации получает каскадный эффект ДПП (0.2444), наименьшие – интегральные детекторы (по 0.04), поскольку они дублируют друг друга.
Практический вывод общего характера: прежде чем переносить формулу каскадного эффекта на новую предметную область, нужно разобраться, как в ней физически передается статус с уровня на уровень. Формула, корректная при ранговом распределении, при пороговом дает систематическое занижение.
Попадание в список аномальных означает статистическое отклонение, но не его направление. Метрики размечены на инфляционные, дефляционные и смешанные. Преобладание определяет направление среза.

Дефляционные срезы – площадки, где жюри строже нормы. Они исключаются из аудита. С точки зрения детектора они выглядят точно так же аномально; с точки зрения предмета исследования они не представляют интереса.
Отдельное правило снятия с аудита: инфляционная аномалия исключается, если кросс-проверка по мультипризерам дает отрицательную разность при достаточной мощности выборки. Содержательно это означает, что постоянные участники получают на своей площадке уровень ниже, чем в других местах, и наблюдаемая аномалия на площадке скорее всего объясняется сильным составом участников.
Требование мощности – не менее пяти кросс-контролируемых участников – применяется симметрично: и к подтверждению, и к опровержению. Это принципиально. Соблазн засчитать сильный сигнал на выборке из четырех наблюдений и отбросить слабый как недостаточно обеспеченный данными велик и разрушителен для метода. По этому правилу снят один срез. Два других с отрицательной разностью, но выборками в 4 и 1 наблюдение, получили оговорку, а не снятие.
Кросс-проверка по мультипризерам – это 22 теста (площадки), из которых 19 имеют рассчитанный p-value. Лучший результат: p = 0.0078. При множественных сравнениях порог 0.05 применять некорректно. Если запускать девятнадцать тестов подряд, вероятность получить хотя бы один «значимый» результат чисто случайно равна 62%, а ожидаемое число таких – почти единица.
Контролировать это можно двумя разными способами:
Строгий – следить за вероятностью хотя бы одной ложной находки: так работает поправка Бонферрони.
Мягкий – следить за долей ложных среди объявленных находок: это контроль FDR по процедуре Бенджамини-Хохберга, где для i-го теста в упорядоченном ряду порог равен (i/k)·q.
Клод предложил мягкий подход. Я не стал возражать. Для лучшего теста при k = 19 и q = 0.05 порог равен 0.0026 и здесь 2 подхода дают одно и то же число, расходятся они лишь начиная со второго теста в ряду.

Wilcoxon и BH. Проходят контроль – 0 тестов. Поправка Бонферрони также не преодолена ни одним. Из этого не следует, что все наблюдаемые отклонения случайны. Направленный сигнал сохраняется и по ряду срезов он существенный – разность в 1.5 ступени на выборке из 8-ми участников не перестает существовать оттого, что не проходит формальный контроль. Из этого следует, что одиночный тест на срез недостаточно мощен для контроля множественных сравнений при таком числе параллельных проверок. Выборки составляют от 4 до 37 наблюдений – для прохождения порядка 0.003 при таких размерах нужен существенно более сильный эффект.
Выводы: результаты являются основанием для мониторинга и аудита на полных данных организатора, но не для санкций и не для отзыва дипломов.
Это неудобная формулировка. Написать «выявлено систематическое завышение» было бы и короче, и эффектнее. Но подсвеченные 6 пунктов ограничений, включая агрегированность двух крупнейших площадок, неполное покрытие восстановленных срезов, коррелированные метрики и принципиальная неразличимость четырех каузальных механизмов, не позволяют сделать такое сильное заявление.
Методология, аналитические расчеты и технический репорт проходили внешнюю валидацию через Клод. Схема стандартная: документ отдается агенту-валидатору, тот возвращает список замечаний, замечания устраняются, версия улучшается.
Документы прошли через 4 последовательных валидатора. Обнаружилась неприятная закономерность: количество замечаний на каждом новом валидаторе не убывало, несмотря на отработку в ноль замечаний от предыдущего валидатора.
Первый валидатор нашел свой список критичных и некритичных замечаний. Агент-аналитик за несколько итераций всё исправил. Второй валидатор нашел новый список – часть реальные дефекты, часть вопросы вкуса, часть следствия исправлений после первого и т.д. Третий – снова новый. Четвертый – снова.
Критических замечаний в новых версиях отчетов было немного, но поток не иссякал, и главное не было признака, по которому можно было бы понять, приближается документ к корректности или просто перебирает оптики проверяющих. Отсутствовал критерий остановки.
Формально это было отражено в истории версий документов: 5 итераций внешней валидации, затем полный пересчет по 28 замечаниям заказчика. Документ рос, уверенности не прибавлялось.
Решить проблему получилось через 5-го валидатора – определенного как целостная методика валидации, а не как еще один рецензент с промтом «прочитай и скажи, что не так».
Для пятого валидатора был сгенерирован 4-страничный промт с явным списком проверок:
Воспроизводятся ли все числа отчета из выгрузки;
Согласованы ли определения между разделами – одинаково ли понимается «площадка из списка» в отборе, в расчете воздействия, в permutation-тесте и в кросс-проверке;
Нет ли противоречий между таблицами;
Указаны ли требования к мощности и применяются ли они симметрично;
Перечислены ли известные ограничения с оценкой влияния;
Обосновано ли значение каждого порога;
Не завышает ли агрегированная оценка вклад коррелирующих метрик.
Этой методикой были проверены все четыре предыдущих валидатора. Результат был отражен в структуре итогового документа. Появился раздел контрольных значений. Появился раздел известных ограничений с колонками «влияние» и «план». Появилась явная фиксация единого определения аномалии для всех четырех процедур, поскольку раздельные определения порождали внутренние противоречия. Появилась история версий с разделением исправленного на расчетные ошибки, устаревшее содержание, структурные дефекты и методологические уточнения.
Сам документ на последней итерации был пересобран заново из выгрузки: накопленные точечные правки привели к задвоенным номерам разделов, разделам вне порядка, остаткам расчетов прежних версий и поврежденным числам от глобальных замен. Для документа, правившегося много раз, наступает момент, когда пересборка дешевле починки – ровно как с кодом.
Общий вывод: когда аналитический документ гоняется по внешним рецензентам, решается не та задача. Каждый рецензент – это одно наблюдение из распределения возможных мнений. Добавляя рецензента, вы получаете ещё одну реализацию, но не приближаетесь к сходимости, поскольку не задана функция, которую вы минимизируете.
Сходимость появляется при переходе от вопроса «что скажет проверяющий» к вопросу «какому формальному критерию должен удовлетворять документ». Рецензент при этом не становится лишним – он превращается из источника истины в источник кандидатов на проверку, а решает критерий.
Здесь оставляю свод приемов, применимых за пределами этой задачи:
Проверяйте корреляцию размера выборки с итоговым скором. Одна строка кода обнаруживает систематическое смещение отбора.
Считайте фоновый уровень срабатываний. Он никогда не равен нулю; процентильный критерий по построению кого-нибудь ловит на любых данных.
Размечайте направление аномалии. Детектор без направления одинаково громко сигналит на завышение и на занижение.
Применяйте требования к мощности симметрично – и к подтверждению, и к снятию подозрения.
Используйте точные тесты на малых выборках. Биномиальный тест корректен при трех наблюдениях там, где средние значения бессмысленны.
Разбирайтесь в физике процесса до написания формулы. Каскадная модель, корректная при ранговом присуждении, при пороговом систематически занижает эффект.
Считайте поправку на множественные сравнения и приводите формулировки выводов в соответствие с ней.
Задавайте критерий остановки валидации. Количество рецензентов не сходится к истине.
Статистика не доказывает умысел. Она показывает места, где цифры ведут себя странно, и вежливо отходит в сторону.
Дагган и Левитт опубликовали свои 80% в 2000-м. Ассоциация сумо 9 лет отвечала, что это выдумки обиженных, пока полиция не наткнулась на чужую sms-переписку. Статистика оказалась права, но доказала не она.
«Я потрясён, потрясён до глубины души: здесь играют в азартные игры!»
х/ф «Касабланка»
Рекомендации короткие:
Организаторам: проведите аудит площадок – 28 аномалий, пара недель работы.
Площадкам: почистите историю SMS.