Очередной футбольной сезон заканчивается. Самое время вернуться к вопросам справедливости. Давайте попробуем её измерить? Ну хотя бы в футболе.

Какова роль случая в спорте? Действительно ли плей-офф - это лотерея? Портит ли нам впечатление от игры новая схема розыгрыша лиги чемпионов?

Давайте построим много-много графиков и закроем уже этот гештальт.

С чего начать?

Начнём с таких простых тезисов.

  1. В футболе высок фактор случайности. То есть результат любого матча имеет вероятностный характер.

  2. Считаем, что случайные факторы (погода, настроение, перепады формы, отскоки мяча) распределены симметрично относительно команд, т.е. не бывает хронически “везучих” и “невечучих” команд на долгой дистанции. Я знаю, что со мной поспорят болельщики любой команды. И я буду рад реальным контрпримерам.

  3. В футболе высок и фактор навыка (умения, мастерства, класса).

  4. Этот фактор можно обобщить каким-то числом, которое показывает, насколько одна команда сильнее другой.

  5. Это число означает наиболее вероятный вариант развития событий (максимум распределения вероятности). Но возможны и вероятны и другие.

  6. Кроме фактора разницы в классе на развитие матча влияет дисперсия (и связанная с ней волатильность). Это мера того, насколько широк разброс случайности результатов возможен. Она не зависит от класса команд (но может зависеть от их игрового стиля). А ещё она зависит от внешних условий (погода, качество поля, характер судейства, наличие VAR или дополнительных арбитров)

  7. Чем лучше условия, тем величина дисперсии ниже. Если дворовой команде из Омска нужно играть против мадридского “Реала”, то на разбитом газоне в снег ночью у них шансов на положительный результат немного больше, чем на “Бернабеу” в солнечный день при соблюдении всех лигачемпионских стандартов

  8. Разность в классе определяет разницу забитых и пропущенных мячей в матче (+1 или -4), а не общий счёт. Например, разница в 200 пунктов означает +2, но какой именно счёт 2-0, 3-1 или 6-4 - зависит не от класса команд, а других качеств (возможно, игрового стиля).

Все эти тезисы можно собрать в функцию, которая может симулировать футбольные матчи с учётом относительной силы команд и фактора случайности.

Пример работы функции. Встреча команд с разбросом в силе примерно равным командам Манчестер Сити и Брентфорд. В среднем, конечно, одна сильнее другой. Правая часть графика - больше повезло фаворитам, левая - андердогам.
Пример работы функции. Встреча команд с разбросом в силе примерно равным командам Манчестер Сити и Брентфорд. В среднем, конечно, одна сильнее другой. Правая часть графика - больше повезло фаворитам, левая - андердогам.
Чуть-чуть про дисперсию
Чуть-чуть про дисперсию
И прямое следствие прошлого графика. Если вы не фаворит, то вам надо пытаться максимально бустить дисперсию
И прямое следствие прошлого графика. Если вы не фаворит, то вам надо пытаться максимально бустить дисперсию

Справедливость на дистанции

Если с одним матчем понятно, то теперь давайте возьмём набор команд и представим на секунду, что их настоящая сила а) нам известна, б) не меняется.

И пусть они сыграют турниры по разных схемам, а мы посмотрим, что из этого выйдет.

Кто у нас будет подопытными кроликами?

Начнём вот с таких:

Набор команд для первого эксперимента с турнирными системами. Как видите, команды распределены попарно: две команды близки друг к другу по силе, а между соседними группами - пропасть.
Набор команд для первого эксперимента с турнирными системами. Как видите, команды распределены попарно: две команды близки друг к другу по силе, а между соседними группами - пропасть.

Случайный турнир

Начнём со случайного турнира.

Как это? Очень просто: выбираем случайную пару команд и они играют. Потом ещё одну. И ещё. Всё сводим в турнирную таблицу. Ключевой показатель: среднее количество очков за матч.

Это ужасный формат. Кто-то может сыграть больше игр, кто-то - меньше. Кому-то попадутся соперники слабее, кому-то сильнее. Как мы помним, в таком турнире вероятность сенсации самая большая.

Сколько игр поставить? Ну, допустим, по аналогии с игрой на вылет, по 3 игры на команду, т.е. 24 матча всего.

Итак, что же мы получим?

Случайный турнир. Матчи команд
Случайный турнир. Матчи команд
Случайный турнир. Итоговая таблица
Случайный турнир. Итоговая таблица
  • Дикий разброс числа игр, большая разница в числе набранных очков. И, тем не менее, сильные вверху, слабые - внизу.

  • Реал сыграл лучше Сити (хотя у нас он чуть-чуть слабее)

  • Галатасараю не повезло с календарём (две игры против Сити и одна - против Реала),

  • Порту - наоборот, повезло, сыграл с обоими аутсайдерами.

Но на этом всё.

Вроде и случайный турнир, а не такая уж и лотерея, не находите?

Игра на вылет

Это более классический формат, в него играют и часто. Игру на вылет часто критикуют за высокий фактор случайности. Посмотрим, что выйдет у нас.

У этого формата существует параметр: посев - кто с кем на каком этапе играет. Я реализовал два варианта: в каждом раунде случайные противники и классический посев (в нашем случае, это первая команда играет против пятой, вторая - против шестой и так далее).

А ещё есть фактор ничьих. После них нужно играть дополнительное время и бить серию пенальти. В этой модели мы примем, что вероятность пройти серию пенальти не зависит от сил команды и всегда равно 50%. Лотерея так лотерея. Я понимаю, что это не так, но для нашей модели так заложить вполне логично и достаточно.

Начнём со случайного посева.

Турнир на вылет со случайным посевом. Матчи команд
Турнир на вылет со случайным посевом. Матчи команд

И у нас две лучшие команды встретились в финале!

Только одна ничья, лидер (Порту) не смог справиться с более слабой командой (Галатасарай) и проиграл по пенальти.

При "спортивном" посеве почти та же картина, но более показательна.

Турнир на вылет с посевом по рейтингу. Матчи команд
Турнир на вылет с посевом по рейтингу. Матчи команд

На каждом этапе есть явный лидер, который справился с андердогом без проблем. В финале те же лица. И даже результат тот же.

Круговой турнир

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

Круговой турнир. Итоговая таблица
Круговой турнир. Итоговая таблица

Неожиданностей действительно мало. Но вот Галатасарай смог подняться аж на третье место (по посеву он пятый). Ну и фан-клубу Месси явно не повезло. Они слабее конкурента, но не так, чтобы не забить ни одного гола за 14 матчей.

Общая картина похожа на то, что мы можем видеть в реальных чемпионатах.

Швейцарская система

Это то, что хотели сделать с Лигой Чемпионов, но не смогли.

Формат сложный, общий принцип: "по возможности, ты играешь с соседом по турнирной таблице". Выиграл - получил противника сильнее, проиграл - слабее. Но много раз играть с одним и тем же противником нельзя.

Считается, что эта система более справедлива, чем плей-офф, но играется значительно быстрее, чем "круговик".

Высокая наука говорит, что для 8 команд достаточно трёх туров.

Оптимальное число туров для того, чтобы расставить N команд для первых k мест
Оптимальное число туров для того, чтобы расставить N команд для первых k мест

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

Швейцарская система. Итоговая таблица
Швейцарская система. Итоговая таблица

И вот у нас первая сенсация! Порту обошёл Сити и опередил Реал по доп показателям! Фан-клуб Роналдо тоже невероятно высоко.

Результат выглядит более случайным, чем у случайного турнира. Как думаете, почему?

Комбинированная система

Это та система, по которой проводилась раньше лига чемпионов и до сих пор проводятся чемпионаты мира и Европы: сначала круговой турнир, но в малых группах, потом игра на вылет.

На всякий случай, сделал и формат "швейцарка + плей-офф". Так мало где играют, но вообще может быть весело.

Все перепетии смотреть не будем, посмотрим, кто дошёл до полуфиналов.

Комбинированная система. Классика: 2 группы + на вылет. Участники полуфиналов и финалов
Комбинированная система. Классика: 2 группы + на вылет. Участники полуфиналов и финалов

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

Комбинированная система. Упоротый: одна группа на 8 команд, 4 лучшие выходят в полуфинал.
Комбинированная система. Упоротый: одна группа на 8 команд, 4 лучшие выходят в полуфинал.

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

Комбинированная система. Лига Чемпионов здорового человека: швейцарка + на вылет
Комбинированная система. Лига Чемпионов здорового человека: швейцарка + на вылет

Порту не вышел из группы. Две лучшие в финале.

Индекс справедливости

А как же так, аналитика, big data? Как можно какие-то выводы делать по одному турниру? Тем более ладно бы живые люди, им играть много сложно. Но симуляцию чего б не запустить на много-много матчей и турниров.

Сейчас мы так и будем делать. Для этого надо было глазами посмотреть на то, что код для симуляции различных форматов работает так, как мы этого ждём. А вот теперь начнём настоящие танцы.

Во-первых, 8 команд - это не серьёзно. Теперь у нас будет 32 команды. Полюбившаяся нам восьмёрка останется, дальше добавятся какие-то более-менее случайные команды из ЭЛО-рейтинга.

Что мы делаем дальше? Заставляем виртуальных футболистов играть друг с другом в разных форматах 10 тысяч раз. Кажется, статистика должна накопиться.

Но дальше самое интересное. Ну вот сыграли они, как мы будем оценивать полученный результат?

Во-первых, мы его нарисуем. Сделаем таблицу в стиле opta, в которой у нас будут команды и ожидаемые места. И покажем, как часто та или иная команда занимала определённое место.

Тепловая карта, которая показывает вероятность команды занять то или иное место. Пример для кругового турнира. Выборка на 100 симуляциях
Тепловая карта, которая показывает вероятность команды занять то или иное место. Пример для кругового турнира. Выборка на 100 симуляциях

Как это читать? Интер в 30% турниров занял третье место. В 2% ему катастрофически не повезло, занял восьмое, в 3% случаев, наоборот, повезло, стал чемпионом.

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

А теперь самое главное. Мы сейчас эту таблицу одним числом опишем!

Команды у нас в турнире связаны. Если Реал занял первое место, то Сити его уже не занимает. Везение одного означает невезение другого. Это значит, что на справедливость влияют только вероятности команд занять своё место по посеву, т.е. только диагональ этой таблицы.

Вместо 1024 чисел у нас есть 32, сильно лучше. А как одно получить? Можно просто усреднить. Я "взвешенно" усреднил, посчитал, что предсказание первого место всё-таки чуть-чуть важнее точного предсказания последнего.

И вуаля, у нас есть одно число, которое является индексом спортивной справедливости турнира. Если индекс равен 100%, то это скукота, никаких шансов на сенсации. Если индекс равен 0%, то это значит, что сила команд никак не влияет результат. У рассматриваемой нами таблички индекс равен 42%: точность прогноза мест варьируется от 57% до 9%.

Сравнение систем

Теперь, когда у нас есть индекс справедливости, мы можем делать много-много симуляций и сравнивать турнирные системы между собой.

Абсолютно случайное распределения для 8 команд индекс оценит в 12,5% (вероятность занять любое место одинаковая, 1/8=0,125). Когда в турнире играет больше команд, шансы каждой логично уменьшаются. Если команд 32, то для случайно перемешанных команд индекс покажет число, близкое к 3%. Именно это число возьмём за основу. Форматы наших турниров должны показать индекс выше 3%.

Как думаете, как будут распределены индексы у разных форматов?

Кроме индекса справедливости вывел ещё и чуть более интепретируемую метрику - шансы фаворита занять первое место.

Сравнение турнирных систем для 32 команд после проведения 100 000 симуляций для каждой
Сравнение турнирных систем для 32 команд после проведения 100 000 симуляций для каждой

Моделирование подтвердило наши интуитивные представления.

Есть хороший формат (круговик), который более чем в два раза более справедлив, чем другие.

Другие форматы больше чем в два раза лучше, чем просто случайный набор матчей. А вот разница форматов между собой не такая уж и большая. Например, добавление группового этапа улучшает меру справедливости по сравнению с обычной игрой на вылет всего на 24%.

У вас ещё остались вопросы, почему у Манчестер Сити с момента прихода шейхов только одна победа в Лиге Чемпионов, зато 8 побед в чемпионате Англии?

А как же баланс

Целый ряд сильных игроков, в том числе Родриго Касканте попросили меня обсудить ещё один аспект.

Да, мы смогли оцифровать справедливость. Да, мы поняли, что не так уж и важно упарываться по формату. Но всё-таки, хочется иметь хороший турнир и не играть бесконечное количество матчей, как в круговике.

Можно ли найти какой-то формат, оптимальный как по справедливости, так и по числу игр?

Самое простое - это разделить наш "индекс справедливости" на число игр в турнире. Типа, да, признаём, "круговик" у нас в 2,9 раз более справедлив, чем случайный турнир, но игр пришлось сыграть в 3,2 раза больше. Получается, не так уж и круто.

Сравнение турнирных систем с учётом числа игр
Сравнение турнирных систем с учётом числа игр

По этому показателю, ожидаемо, с отрывом будет лидировать игра на вылет. Очень мало игр, зато все - самый сок.

И, на самом деле, особо опций не так много. Единственный формат, в котором можно попробовать найти оптимум - это швейцарская система. Там можно менять число туров произвольно. Возможно, где-то баланс сойдётся.

Оказалось, теоретики не дураки. Та самая формула, по которой нужно считать число матчей - она как раз про баланс справедливости и числа матчей.

При увеличении числа туров индекс справедливости швейцарки не растёт, а при очень большом - может и упасть. Внимательное чтение логов помогает объяснить почему. При большом числе туров лидеры уже сыграли друг с другом, начинаются поиски оптимального соперника, который находится всё ниже и ниже. И это перестаёт быть той "швейцаркой", что мы знаем (играешь против тех, кто играет примерно как ты) и начинается быть больше похожим на случайный турнир. А вес первого и последнего тура одинаковый. Вот индекс и падает.

Так что никакой волшебной таблетки. Кто сказал МакМагон?

Другие материалы по теме из Котелка:

Комментарии (6)


  1. OlegZH
    01.06.2025 15:34

    Очередной футбольной сезон заканчивается.

    Да. Но не всё можно было увидеть. Теперь практически всё остаётся за кадром. Если ты, конечно, не пользователь специализированных платформ. А раньше можно было бесплатно по телевизору увидеть очень многое.

    Портит ли нам впечатление от игры новая схема розыгрыша лиги чемпионов?

    Было бы немного удобнее читать более полную статью, а не ходить по ссылкам. Нет-нет. Ссылки очень нужны. Нужно уметь ходить по ссылкам. Но... было бы приятнее и удобнее читать связный пересказ упоминаемого полностью своими словами. Я бы так сделал обязательно.

    Какова роль случая в спорте? Действительно ли плей-офф - это лотерея?

    А вот это уже интересно.

    С чего начать?

    Начать нужно с того, что мяч — круглый. Возможно всё. Ну, почти всё. И Вы, в целом, всё правильно описываете. Но есть и другая точка зрения на футбол: что футбол — это дурацкая игра (как и всякая игра), где 25 идиотов бегают по по полю (22 игрока + 3 судьи) и ещё несколько миллионов это всё смотрят. Ну... это... очень радикальная точка зрения. Ну да. Бегают. Пинают.

    А дальше... А дальше начинаются не вполне понятные рассуждения. Надо разбираться. Можно было немного чётче описать что, куда и каким образом берётся, считается и сводится. Выводы, в целом, понять можно. Идея найти какой-то индекс справедливости и, даже, ценность матча, крайне любопытна. Но надо ещё учитывать и то, что на короткой дистанции гранды "засушивают" игру, что существенно повышает долю случайности и сильно искажает результаты. А на длинной дистанции игроки проходят множество волн усталости/готовности, причём как физической, так и и психологической.

    Лично мне без всяких расчётов всегда казалась существующая система неудачной. Особенно неудачным я считаю матчи с выбыванием. Да, это существенно ускоряет проведение турнира. Да, это повышает ответственность. Но высушивает игру. В том числе и за счёт того, что много потенциально интересных игр просто не случается. Было бы удобнее организовать чемпионат мира в два этапа: на первом этапе проводится групповой турнир, а на втором этапе собираются лучшие с первого. На каждом этапе все играют со всеми. Но для этого надо. чтобы во второй (финальный) этап проходило немного команд. Восемь команд — это предел. Всё-таки, 28 матчей! Но к этому надо все остальные турниры подтягивать. А то команды сильно разрываются между различными турнирами. А это вносит ещё большую систематическую погрешность в результаты футбольных матчей.


    1. tsaregorodtsev Автор
      01.06.2025 15:34

      Спасибо за начало обсуждения!

      Понятно, что жизнь сложнее и добавлять факторы можно бесконечно. Это просто модель, по которой какие-то выводы можно сделать.

      И даже в рамках этой модели можно заложить, что с ростом числа матчей растёт усталость, а вместе с ней - дисперсия.

      С тезисом о том, что ведущая в счёте команда часто стремиться засушить игру соглашусь. С тем, что это повышает фактор случайности - нет. Наоборот, открытая игры "без центра поля", где много ударов, быстрые контратаки и прочие элементы "лихой" игры повышают неопределённость исхода.


  1. sotland
    01.06.2025 15:34

    Надеюсь что матчей в следующем сезоне будет меньше, мне жаль игроков.

    Если увлечены футболом и статистикой, сделайте оценку динамики нагрузки на игроков. По километражу, по минутам, по травмам.


    1. tsaregorodtsev Автор
      01.06.2025 15:34

      Хорошая идея. Почему бы и нет. Датасет бы раздобыть


  1. shrsh
    01.06.2025 15:34

    Если предлагаемая метрика для "индекса справедливости" зависит только от значений на диагонали, то она получается сильно чувствительной к размерам кластеров команд близкого уровня и разнице в уровне игры соседних кластеров. Это очень хорошо видно на примере пар "Манчестер - Реал Мадрид", "Интер - Арсенал" и тройки "Bayer Leverkusen - Пари Сен-Жермен и Байерн Мюнхен". А вот середина таблицы идёт с очень близким ELO и из-за этого их кластер выходит сильно "размазанным", и роняет "индекс справедливости".

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

    И теперь пора перейти к вопросу, с которого хотел начать: "А о чём турнир?" Если о том, чтобы выявлять лучшего, и нет возможности играть круговой, то тогда надо сыграть как можно больше матчей с фаворитами. И тут пулы/группы и затем плей-офф или группа финалистов, играющих вкруговую, будут хороши. Если хочется дать всем поиграть с участниками близкого уровня, то швейцарка лучше.

    Не пробовали смотреть, между какими командами играются матчи в схеме "группы + плей-офф" и в швейцарке? В первом случае, скорее всего, большинство матчей будет между сильно разными по уровню командами, а во второй будет сравнительно больше встреч между близкими.

    Есть подозрение, что более интересной метрикой справедливости было бы что-то на основе расстояния команд от их мест в "честном" порядке. С учётом большей важности первых мест, конечно. Другое дело, что в реальных турнирах мы этот "честный" порядок не знаем. А "справедливость" результата оценить хочется. В этом направлении много можно копаться.


    1. tsaregorodtsev Автор
      01.06.2025 15:34

      Не доля, а расстояние, взвешенное по местам? Интересно, надо будет посмотреть