
Очередной футбольной сезон заканчивается. Самое время вернуться к вопросам справедливости. Давайте попробуем её измерить? Ну хотя бы в футболе.
Какова роль случая в спорте? Действительно ли плей-офф - это лотерея? Портит ли нам впечатление от игры новая схема розыгрыша лиги чемпионов?
Давайте построим много-много графиков и закроем уже этот гештальт.
С чего начать?
Начнём с таких простых тезисов.
В футболе высок фактор случайности. То есть результат любого матча имеет вероятностный характер.
Считаем, что случайные факторы (погода, настроение, перепады формы, отскоки мяча) распределены симметрично относительно команд, т.е. не бывает хронически “везучих” и “невечучих” команд на долгой дистанции. Я знаю, что со мной поспорят болельщики любой команды. И я буду рад реальным контрпримерам.
В футболе высок и фактор навыка (умения, мастерства, класса).
Этот фактор можно обобщить каким-то числом, которое показывает, насколько одна команда сильнее другой.
Это число означает наиболее вероятный вариант развития событий (максимум распределения вероятности). Но возможны и вероятны и другие.
Кроме фактора разницы в классе на развитие матча влияет дисперсия (и связанная с ней волатильность). Это мера того, насколько широк разброс случайности результатов возможен. Она не зависит от класса команд (но может зависеть от их игрового стиля). А ещё она зависит от внешних условий (погода, качество поля, характер судейства, наличие VAR или дополнительных арбитров)
Чем лучше условия, тем величина дисперсии ниже. Если дворовой команде из Омска нужно играть против мадридского “Реала”, то на разбитом газоне в снег ночью у них шансов на положительный результат немного больше, чем на “Бернабеу” в солнечный день при соблюдении всех лигачемпионских стандартов
Разность в классе определяет разницу забитых и пропущенных мячей в матче (+1 или -4), а не общий счёт. Например, разница в 200 пунктов означает +2, но какой именно счёт 2-0, 3-1 или 6-4 - зависит не от класса команд, а других качеств (возможно, игрового стиля).
Все эти тезисы можно собрать в функцию, которая может симулировать футбольные матчи с учётом относительной силы команд и фактора случайности.



Справедливость на дистанции
Если с одним матчем понятно, то теперь давайте возьмём набор команд и представим на секунду, что их настоящая сила а) нам известна, б) не меняется.
И пусть они сыграют турниры по разных схемам, а мы посмотрим, что из этого выйдет.
Кто у нас будет подопытными кроликами?
Начнём вот с таких:

Случайный турнир
Начнём со случайного турнира.
Как это? Очень просто: выбираем случайную пару команд и они играют. Потом ещё одну. И ещё. Всё сводим в турнирную таблицу. Ключевой показатель: среднее количество очков за матч.
Это ужасный формат. Кто-то может сыграть больше игр, кто-то - меньше. Кому-то попадутся соперники слабее, кому-то сильнее. Как мы помним, в таком турнире вероятность сенсации самая большая.
Сколько игр поставить? Ну, допустим, по аналогии с игрой на вылет, по 3 игры на команду, т.е. 24 матча всего.
Итак, что же мы получим?


Дикий разброс числа игр, большая разница в числе набранных очков. И, тем не менее, сильные вверху, слабые - внизу.
Реал сыграл лучше Сити (хотя у нас он чуть-чуть слабее)
Галатасараю не повезло с календарём (две игры против Сити и одна - против Реала),
Порту - наоборот, повезло, сыграл с обоими аутсайдерами.
Но на этом всё.
Вроде и случайный турнир, а не такая уж и лотерея, не находите?
Игра на вылет
Это более классический формат, в него играют и часто. Игру на вылет часто критикуют за высокий фактор случайности. Посмотрим, что выйдет у нас.
У этого формата существует параметр: посев - кто с кем на каком этапе играет. Я реализовал два варианта: в каждом раунде случайные противники и классический посев (в нашем случае, это первая команда играет против пятой, вторая - против шестой и так далее).
А ещё есть фактор ничьих. После них нужно играть дополнительное время и бить серию пенальти. В этой модели мы примем, что вероятность пройти серию пенальти не зависит от сил команды и всегда равно 50%. Лотерея так лотерея. Я понимаю, что это не так, но для нашей модели так заложить вполне логично и достаточно.
Начнём со случайного посева.

И у нас две лучшие команды встретились в финале!
Только одна ничья, лидер (Порту) не смог справиться с более слабой командой (Галатасарай) и проиграл по пенальти.
При "спортивном" посеве почти та же картина, но более показательна.

На каждом этапе есть явный лидер, который справился с андердогом без проблем. В финале те же лица. И даже результат тот же.
Круговой турнир
Пришло время сыграть "всем со всеми". Формат, который считается эталоном справедливости. Проблема в нём только в том, что он долгий. И именно поэтому я список матчей прикладывать не буду, только итоговую турнирную таблицу.

Неожиданностей действительно мало. Но вот Галатасарай смог подняться аж на третье место (по посеву он пятый). Ну и фан-клубу Месси явно не повезло. Они слабее конкурента, но не так, чтобы не забить ни одного гола за 14 матчей.
Общая картина похожа на то, что мы можем видеть в реальных чемпионатах.
Швейцарская система
Это то, что хотели сделать с Лигой Чемпионов, но не смогли.
Формат сложный, общий принцип: "по возможности, ты играешь с соседом по турнирной таблице". Выиграл - получил противника сильнее, проиграл - слабее. Но много раз играть с одним и тем же противником нельзя.
Считается, что эта система более справедлива, чем плей-офф, но играется значительно быстрее, чем "круговик".
Высокая наука говорит, что для 8 команд достаточно трёх туров.

Давайте их сыграем.

И вот у нас первая сенсация! Порту обошёл Сити и опередил Реал по доп показателям! Фан-клуб Роналдо тоже невероятно высоко.
Результат выглядит более случайным, чем у случайного турнира. Как думаете, почему?
Комбинированная система
Это та система, по которой проводилась раньше лига чемпионов и до сих пор проводятся чемпионаты мира и Европы: сначала круговой турнир, но в малых группах, потом игра на вылет.
На всякий случай, сделал и формат "швейцарка + плей-офф". Так мало где играют, но вообще может быть весело.
Все перепетии смотреть не будем, посмотрим, кто дошёл до полуфиналов.

3 и 4 места посева не вышли из группы. В финале наши частые гости.

Никаких сенсаций: лучшие 4 вышли из группы. Две лучшие в финале.

Порту не вышел из группы. Две лучшие в финале.
Индекс справедливости
А как же так, аналитика, big data? Как можно какие-то выводы делать по одному турниру? Тем более ладно бы живые люди, им играть много сложно. Но симуляцию чего б не запустить на много-много матчей и турниров.
Сейчас мы так и будем делать. Для этого надо было глазами посмотреть на то, что код для симуляции различных форматов работает так, как мы этого ждём. А вот теперь начнём настоящие танцы.
Во-первых, 8 команд - это не серьёзно. Теперь у нас будет 32 команды. Полюбившаяся нам восьмёрка останется, дальше добавятся какие-то более-менее случайные команды из ЭЛО-рейтинга.
Что мы делаем дальше? Заставляем виртуальных футболистов играть друг с другом в разных форматах 10 тысяч раз. Кажется, статистика должна накопиться.
Но дальше самое интересное. Ну вот сыграли они, как мы будем оценивать полученный результат?
Во-первых, мы его нарисуем. Сделаем таблицу в стиле opta, в которой у нас будут команды и ожидаемые места. И покажем, как часто та или иная команда занимала определённое место.

Как это читать? Интер в 30% турниров занял третье место. В 2% ему катастрофически не повезло, занял восьмое, в 3% случаев, наоборот, повезло, стал чемпионом.
Хорошо видно, что мы подобрали команды парами. Но и разброс результатов тоже хорошо виден.
А теперь самое главное. Мы сейчас эту таблицу одним числом опишем!
Команды у нас в турнире связаны. Если Реал занял первое место, то Сити его уже не занимает. Везение одного означает невезение другого. Это значит, что на справедливость влияют только вероятности команд занять своё место по посеву, т.е. только диагональ этой таблицы.
Вместо 1024 чисел у нас есть 32, сильно лучше. А как одно получить? Можно просто усреднить. Я "взвешенно" усреднил, посчитал, что предсказание первого место всё-таки чуть-чуть важнее точного предсказания последнего.
И вуаля, у нас есть одно число, которое является индексом спортивной справедливости турнира. Если индекс равен 100%, то это скукота, никаких шансов на сенсации. Если индекс равен 0%, то это значит, что сила команд никак не влияет результат. У рассматриваемой нами таблички индекс равен 42%: точность прогноза мест варьируется от 57% до 9%.
Сравнение систем
Теперь, когда у нас есть индекс справедливости, мы можем делать много-много симуляций и сравнивать турнирные системы между собой.
Абсолютно случайное распределения для 8 команд индекс оценит в 12,5% (вероятность занять любое место одинаковая, 1/8=0,125). Когда в турнире играет больше команд, шансы каждой логично уменьшаются. Если команд 32, то для случайно перемешанных команд индекс покажет число, близкое к 3%. Именно это число возьмём за основу. Форматы наших турниров должны показать индекс выше 3%.
Как думаете, как будут распределены индексы у разных форматов?
Кроме индекса справедливости вывел ещё и чуть более интепретируемую метрику - шансы фаворита занять первое место.

Моделирование подтвердило наши интуитивные представления.
Есть хороший формат (круговик), который более чем в два раза более справедлив, чем другие.
Другие форматы больше чем в два раза лучше, чем просто случайный набор матчей. А вот разница форматов между собой не такая уж и большая. Например, добавление группового этапа улучшает меру справедливости по сравнению с обычной игрой на вылет всего на 24%.
У вас ещё остались вопросы, почему у Манчестер Сити с момента прихода шейхов только одна победа в Лиге Чемпионов, зато 8 побед в чемпионате Англии?
А как же баланс
Целый ряд сильных игроков, в том числе Родриго Касканте попросили меня обсудить ещё один аспект.
Да, мы смогли оцифровать справедливость. Да, мы поняли, что не так уж и важно упарываться по формату. Но всё-таки, хочется иметь хороший турнир и не играть бесконечное количество матчей, как в круговике.
Можно ли найти какой-то формат, оптимальный как по справедливости, так и по числу игр?
Самое простое - это разделить наш "индекс справедливости" на число игр в турнире. Типа, да, признаём, "круговик" у нас в 2,9 раз более справедлив, чем случайный турнир, но игр пришлось сыграть в 3,2 раза больше. Получается, не так уж и круто.

По этому показателю, ожидаемо, с отрывом будет лидировать игра на вылет. Очень мало игр, зато все - самый сок.
И, на самом деле, особо опций не так много. Единственный формат, в котором можно попробовать найти оптимум - это швейцарская система. Там можно менять число туров произвольно. Возможно, где-то баланс сойдётся.
Оказалось, теоретики не дураки. Та самая формула, по которой нужно считать число матчей - она как раз про баланс справедливости и числа матчей.
При увеличении числа туров индекс справедливости швейцарки не растёт, а при очень большом - может и упасть. Внимательное чтение логов помогает объяснить почему. При большом числе туров лидеры уже сыграли друг с другом, начинаются поиски оптимального соперника, который находится всё ниже и ниже. И это перестаёт быть той "швейцаркой", что мы знаем (играешь против тех, кто играет примерно как ты) и начинается быть больше похожим на случайный турнир. А вес первого и последнего тура одинаковый. Вот индекс и падает.
Так что никакой волшебной таблетки. Кто сказал МакМагон?
Другие материалы по теме из Котелка:
Как зануды предсказывают результаты футбольных матчей. Рассказ про попытку построить прогнозы в футболе по историческим данным
Комментарии (6)
sotland
01.06.2025 15:34Надеюсь что матчей в следующем сезоне будет меньше, мне жаль игроков.
Если увлечены футболом и статистикой, сделайте оценку динамики нагрузки на игроков. По километражу, по минутам, по травмам.
shrsh
01.06.2025 15:34Если предлагаемая метрика для "индекса справедливости" зависит только от значений на диагонали, то она получается сильно чувствительной к размерам кластеров команд близкого уровня и разнице в уровне игры соседних кластеров. Это очень хорошо видно на примере пар "Манчестер - Реал Мадрид", "Интер - Арсенал" и тройки "Bayer Leverkusen - Пари Сен-Жермен и Байерн Мюнхен". А вот середина таблицы идёт с очень близким ELO и из-за этого их кластер выходит сильно "размазанным", и роняет "индекс справедливости".
Команды внутри кластеров близкого уровня, поэтому в исходах их игр высока случайная составляющая. А встречи между командами разных кластеров или сильно удалённых друг от друга частей одного кластера гораздо более предсказуемы. Ну и ещё в середине будет много шума из-за того, что одна команда, сильно отклонившаяся от ожидаемого результата, смещает много других команд. В начале или в конце таблицы для этого меньше возможностей.
И теперь пора перейти к вопросу, с которого хотел начать: "А о чём турнир?" Если о том, чтобы выявлять лучшего, и нет возможности играть круговой, то тогда надо сыграть как можно больше матчей с фаворитами. И тут пулы/группы и затем плей-офф или группа финалистов, играющих вкруговую, будут хороши. Если хочется дать всем поиграть с участниками близкого уровня, то швейцарка лучше.
Не пробовали смотреть, между какими командами играются матчи в схеме "группы + плей-офф" и в швейцарке? В первом случае, скорее всего, большинство матчей будет между сильно разными по уровню командами, а во второй будет сравнительно больше встреч между близкими.
Есть подозрение, что более интересной метрикой справедливости было бы что-то на основе расстояния команд от их мест в "честном" порядке. С учётом большей важности первых мест, конечно. Другое дело, что в реальных турнирах мы этот "честный" порядок не знаем. А "справедливость" результата оценить хочется. В этом направлении много можно копаться.
tsaregorodtsev Автор
01.06.2025 15:34Не доля, а расстояние, взвешенное по местам? Интересно, надо будет посмотреть
OlegZH
Да. Но не всё можно было увидеть. Теперь практически всё остаётся за кадром. Если ты, конечно, не пользователь специализированных платформ. А раньше можно было бесплатно по телевизору увидеть очень многое.
Было бы немного удобнее читать более полную статью, а не ходить по ссылкам. Нет-нет. Ссылки очень нужны. Нужно уметь ходить по ссылкам. Но... было бы приятнее и удобнее читать связный пересказ упоминаемого полностью своими словами. Я бы так сделал обязательно.
А вот это уже интересно.
Начать нужно с того, что мяч — круглый. Возможно всё. Ну, почти всё. И Вы, в целом, всё правильно описываете. Но есть и другая точка зрения на футбол: что футбол — это дурацкая игра (как и всякая игра), где 25 идиотов бегают по по полю (22 игрока + 3 судьи) и ещё несколько миллионов это всё смотрят. Ну... это... очень радикальная точка зрения. Ну да. Бегают. Пинают.
А дальше... А дальше начинаются не вполне понятные рассуждения. Надо разбираться. Можно было немного чётче описать что, куда и каким образом берётся, считается и сводится. Выводы, в целом, понять можно. Идея найти какой-то индекс справедливости и, даже, ценность матча, крайне любопытна. Но надо ещё учитывать и то, что на короткой дистанции гранды "засушивают" игру, что существенно повышает долю случайности и сильно искажает результаты. А на длинной дистанции игроки проходят множество волн усталости/готовности, причём как физической, так и и психологической.
Лично мне без всяких расчётов всегда казалась существующая система неудачной. Особенно неудачным я считаю матчи с выбыванием. Да, это существенно ускоряет проведение турнира. Да, это повышает ответственность. Но высушивает игру. В том числе и за счёт того, что много потенциально интересных игр просто не случается. Было бы удобнее организовать чемпионат мира в два этапа: на первом этапе проводится групповой турнир, а на втором этапе собираются лучшие с первого. На каждом этапе все играют со всеми. Но для этого надо. чтобы во второй (финальный) этап проходило немного команд. Восемь команд — это предел. Всё-таки, 28 матчей! Но к этому надо все остальные турниры подтягивать. А то команды сильно разрываются между различными турнирами. А это вносит ещё большую систематическую погрешность в результаты футбольных матчей.
tsaregorodtsev Автор
Спасибо за начало обсуждения!
Понятно, что жизнь сложнее и добавлять факторы можно бесконечно. Это просто модель, по которой какие-то выводы можно сделать.
И даже в рамках этой модели можно заложить, что с ростом числа матчей растёт усталость, а вместе с ней - дисперсия.
С тезисом о том, что ведущая в счёте команда часто стремиться засушить игру соглашусь. С тем, что это повышает фактор случайности - нет. Наоборот, открытая игры "без центра поля", где много ударов, быстрые контратаки и прочие элементы "лихой" игры повышают неопределённость исхода.