42 мин.

Умный календарь РПЛ создал ученый из Вышки. Он знает, как обыграть букмекеров и купить недооцененного игрока

Сила – в цифрах. 

Прошлым летом РПЛ наконец исправила главное недоразумение – поменяла систему составления календаря на сезон. На смену устаревшим методам, которые 1 декабря отправляли «Ахмат» из южного Грозного в суровый Красноярск (и матч проходил при минус 17 градусах), пришли инновационные. Теперь футбольное расписание учитывает погоду, напряженность графика каждой команды, подстраивается под участников еврокубков и умеет много чего еще (обо всех новинках – в интервью). 

Все это стало возможным благодаря программе, которую разработали ученые научно-учебной лаборатории исследований спорта Высшей школы экономики. Ее руководитель 35-летний Дмитрий Дагаев – давний фанат футбола: за последние 10 лет он написал несколько исследований, одно из которых, вероятно, повлияло на распределение мест в еврокубках. 

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

Александр Головин встретился с Дагаевым. 

Компьютер составляет календарь за 10-20 минут и запоминает южные и северные команды. Раньше его составляли вручную, а убрать зимний матч из холодного города было невозможно – расписание рухнуло бы

– Как и когда началось ваше сотрудничество с РПЛ? 

– Идея делать календарь, используя современные математические алгоритмы, появилась у нас в сентябре 2018-го. В лигу мы обратились в декабре 2018-го – просто потому, что хотели проработать вопрос и выходить с уже конкретным предложением. 

Мы все (кроме Дагаева над программой работали другие сотрудники лаборатории – Арсений Столяров и Глеб Васильев – Sports.ru) – фанаты футбола. И отлично понимали, что ситуация, когда матч проходит при температуре минус 15 градусов, – ненормальная. Застраховаться от минус 15 невозможно – такая погода в ноябре-декабре может случиться в любом городе страны. Но есть шанс существенно снизить вероятность проведения матча в подобных условиях. Мы увидели эту возможность – и занялись темой. 

Помогло, что когда-то до этого участвовали в конференциях по этому вопросу, слушали доклады коллег из Бельгии, Чили и других стран. И знали, что в России есть огромный потенциал для улучшений. 

– Почему именно Бельгия и Чили? 

– В мире десятки стран используют алгоритм для составления календаря. Испания, Англия, Германия и остальные топовые лиги – все в деле. В каждом случае набор методов – общий, но есть частные условия, которые зависят от лиги. В этом плане в Чили интересная специфика: страна вытянута с севера на юг. Чтобы сократить дистанцию, в календарь закладывают то же условие, что и в КХЛ, когда команда летит на Дальний Восток. То есть она проводит на выезде сразу несколько матчей. В РПЛ с этим проще, но есть другая проблема – часовые пояса. 

Бельгия – одна из первых европейских стран, в которой появилась команда, которая занимается разработкой календарей. Более того, там именно федерация первой обратилась к ученым, причем с необычной просьбой: «Нам бы очень хотелось увеличить количество матчей, в которых обеим командам что-то нужно в турнирном плане». Так с помощью математического моделирования они разработали не только новый календарь, но и новый формат проведения чемпионата.

В России получилось по-другому – первыми на РПЛ вышли мы. Честно, не были уверены, что коллеги окажутся готовы к сотрудничеству. В каком-то смысле написали на удачу. Но в лиге отнеслись к идее положительно, предложили встретиться. Дальше мы полгода дорабатывали программу, уточняли ограничения, которые важны для лиги и команд. Например, мы изначально не знали, что матчи ЦСКА и «Спартака» нельзя ставить в Москве в один день – чтобы упростить задачу органам правопорядку и не создавать им лишнее напряжение. 

В июне 2019-го мы представили календарь на основе математических алгоритмов. 

– Его делала программа, которая работает на оригинальном коде? Вы ничего не списывали у ученых из других стран? 

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

– Вы несколько раз сказали про метод – объясните на пальцах, как он работает. 

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

Если это ограничение для меня принципиальное, то за его нарушение я начисляю 100 тысяч штрафных очков. Например: в такой-то день команда не может играть дома, потому что у нее на стадионе будет концерт. Если желательное, но можно и нарушить, – два-три очка. Например: команда не должна играть на выезде два матча подряд. 

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

 

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

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

– Сколько времени программа составляет одно расписание?

– В хорошем случае – 10-20 минут. Когда что-то не получается, это может занять часы. Но точно не сутки. 

– Старый календарь делали дольше и вручную – при такой системе возможно учесть все ограничения и сделать так, чтобы матчи в Екатеринбурге, Уфе и других холодных регионах не проходили в декабре?   

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

Например, мы хотим подвинуть матч между «Ахматом» и ЦСКА из первого тура во второй. Чтобы сделать это, нужно куда-то засунуть соперников, с которыми играют «Ахмат» и ЦСКА во втором туре. Свести их между собой в первом туре не получится, потому что у них уже есть соперники по этому туру. Если бы они играли между собой, тогда такую замену между первым и вторым туром мы бы сделали, но если это условие не выполняется? 

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

– А если прямо по турам расписывать и учитывать все ограничения? 

– Тем более не получится. Рано или поздно вы уткнетесь в то, что дальше у вас не получается составить расписание. Даже просто распределить матчи по турам без каких-либо ограничений. Это задачка с очень большими комбинаторными ограничениями,  руками вы просто не дойдете до конца. Не то что до условий. Это тот случай, когда компьютер обыгрывает человека. 

Топ-клубам теперь закладывают легких соперников перед еврокубками. По облегченному графику играют даже «Ростов» и «Динамо», которые вылетели из ЛЕ еще в сентябре

– Сколько человек и сколько времени писали программу? 

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

– В чем была главная проблема в работе над календарем? 

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

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

– То есть программа не создает идеальный календарь с первого раза? 

– Конечно, мы обсуждаем десятки разных версий. Бывает какое-то знание на кончиках пальцев, которое изначально может быть не заложено в те ограничения, которые у нас есть. Но это знание есть у коллег из РПЛ и они объясняют, что вот так быть не должно – нужно поменять.  

Поэтому случалось так, что мы находили версию, которую компьютер считал подходящей, показывали ее лиге, а там говорили: «Мы понимаем, что не давали такого ограничения, но вот как-то тут баланс немного нарушен для команды. Как-то много у нее слишком много сильных соперников, давайте посмотрим что-то еще». 

– В комментариях будут шутить про «Зенит», хотя на Sports.ru вы подписаны на «Спартак».

– Да, я болельщик «Спартака», Арсений Столяров – ЦСКА, а Глеб Васильев – дортмундской Боруссии. Но это не имеет значения, потому что мы в первую очередь – ученые. А для ученого важнее найти истину, то есть оптимальный для лиги календарь. Понятно, что мы обращаемся к представителям команд: «Скажите, какие ограничения у вас есть? Скажите, что вам хочется, чтобы у нас было?». Просьбу уровня «В таком-то туре хотим играть дома, потому что у нас день города» мы удовлетворим. А вот «В 12 туре сделайте так, чтобы мы играли дома со Спартаком» – такое ограничение слишком сильное, мы не сможем его удовлетворить

– В октябре 2019-го в календаре стоял домашний матч «Сочи» – ровно в тот день, когда стадион был занят «Формулой-1». Чей это косяк? 

– Мы не знали, что там будет этап «Формулы». У нас не было ограничений, связанных с тем, что в Сочи нельзя играть этот тур. То же самое с концертом на стадионе «Зенита». 

– Кто должен был сообщить вам о концерте и гонке? 

– Механизм такой: лига просит клубы до определенной даты прислать все ограничения, которые у них есть. Дальше пересылает их нам. Мы заносим в программу. 

– Почему кто-то не прислал? 

– Что-то было не до конца понятно. В момент составления календаря мы не знали, что есть такие ограничения. 

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

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

– Были моменты, которые клубы или лига совсем не принимали, а вы говорили, что только так и надо делать? 

– Нет, но однажды, например, закинули на обсуждение такой вопрос: «А вообще, привязка по турам важна или нет?» Например, в некоторых чемпионатах ее отменили. С точки зрения алгоритмов, это существенно упростило бы тот набор ограничений, который у нас есть. 

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

– Как выглядит программа, которая составляет календари? Просто ярлык на рабочем столе, на который нажимаешь – и открывается что-то вроде админки?

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

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

– Вы уже много раз сказали про ограничения – можете их перечислить? 

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

Дальше: «Нельзя играть больше, чем два матча подряд дома или два матча подряд на выезде, кроме зимних периодов». Для этого в ручном режиме фиксируются летние и зимние команды, которые играют больше, чем два матча подряд дома или на выезде. Это жесткое ограничение. Жесткие и те, которые задают клубы, говоря, что в какой-то день точно не могут играть дома. 

Более мягкие – ограничения такого типа: «Нам не хочется, чтобы среди пяти подряд взятых туров было больше, чем три топ-соперника». В прошлом сезоне возникла ситуация с «Арсеналом» – у него получилось пять сложных соперников подряд. Все из-за того, что приоритет отдавали участникам еврокубков – расчищали им календарь, минимизируя сложных соперников перед матчами еврокубков. Кто-то то должен был пострадать – в итоге все сложные сразу достались «Арсеналу» (c 8-го по 12-й тур «Арсенал» играл против ЦСКА, «Зенита», «Урала», «Краснодара» и «Локомотива». С 15-го по 18-й – против «Спартака», «Зенита», «Краснодара», ЦСКА и «Локомотива» – Sports.ru). 

В один день приехал в Тулу на научно-популярную лекцию, болельщики среди зрителей сразу сказали: «Ну вот как же так?» – «Честно могу признаться: считаю эту последовательность из пяти матчей – главным недостатком календаря». И сейчас это повторяю. Может быть, вместе с очень сложным стартом для новичков – «Тамбова» и «Сочи». 

В текущем сезоне мы постарались исключить такие серии для всех команд. Это не всегда просто: иногда ради такого приходится отказываться от каких-то других ограничений. Приходится искать компромисс. 

– Легкие соперники перед еврокубками – чье пожелание? 

– Лиги. Она заинтересована, чтобы наши команды успешно выступали в европейских турнирах. Поэтому перед играми квалификаций и групповых турниров мы не ставили матчи участников против принципиальных соперников

Мне кажется, в этом протекционизме нет ничего плохого. Тут нет ущемлений интересов той или иной команды, ты выходи в еврокубок – и у тебя будет точно такой же протекционизм на следующий год. К «Ростову» и «Динамо» в этом году мы относились так же, как к «Зениту» или ЦСКА. К сожалению, не помогло. 

– Но облегченный календарь остался?

– Конечно. Сейчас календарь для «Ростова» такой же, как если бы они участвовали в Лиге Европы. 

– Если бы этих ограничений не было, календарь стал бы более сбалансированным? 

– Конечно. С другой стороны, некоторая адаптивность сохраняется, потому что распределение по дням внутри туров и распределение по таймслотам происходит не перед началом сезона, а несколько раз по ходу. На некоторое количество туров мы распределили матчи по таймслотам, «Ростов» и «Динамо» вылетели. Когда начнем думать про следующий интервал, приоритет им отдавать уже не станем. Будем приоритезировать график под те команды, которые продолжают играть в Лиге чемпионов и Лиге Европы.

Я говорю «мы», но происходит как: мы вносим предложение лиге, потом она соглашается с ним или сдвигает матч на другой день. При распределении матчей внутри тура по дням у обеих команд должно быть одинаково дней на подготовку. 

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

«Ротор» и «Ростов» не считаются южными командами, потому что в календаре и так много ограничений. Из-за них пострадает «Краснодар» – два матча подряд против топов на финише

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

– Жесткие. У нас зафиксированы 4 команды, которые могут играть в зимние месяцы только дома, и 4 команды, которые могут играть в зимние месяцы только на выезде. Все, мы железобетонно фиксируем эти ограничения, не можем их нарушать. 

Про оставшиеся 8 команд мы тоже стараемся сделать так, чтобы их распределение по дома/в гостях было хорошим. Но это уже существенно более мягкое ограничение. Тут приходится выбирать между разными альтернативами. 

– Вы говорите жесткое ограничение – 4 тура, которые должны проходить на юге. Но все равно же есть ситуации, когда на севере они тоже проводятся. 8 марта «Урал» примет «Сочи», а «Уфа» – «Зенит». 

– А этот тур уже не считается зимним. Мы не можем очень много туров объявить зимними. Фактически, в этом году у нас 4 тура объявлены зимними, мы не можем 5 или 6 туров проводить в таком формате просто по той причине, что возникнет ситуация, при которой у одних клубов все болельщики вынуждены будут приходить на стадион в зимние месяцы, а у других клубов – в летние. Но болельщикам хочется, конечно, смотреть футбол на протяжении всего сезона и поэтому лишать кого-то возможности в летние месяцы прийти на стадион мы не имеем права. 

Это разумный компромисс: вот давайте в декабре и феврале не будем играть на севере, но цена расширения этого интервала в том, что тогда дисбаланс произойдет и летом. Все команды, которые играют дома в зимние месяцы, будут играть в гостях все время летом, и их болельщики не смогут прийти на стадион посмотреть матчи летом. Такого не хочется допускать.

– Почему «Ростов» и «Ротор» в вашем календаре не относятся к южным командам?

– Потому что мы заранее договорились с лигой: будет четыре летние и четыре зимние команды. Можно объявить и пятую, но это дополнительный набор ограничений. А мы очень боимся, что если зафиксируем слишком много южных команд, то потеряем другие условия. Календарь будет плохим с точки зрения выполнения других условий. Поэтому пока договорились так: посмотрим в этих железобетонных ограничениях, сможем ли найти расписание, в котором все выполняется. Если да, сделаем «Ростов» южной командой.

– В новости о календаре на этот год самая большая претензия в комментариях – как раз про «Ростов». О том, что он весь ноябрь проводит на выезде вместо того, чтобы играть дома в тепле.

– Нет проблемы в том, чтобы «Ростов» провел матч не дома. Задача в том, чтобы матч состоялся в хороших условиях – мы решаем в первую очередь эту задачу. В декабре и в феврале мы не будем играть в тех городах, в которых менее удачные климатические условия. А если дополнительно окажется, что «Ростов» играет на выезде – что поделать?

Давайте не будем слишком перегружать календарь необязательными ограничениями.

– В прошлом году у Арсенала был перегруженный календарь, в этом году есть проблемы?

– Финиш «Краснодара» из двух сложных выездных матчей (к ЦСКА и «Ростову» –  Sports.ru). Единственный момент, который хотелось бы поменять, хотя формально никакие ограничения здесь не нарушены. Клуб в некотором смысле стал заложником еврокубков – осенью мы облегчили ему график из-за Лиги чемпионов. Как результат – матчи с сильными соперниками ушли на весну.

В остальном мы календарем довольны. Жалобы есть, но одна-две. Не хотел бы называть конкретные клубы, но это претензии по поводу последовательности матчей.

Кстати, с распределением матчей еще такая вещь: вещателю хочется распределить топовые встречи по всему сезону. Поэтому на основе результатов и телерейтингов определена пятерка команд – ЦСКА, «Спартак», «Зенит», «Локомотив» и «Краснодар». Между собой они играют 20 матчей. В ограничения заложили, что в туре должно проходить не больше одного матча из этой категории. А в первом и последнем туре таких матчей не должно быть вообще.

– Разве не круто, когда в последнем туре встречаются «Спартак» и «Зенит» и разыгрывают чемпионство?

– Это дилемма. А если окажется, что «Спартак» и «Зенит» не соперничают между собой за одну и ту же позицию? Или они играют против друг друга, борясь за первое место, а их конкурент – против немотивированного соперника?

Я понимаю аргументы в обе стороны. Технически ваш вариант тоже возможно организовать. Что нельзя – расширить пул топ-команд до шестерки. Мы думали над включением в него «Ростова». Получилось бы, что в каждом туре проходит по одному матчу с повышенным интересом. Но, к сожалению, тогда ограничения становятся слишком жесткими – придется жертвовать чем-то другим и, условно, заставлять «Урал» играть дома в декабре.

Скоро компьютер будет назначать судей: появится возможность стоп-листов, а Безбородову можно будет закрыть назначения на «Зенит». Изначально алгоритм тестировали на свадебном рынке

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

– Мы вышли с предложением к коллегам из РФС. Это случилось в конце 2019 года. Идея пришла, потому что мы поняли, что проблема судей тоже решается с помощью алгоритмов, и некоторые страны их уже используют. Хоть и не в таком количестве, как в истории с календарем.

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

Например, логистика. С появлением ВАР судья теперь работает в нескольких ипостасях внутри одного тура – может работать как ВАР и как главный судья или резервный судья. Из-за этого он не всегда способен переместиться из одного города в другой за короткое время.

Другое ограничение – назначения на матч одной команды. Нельзя, чтобы один и тот же рефери обслуживал игру одного и то же клуба в двух турах подряд. И нежелательно, чтобы клуб повторялся в следующие три-четыре тура.

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

При ручном назначении все это нужно держать в голове, что непросто. Поэтому мы решили создать программу, которая сильно упрощает жизнь коллегам из РФС. Мы просто сказали: «Давайте мы поможем учитывать все текущие и еще большее число параметров. А если хотите, чтобы судья, который пока не имел шансов судить в РПЛ, получил такую возможность, то заложим еще и систему ротации».

В РФС согласились. Мы подчеркиваем, что программа носит рекомендательный статус. Она станет техническим помощником для Виктора Кашшаи, чтобы принять оптимальное решение. Вся ответственность по-прежнему будет лежать на департаменте судейства.

– Программу вы строите на алгоритме Гейла – Шепли. Если на пальцах, что это за алгоритм?

– Гейл и Шепли придумали его в 1962 году в контексте свадебного рынка. Представим, что у нас есть несколько мужчин и женщин, которых нужно переженить друг с другом. У каждого есть предпочтения на множестве лиц противоположного пола. Вопрос: как сделать так, чтобы, когда мы их всех переженили, они оказались счастливы и не разбежались?

Что такое не разбежались: например, каждый бы обнаружил, что он сейчас не находится в паре, которая хуже, чем просто остаться одиноким. Или какая-то пара не увидела бы другую в очереди в ЗАГСе и не хотела бы поменяться партнерами. Хочется найти стабильное распределение на пары.

Гейл и Шепли предложили алгоритм, который работает примерно так: возьмем всех мужчин и представим, что они пошли на рынок и купили по одному букету цветов. Предположим, у каждого мужчины в голове есть ранжирование девушек: самая предпочтительная, второе место и дальше по убыванию. Представим, что мужчины пошли с букетом цветов к своей первой по приоритету девушке. Так у некоторых девушек оказалось несколько поклонников, у некоторых – ни одного поклонника.

Что происходит дальше? Те девушки, у которых выбора нет, ничего не делают. Те, у которых выбор есть, говорят «До свидания» всем, кроме самого лучшего жениха – у девушек в голове тоже есть ранжирование мужчин.

Отвергнутые мужчины уходят, опять идут на рынок и снова покупают цветы. Спускаются на один пункт в цепочке приоритетов: лучшая им отказала, тогда они идут ко второй и пробуют удачу с ней. Снова девушка принимает решение: смотрит на тех мужчин, которые у нее сейчас есть, и снова оставляет у себя лучшего. В результате этой процедуры кто-то, возможно, будет опять отвергнут. Тогда отвергнутые мужчины снова идут на рынок, снова покупают букет и идут к третьей по предпочтительности девушке. И так до тех пор, пока не дойдут до точки, в которой уж лучше быть одному. Когда последний из мужчин дойдет до того, что оставшиеся девушки его не устраивают, он скажет: «Все, я заканчиваю, больше на рынок за цветами не пойду, остаюсь в сторонке». Так алгоритм закончит работу. Получится некоторое распределение мужчин по женщинам.

Гейл и Шепли доказали, что тот результат, который получится в результате этого распределения, – очень хороший. Он будет стабильным в том смысле, что никто не захочет уйти из этого распределения ни поодиночке, ни в паре. Такое распределение называется стабильным мэтчингом. Этот алгоритм может работать во многих других контекстах. Например, он часто используется в задачах распределения абитуриентов по университетам. 

В 2012 году Шепли вместе с Ротом получил за это Нобелевскую премию. Гейл, к сожалению, не дожил до нее.

– Как все это работает в истории с судьями?

– На самом деле ровно та же история, что и с женихами и невестами. У нас есть две стороны: матчи и судьи, которых нужно распределить по матчам.

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

– То есть матч «Спартак» – ЦСКА будет обслуживать лучший арбитр, а «Уфа» – «Урал» – худший?

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

У нас есть стартовая точка – рейтинг, средняя оценка судьи по итогам предыдущих матчей. Дальше цепочка пересчитывается в зависимости от ограничений для конкретного матча. Например, для условного матча ЦСКА – «Спартак» идеально подошел бы Карасев. Но он уже работал на «Спартаке» в прошлом туре, поэтому отодвигается. Безбородов не успевает прилететь в Москву из-за предыдущего матча – отодвигается. У третьего по силе судьи может быть конфликт с одной из команд. Так дело может дойти до четвертого и последующих судей по рейтингу, но из-за ограничений он станет первым.

– У клубов снова появится возможность составлять стоп-списки?

­– Это вопрос департамента судейства. Техническая возможность запретить конкретному судье работать на матче конкретной команды в программе есть. Мы заложили ее на уровне кода. Департаменту нужно будет только поставить галочку в нужную клетку.

Другой пример вопроса на усмотрение коллег – запрещать ли судье работать на матче команды из своего города. Например, Безбородов и матч «Зенита». Программа может как запретить ему, так и разрешить. Все зависит от того, какое решение будет принято. Более того, в программе появится возможность запрещать или разрешать подобные назначения для отдельных категорий судей – например, судей ФИФА, судей первой категории.

– В каком процессе программа сейчас?

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

– Как шла работа над этой и первой программой – вы все делали внутри лаборатории?

– Код, в основе которого лежит математический алгоритм, писали сами. Разные красивости, интеграцию и все, что с этим связано, делали подрядчики РФС.

– Они заплатили вам сразу или работаете по системе роялти?

– Коммерческая тайна.

– Если к вам обратятся из Украины с предложением купить лицензию на одну из программ – согласитесь?

– С удовольствием. У нас есть право предлагать алгоритм коллегам из других лиг без согласования с РФС. Алгоритмы и математическая модель – это общее знание, которое принадлежит человечеству. Оно в этом смысле не наше, оно общее, и мы готовы помочь коллегам из украинской лиги или из других лиг. Если в этих лигах будут новые ограничения, то мы адаптируем программу. Если то же самое, то предложим готовый алгоритм. 

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

В Вышке знают алгоритмы, по которым работал герой фильма «Человек, который изменил все». С их помощью нельзя выиграть все матчи, но можно сэкономить 1 млн долларов или занять место чуть выше

– Что вы умеете на трансферном рынке?

– Например, оценивать объективную стоимость футболистов или находить недооцененного игрока. То же самое делал главный герой фильма «Человек, который изменил все». Здесь работают понятные алгоритмы.

– Разве всего этого не умеют обычные скауты с помощью Instat или WyScout?

– В этих программах есть огромные массивы разных данных. Но дальше возникает вопрос: «А что с ними делать?» Тут главная проблема.

Есть вещи, которые легко увидеть глазом. Например, если вы нарисуете картинку, как игрок бьет пенальти, и окажется, что он всегда бьет вправо, – это легко увидеть. Но есть много вещей, которые невозможно заметить без дополнительных усилий. Например, что игрок для своего возраста, для своих антропометрических показателей, для своих показателей результативности недооценен. Это нельзя понять без написания эконометрической модели, которая будет вычислять объективную стоимость игрока на рынке.

Понятно, что есть трансфермаркт. Он тоже пытается нащупать рыночную цену. Вопрос в том, какая модель им используется. Если она достаточно примитивна, то ничего хорошего у вас не получится. Вы не сможете понять, что лучше делать при фиксированном бюджете: условно купить двух игроков по 15 млн при соответствующих характеристиках или одного за 20 млн, а другого за 10 млн при других характеристиках.

Есть вероятностные модели, которые умеют прогнозировать то, как дальше будет играть футболист, сколько будет стоить. Это сложные модели, но они существуют.

­– Объясните простым языком – как работает такая модель?

– Через поиск тех факторов, которые пока еще не заложены в рыночную стоимость. Предположим, в тех моделях, которые уже существуют на рынке, некоторый параметр никак не учитывался при определении цены. Например, это доля ударов со штрафных, которые нападающий забивает. Учитывалась общая результативность, что-то еще, а это – нет. Мы пробуем внести этот новый параметр в существующие модели и посмотреть, улучшается ли ее прогнозная сила. Если да, то – ура! – мы нашли новый важный детерминант цены и модель улучшена! И теперь при одной и той же цене на рынке у двух игроков мы будем говорить: «Берите, конечно, этого, потому что он чаще забивает со штрафных». Такой вывод был бы невозможен в рамках старой модели.

Дальше возникают все более сложные показатели. Например, количество оборонительных действий для атакующего игрока. Это уже тонкая история, которая требует правильного подхода: как считать, сколько дополнительных действий в защите должен совершать игрок и как это соотносить с его непосредственными обязанностями генерировать голевые моменты.

Вот как тут правильно расставить веса? Эконометрические модели как раз позволяют подобрать их.

– У вас они уже написаны?

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

По времени адаптация занимает не очень долго – в среднем несколько недель.

– Несколько лет назад писали, что по системе из «Человека, который изменил все», работают «Мидтьюлланн» и «Брентфорд». За несколько лет каких-то выдающихся результатов эти команды не добились. Почему?

– Во-первых, в рамках двух точечных историй может произойти все, что угодно. Вряд ли кто-то ожидал, что тот же «Брентфорд» станет чемпионом Англии. Это невозможно при фиксированном бюджете, который есть у клуба. Но показывать результат чуть лучше при тех же самых тратах – реально. Например, два-три дополнительных очка, которые команда получила в конкретном розыгрыше чемпионата и спаслась от вылета или попала в еврокубки, – это ли не показатель?

Кроме того, результат может выражаться не только в итоговом месте в таблице. Он может быть выражен в сэкономленном миллионе долларов на трансферы – тоже хорошо.

Никто не говорит, что анализ данных позволит выигрывать все матчи, – это невозможно. Но это один из факторов, который способен определять судьбу противостояний. Почему бы этим фактором не пользоваться?

Иногда статистика показывает удивительное: «Локомотиву» требовалось проиграть, чтобы попасть в еврокубки; победы женщин в футболе зависят от их зарплат в обществе; черные судьи свистели больше фолов против белых игроков

– Как в вашей жизни появился футбол?

– Дедушка был болельщиком «Спартака». Он садился в кресле, я – рядом. И полтора часа смотрели матч.

Потом я стал поддерживать российские команды в еврокубках. Eurocups.ru стал моим родным сайтом, на нем я проводил много времени. Дальше началась история, связанная с судьями. Я стал следить за назначениями, которые получали наши арбитры в Европе. Сюжеты постепенно накапливались, в какой-то момент я понял, что это та область, которая мне нравится. И решил: почему бы не приложить к ней знания методов и моделей, чтобы сделать ее лучше.

У меня два образования: мехмат МГУ и Российская экономическая школа (РЭШ). Эта комбинация математического и экономического образования вообще очень удачная, потому что она сильно расширяет возможности. Она позволяет, с одной стороны, при принятии решений опираться на строгие математические методы, а, с другой стороны, используя знание о том, как устроен мир, которое свойственно грамотным экономистам, улучшать рынок.

Первое футбольное исследование я начал в 2012 году. Началось с того, что на Eurocups.ru один из авторов (никнейм quant) привел чисто гипотетический пример ситуации, когда в чемпионате России одной из команд было бы выгодно умышленно проиграть при некотором сценарии других матчей.

– Это реальная ситуация?

– Она могла стать реальной. Если бы пара матчей закончились с другим счетом, то «Локомотиву» в сезоне-2011/12 было бы выгодно проиграть «Спартаку» в последнем туре, чтобы попасть в Лигу Европы. При победе в еврокубки «Локо» не попадал бы.

Ситуация возникла из-за того, что в случае поражения «Локомотив» протаскивал «Спартак» на второе место. Оно давало право на Лигу чемпионов. «Динамо» в этом случае вытеснялось бы со второго места на третье место – в Лигу Европы. При этом «Динамо» играло еще и в финале Кубка против «Рубина». По правилам, если финалист Кубка проигрывал команде, которая уже попала в Лигу чемпионов, то в Лиге Европы играл бы финалист Кубка. Если финалист Кубка проигрывал тому, кто попал через чемпионат в Лигу Европы, – то дополнительную путевку в Лигу Европы получала шестая команда из чемпионата.

То есть при победе «Динамо» в финале Кубка «Локомотиву» в последнем туре нужно было сделать так, чтобы заработало правило распределения дополнительной путевки не финалисту Кубка – «Рубину», а шестой команде. Для этого требовалось выпихнуть «Динамо» из зоны ЛЧ, пропустив туда «Спартак».

В итоге Кубок выиграл все-таки «Рубин», да и в последнем туре чемпионата не все сложилось, но нехорошая ситуация была очень близка. Я написал о ней в ЖЖ (в формате наблюдения о мире и без какой-либо претензии на научность), дополнил наблюдения пользователя quant. Историю заметил экономист Константин Сонин, заядлый футбольный болельщик. Он обратил внимание, что на самом деле речь не про одну конкретную ситуацию, а про целый класс.

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

Результаты мы докладывали на спортивной конференции в Варшаве. На ней присутствовали люди из УЕФА. Они попросили прислать всю работу, чтобы почитать. Не знаю, как она повлияла на них, но факт в том, что с 2015 года финалист Кубка перестал квалифицироваться в Лигу Европы. Ситуация умышленных поражений из-за отбора в Лигу чемпионов и Лигу Европы стала невозможна.

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

– И даже опубликовали две работы на эту тему.

– Да. Первую написал с Владимиром Рудяком из МГУ, моим одноклассником по Лицею «Вторая школа». Мы анализировали реформу системы посевов в Лиге чемпионов, связанную с тем, что теперь первая корзина формируется не по рейтингу клубов – в нее попадают чемпионы первых семи стран в таблице коэффициентов плюс победитель ЛЧ. Хотели понять, в результате этого улучшится или ухудшится конкурентоспособность турнира.

Это тоже математическое моделирование, мы работали с помощью методов Монте-Карло (суть метода: процесс описывается математической моделью с использованием генератора случайных величин, модель многократно обсчитывается, на основе полученных данных вычисляются вероятностные характеристики процесса – Sports.ru). Обнаружили, что принципиально на конкурентность реформа не повлияла, но выигравшие и проигравшие у реформы были найдены. 

Вторая работа – о том, как распределять команды по сетке в турнирах на выбывание, чтобы максимизировать суммарный интерес болельщиков ко всем матчам турнира. Эту работу делали с коллегой Алексеем Суздальцевым, защитившим диссертацию в Стэнфорде и недавно вернувшимся в Высшую школу экономики. Мы поняли, что из огромного числа способов распределить участников в первом круге, есть, в зависимости от параметров, всего две оптимальные схемы посева. Одна – которая традиционно используется в теннисных турнирах, когда первый игрок сеется в первую ячейку, второй – в последнюю, третий – в первую нижней половины и т.д. Вторая – нигде на практике не используется, но теоретически при некоторых значениях параметров модели может быть оптимальной: первая команда играет со второй, третья с четвертой и так далее.

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

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

В истории с посевом есть своя аномалия, ее выявили Бауман, Матесон и Хоув. Они изучали студенческую баскетбольную лигу США, где есть турнир March Madness – последняя стадия регулярного сезона. В него попадают 64 команды, они распределяются на 4 группы по 16 команд. Дальше каждая группа играет по стандартной турнирной сетке на выбывание.

Оказывается, в среднем команда, которая занимала 10-ю позицию по итогам регулярного сезона и получала 10 номер посева, показывала результаты лучше, чем команды, которые занимали 8-е и 9-е строчки. Это связано с тем, что во втором раунде победитель пары между 8-й и 9-й командой попадает на 1-ю, которая выигрывает у 16-й. А победитель между 10-й и 7-й попадает на 2-ю. И лучше уж в первом раунде сыграть против чуть более сильной 7-й, зато во втором раунде попасть на более слабую 2-ю, чем в первом раунде сыграть против более слабой 8-й, но зато во втором раунде попасть на 1-ю.

Такая структура посева приводит к тому, что у команд могут появляться стимулы в конце сезона пытаться попасть не на 8-ю и 9-ю позиции, а на 10-ю. Это некоторая проблема, но непонятно, как с ней справиться. Возможно, с помощью перепосева после каждого раунда.

– Какие еще аномалии в футболе можно вычислить с помощью математики?

– Интересная история – про женский футбол. Никогда не задавались вопросом: почему у женщин в футболе сильны не те страны, что и у мужчин? Мощно играют скандинавские сборные, США. В мужском футболе они далеко не лидеры.

Существует исследование (Хоффманн, Гинг, Матесон, Рамасами, 2006), которое показывает, что более успешное выступление женских команд по сравнению с мужскими связано с общим положением женщин в стране. Например, в скандинавских странах отношение зарплат, которые получают женщины, к зарплатам, которые получают мужчины, близко к единице при прочих равных. Если посмотрите на парламенты в этих странах, то в них половину (а то и больше) составляют женщины.

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

Другой необычный факт. Как думаете, будет ли любительский клуб дискриминировать игроков по тому или иному признаку? Предположим, я набираю в команду футболистов. Мне приходит письмо от Ивана Иванова и от человека с именем, представляющим национальное меньшинство. Я возьму этих игроков при прочих равных с равной вероятностью или нет?

Исследование (Несселер, Гомес-Гонсалес, Дитль, 2019) показало, что даже в благополучной с точки зрения дискриминации Европе представители этнических меньшинств оказываются в существенно более уязвимом положении по сравнению с представителями большинства.

Ученые выяснили это, разослав фейковые письма в стиле «хочу играть за ваш клуб, возьмите меня на просмотр», которые были одинаковы по содержанию, но отличались именем игрока. Больший отклик в итоге получили письма, в которых автор был со стандартным именем.

Третья история – о том, как статистика помогла сделать игру лучше. Прайс и Вулферс провели исследование (Price and Wolfers, 2010), которое показало, что в НБА есть дискриминация по цвету кожи у арбитров. Оказывается, арбитры со светлой кожей в среднем свистят больше фолов против темнокожих игроков, а темнокожие арбитры – против светлокожих. То есть дискриминация в обе стороны.

Лига озаботилось результатами исследования и нескольких лет проводила специальные семинары для судей, чтобы устранить эту дискриминацию. Через несколько лет НБА уже сама обратились к Прайсу и Вулферсу с просьбой провести исследование еще раз.

В 2018 году вышла новая работа (Price and Wolfers, 2018) на основе данных за 2010-е годы. Она показала, что больше дискриминации нет, ее удалось победить. 

– Вы с помощью статистики доказывали, что серия пенальти в том виде, в котором есть сейчас, – несправедлива. И даже предлагали ее реформировать.

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

На нескольких турнирах экспериментировали и пробовали другие порядки пробития. Не когда бьют по очереди, а когда сначала бьет А, потом Б, дальше снова Б, затем А. Правда, за рамки юношеских турниров это не пошло. 

Не скажу, что сейчас система пенальти несправедлива. Изначально, когда подбрасывается монетка, у команд одинаковые шансы стать первой и второй, поэтому особой несправедливости тут нет. После того, как монетку подбросили, команды оказались уже в статистически неравном положении. Может быть, эта ex-ante честность и останавливает ФИФА от дальнейших реформ.

Обыграть букмекеров невозможно даже с помощью статистики: они почувствуют профессионала и заблокируют. Но попытаться можно, правда, выиграть не у конторы, а у других людей

– Статистика помогает в ставках. Делаете их?

– Только игрушечные – пари с друзьями. Опыта игры в букмекерских конторах у меня нет.

– Почему?

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

Я использую алгоритмы, которые позволяют определять оптимальные стратегии. Рано или поздно, если я буду играть в плюс, мне просто запретят участвовать. Профессионалов букмекеры не любят.

– Если бы этих ограничений не было, букмекеров можно было бы регулярно обыгрывать?

– Редко, но да. Иногда возникают стратегии, связанные с арбитражом, когда биржи по-разному оценивают те или иные исходы. Таких ситуаций мало, потому что рынок быстро подстраивается. Но в режиме живой игры такие ситуации возникают периодически.

– Объясните, как это работает.  

– У букмекеров нет задачи точно предсказать исход матча. Их цель – с каждого рубля получить фиксированный процент, независимо от того, чем этот матч закончится. Тот исход, те коэффициенты, которые букмекер назначает на матч, отражают потоки ставок, которые поступают на этот матч со стороны болельщиков. Болельщики в определенных случаях могут быть необъективны.

Давайте представим, что сейчас пройдет матч между Россией и Швецией. Предположим, возможны только 2 исхода, потому что это какая-нибудь квалификация и можно пройти в следующий раунд или вылететь. Согласимся, что объективные вероятности на проход одинаковые. Тогда букмекер, который работает без комиссии, поставил бы коэффициенты 2 и 2 на каждое из событий. Букмекер, который работает с комиссией, поставил бы 1,95 и 1,95 на каждое из событий.

Тут вдруг все российские болельщики пошли ставить на Россию. Что происходит с точки зрения букмекера? Букмекер видит поток ставок на Россию. Букмекер понимает, что, если вдруг Россия выиграет, то он останется в минусе. Ему нужно выравнивать ситуацию, он понижает коэффициент на Россию, увеличивает коэффициент на Швецию до тех пор, пока поток на Швецию не вырастет и не выровняет поток ставок на Россию.

Но в моей-то голове объективная оценка исхода матча никак не изменилась от того, что букмекер под воздействием настроения болельщиков изменил коэффициенты. Поэтому, если я по-прежнему считаю, что Россия и Швеция выиграют с одинаковой вероятностью, то что я должен сделать, когда увижу линию от букмекера, который дает маленький коэффициент на Россию и большой – на Швецию? Я, конечно, побегу ставить на Швецию, потому что при равной вероятности там выиграю больше.

Один конкретный матч может закончиться удачно или неудачно, я могу выиграть и проиграть. Но если я сыграю 100 таких матчей, то в 50 из них я выиграл, в 50 – проиграл, но проигрывать я буду стандартную ставку, а выигрывать – по повышенному коэффициенту. Это позволит мне в среднем оставаться в плюсе. Но такие матчи, где моя субъективная оценка вероятности исходов сильно отличается от линии букмекеров, нужно выискивать.

– С помощью статистики можно прогнозировать результаты точнее, чем обычный человек. Разве так не обыграть букмекеров?

– Вы играете не против букмекера. Вы играете против других игроков, а букмекер – лишь посредник. Статистика открыта для всех. Когда вы обладаете тем же самым знанием, что и другие игроки, вы их не обыграете. Вы можете обыграть людей, которые делают ставки, отклоняясь от объективной статистики, и заработать их деньги.

– То есть нельзя чаще других угадывать счет, пенальти или тот факт, что команда не пропустит?

– Нет. Например, есть объективная статистика, что в матче этих команд обычно забивается больше 2,5 мячей. Дальше у болельщиков начинаются рассуждения такого вида: ага, играют результативные команды. Соответственно, идет поток ставок на то, что будет забито больше 2,5 мячей. Букмекер тоже это знает, а поток ставок все идет и идет. Тогда он вынужден понижать и без того низкий коэффициент на событие. В итоге даже если мы угадаем наиболее вероятный исход, то заработаем мало денег.

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

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

Текст Влада Воронина, который объяснял, почему в РПЛ такой стыдный календарь

Позже РПЛ исправила все жирные минусы

Фото: facebook.com/ddagaev; globallookpress.com/Panoramic/Keystone Press Agency, АГН Москва/Global Look Press, Panoramic/Keystone Press Agency, Dmitry Rogulin, Дмитрий Рогулин/Global Look Press, Mia Eriksson/SPP, Valentin Wolf/imageBROKER.com; vk.com/pfcarsenaltula; vk.com/ufafc; REUTERS/Marcelo Del Pozo, Wolfgang Rattay, Marko Djurica; РИА Новости/Владимир Астапкович, Наталья Селиверстова