Как правильно работать с футбольной статистикой: оцениваем силу атаки и силу защиты команд

С каждым годом спорт всё более "оцифровывается", футбол тут не исключение. И с каждым годом появляется всё больше параметров, которыми можно описать происходящее на футбольном поле, помимо голов, ударов в створ и т.д. Один из таких параметров - это xG (сокращение от expected goals).

На сайтах букмекерских контор относятся с некоторым непониманием, что такое xG-карта матча и как её использовать при анализе. Давайте начнем с базовых основ.

Что такое xG? 

thumb_59a714d52f660_1504122069.jpg

Показатели сверху?

- счёт.

- количество ударов.

- xG.

С первыми двумя понятно, а что такое xG?

xGexpected goals») – это модель ожидаемых голов.

Как это считается?

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

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

Само значение коэффициента лежит в диапазоне от 0 до 1.

Кто решает какой удар считать опасным, а какой нет?

Создатель модели

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

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

Что мы получаем в итоге?

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

То есть. этот показатель может многое рассказать о матче и о текущей форме команды.

Откуда у аналитиков нужная информация?

Вообще, есть такая компания, которая называется Opta. И она занимается максимально возможной "оцифровкой" футбольных матчей. Работать с ней напрямую - это дорогое удовольствие. Однако, есть популярные сайты, которые дают некоторую информацию в общий доступ. Например, сайт whoscored. 

thumb_59a716cb6dab3_1504122571.png

Эта картинка очень похожа на ту, что была сверху. Это карта ударов по воротам. Посмотреть её можно щёлкнув на "Match center", а там выбрать "Chalkboard". По сути, эта та же карта, только без коэффициентов опасности удара.

Почему xG показатели нужно использовать при анализе?

Каждую неделю в футбольном мире играются сотни матчей. Только в популярных чемпионатов их около 50-60. Реально посмотреть в прямом эфире их можно где-то от 1 до 5. В записи с перемоткой - около 10. И это, если вы увлечены и у вас нет других дел.

В реальности, я уверен, что большинство матчей смотрятся между делом в "лайф-скорах". Либо живую картинку, но здесь большинство увлечены самим матчем(или заходом ставки на матч), нежели анализом.

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

И здесь на помощь приходит xG-карта. Посмотреть картинку - это минутное дело. Вдумчиво посмотреть - это дело 3-4 минут. Зато вы круто экономите своё время и получаете достаточно полную информацию.

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

"Окей, если в матче было забито много голов, то и моментов было много...".

Не всегда. Именно для таких случаев и нужно "смотреть за статистику". Приведу пример с Лионом в этом году. Команда, несмотря на потерю многих игроков, продолжала забивать много голов. Было немного удивительно. Однако, после просмотра хайлайтов и просмотра xG-карт всё встало на свои места - команда реализует всё, что создаёт.

Вот, например, XG-карта матча Лион - Бордо. 

thumb_59a7180fc2b32_1504122895.jpg

Не поленитесь, посмотрите обзор матча. Думаю, что вам станет понятно, что 3 - 3 был очень завышенным результатом.

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

xG-карта помогает определить насколько результат был заслуженным.

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

Думаю, что долго объяснять, почему стоит отделять "чистые" результаты (которые исходили из логики игры), от "грязных" (которые были достигнуты за счёт стечения обстоятельств). И потом использовать данные знания.

xG-карта помогает при анализе своих ставок после матчей.

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

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

Почему xG показатели - это не истина в последней инстанции?

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

Количество моментов может быть больше, чем количества ударов.

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

Модели не всегда могут точно рассчитать опасность момента.

Вообще, многие модели стараются учитывать и другие факторы, помимо позиции для удара. Также на whoscored, есть такой параметр, который называется "Big chance". Это усиливает оценку, но всё равно позиция для удара влияет на коэффициент.

Недавно смотрел карту матча Ливерпуль - Арсенал. Ливерпуль создал много моментов и победил. Я бы заострил внимание на 3-тьем голе, который забил Салах. Там был выход 1 на 1, при этом Салах мог отдать пас соседнему игроку. По мне - это практически 100 момент. tegen11 оценил его достаточно высоко, однако не максимальной оценкой. 

thumb_59a71998c9ffc_1504123288.jpg

Качество реализованных моментов зависит от чемпионата и скилла игроков.

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

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

Создавать хорошие момент не достаточно, нужно иметь игроков, которые могут и реализовывать, а также игроков, которые могут забивать не явные момент. Также, сильно влияет вратарский "скилл". Уверен, что сравнивать Де Хеа, который может много тащить, с, допустим, вратарём Борнмута бессмыслено.

Количество моментов не даёт полной картины матча

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

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

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

thumb_5a3232c4743fb_1513239236.jpg

Расчет силы атаки и силы защиты

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

Шаг 1

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

В итоге получаем следующую формулу:

average = (allGoals / matchesCount) / 2

Думаю, что дополнительного объяснения здесь не требуется.

Всего было забито 154 мяча в 63 матчах. В среднем это 2.44. На каждую команду по 1.22 в среднем.

Шаг 2

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

averageTeamScore = (allGoalsScore / matchesCountTeam);
averageTeamMiss = (allGoalsMiss / matchesCountTeam);

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

Для каждой команды я считать не буду, пусть это будет Боруссия Д.

Боруссия Д забила 21 гол в 7 матчах - это 3 гола за игру. И пропустила всего 2 гола - это 0.28 за игру.

Шаг 3

Высчитываем коэффициенты.

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

ratioTeamScore = averageTeamScore / average;
ratioTeamMiss = averageTeamMiss / average;

А также попробуем получить суммарный кэф.

ratioTeam = ratioTeamScore / ratioTeamMiss.

Опять же для Боруссии Д получим следующее:

Сила атаки - 2.45. Сила защиты - 0.23. Общий показатель - 10.6.

Шаг 4

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

Итого

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

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

thumb_59dbb243a16cb_1507570243.png

Слева рейтинг по голам. Справа рейтинг по xG.

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

Итак, мы получили по достаточно простым формулам выкладки, которые можно использовать при прогнозировании. Однако, стоит поговорить о минусах и возможных доработках, которые следует учитывать как при работе с этим метод, так и при использовании других.

- низкое количество матчей.

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

Количество матчей, которые проводят команды за сезон - это 30-40 матчей. И это на протяжении 9-10 месяцев. За это время у команд могут меняться тренеры, игроки, финансовое положение. Команды только набирают свой "статистический пул" и выстраивают тенденции, как происходит смена тренера. В прошлом сезоне во второй Бундеслиге, было сыграно 9 туров, но уже было 7 тренерских отставок.

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

Играй команды внутри одной лиги 9-10 матчей, то можно было получать более понятные и явные статистические тенденции. Когда эти 10 матчей "размазаны" на 2 месяца и при этом разбиты на отрезки из-за матчей сборных, судить о трендах и особенностях команды становится сложнее.

thumb_5a3231ac45dce_1513238956.jpg

- работа с усреднёнными величинами.

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

Есть пример, которые я считал немного высосанным из пальца. Звучит он так "команда в одном матче может забить 6 мячей, а в пяти других 0, но при этом в среднем они забивают 1 мяч за игру". Этот пример недавно "материализовался" в чемпионате России. Есть такая команда, как Рубин, которая "отгрузила" 6 мячей Анжи, а в шести следующих матчах забила всего 3 мяча. Получается, что за 7 матчей Рубин в среднем забивает 1.3 мяча за игру. Согласитесь, что оперировать такими цифрами будет совсем не правильно. Разве только вам нужно "подогнать ответ", то есть какими-нибудь цифрами подкрепить вашу ставку.

Что делать? В прошлом пункте мы немного рассуждали про "статистическую погрешность". Такие цифры можно назвать "отличными от нормальных", поэтому их можно "нормализовать". То есть, для Рубина было бы нормальным забить 1-3 мяча, поэтому можно считать, что Рубин победил 2 - 0. Как правильно "нормализовать" с математической точки зрения я не буду рассказывать - это уже выходит за рамки этой статьи. Также стоит отметить, что проблема "нормализации" отпадает, когда рассматривает большой диапазон матчей(от 50). На большом отрезке статистические погрешности влияют на конечный результат в меньшей степени. И то, что может выглядеть погрешностью на малой дистанции, на длинной может стать закономерностью.

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

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

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

- разная сила команд.

Или "не все голы одинаково полезны".

Думаю, что понятно, что все команды разные. У кого-то сильная атака, у кого-то сильная защита. Забить гол условному МЮ или Борнмуту - это две разные вещи.

Что делать в этом случае?

Решать проблему можно по-разному. Одни из способов - это повышать или понижать "цену" забитому голу в зависимости от команды. Можно это сделать через "коэффициент" корректировки. Попросту говоря, если у команды слабая защита, то делить забитые голы в её ворота "на два" или "на три". Данный способ требует хорошего понимания силы той или иной команды. И, в идеал, нужно классифицировать каждый гол по-разному(в зависимости от условий в котором он был забит). Грубо говоря, если гол был забит с "левого" пенальти, то он вряд ли может что-то сказать о силе или слабости команды.

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

- высокая цена гола.

Футбол - это тот командный вид, где забивается не так-то много голов. Если в условном баскетболе количество результативных действий измеряется десятками и сотнями. Соответственно, разница между сильной и слабой атакой отличается в десятки заработанных очков. В футболе же разница между сильной и слабой атакой измеряется в 1-2 гола. Соответственно, команда может перейти из одной категории в другую просто проведя пару хороших матчей.

Что делать? Смириться с этим и использовать дополнительные средства анализа. Например, xG-метод для этого хорошо подходит. Там нет целых величин, а есть числа с десятичной и сотой долей. Соответственно, разница между показателем 1.9 и 0.9 по xG - это разница в десять пунктов. Хотя команды могут забить одинаковое количество мячей при таких показателях.

- нет разделения на домашние и гостевые матчи.

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

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

Я думаю, что дополнительно считать эти параметры нужно, потому что цифры для домашних и гостевых матчей могут сильно отличаться.

Что по итогу?

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

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

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