Prognozz
Продвинутое

Как построить свою модель оценки вероятностей

Как построить свою модель оценки вероятностей

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

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

Ниже — какие данные нужны, как собрать базовую модель на распределении Пуассона, как проверить её на истории и какие ошибки делают проверку бессмысленной.

Коротко.
  • Модель нужна не для точности предсказаний, а для сравнимости: она даёт вероятность, а не мнение.
  • Базовая версия — ожидаемые голы каждой команды плюс распределение Пуассона для перевода в исходы.
  • Проверка на истории обязательна, и в ней легко смошенничать самому с собой: главный враг — подглядывание в будущее.
  • Калибровка важнее точности: если модель говорит «60%», такие события должны происходить примерно в 60% случаев.
  • Модель без сравнения с ценой бесполезна: она отвечает на вопрос «сколько вероятность», а не «есть ли ставка».

Часть цикла

Материал для тех, кто уже освоил value-беттинг и расчёт EV. Данные для модели разобраны в статьях про xG и полезную статистику.

Шаг 1. Данные

Что нужноЗачемЗамена, если нет
xG за и против по матчамОснова оценки силы атаки и обороныУдары из штрафной
Дом/гости отдельноРазница бывает больше, чем между командамиОбщая поправка на поле
Дата матчаВеса по свежести и учёт календаряПорядковый номер тура
СоставыРучная поправка на потериПропускать матчи с известными потерями
Коэффициенты (открытие и закрытие)Проверка модели против рынкаТолько закрытие

Правило одно: источник данных должен быть единственным и неизменным. Смешение xG из разных моделей делает сравнение бессмысленным ещё до начала расчётов.

Шаг 2. Базовая модель на Пуассоне

  1. Для каждой команды посчитайте среднее xG «за» и «против» за 6–10 матчей, отдельно дома и в гостях.
  2. Оцените ожидание для матча: атака хозяев в среднем с обороной гостей, и наоборот.
  3. Постройте таблицу вероятностей числа голов для каждой команды по формуле Пуассона: P(k) = (λk · e−λ) / k!
  4. Перемножьте вероятности по парам счетов и сложите нужные клетки: победа, ничья, поражение, тоталы.
  5. Переведите вероятности в честные коэффициенты (1 ÷ p) и сравните с линией.
Пример. Ожидания 1,65 и 1,10 гола. Вероятности нуля голов: 19,2% и 33,3%; одного: 31,7% и 36,6%. Перемножая и складывая клетки, получаем примерно 55% на победу хозяев, 23% на ничью, 22% на победу гостей и около 58% на тотал больше 2,5. Честные коэффициенты: 1,82 / 4,35 / 4,55 / 1,72.

Шаг 3. Поправки, которые дают больше всего

  • Домашнее преимущество. Проще всего как множитель к ожиданию хозяев, откалиброванный по лиге — см. разбор фактора.
  • Свежесть данных. Веса: последние матчи важнее ранних.
  • Составы. Ручная поправка, но именно она чаще всего отличает модель от рынка.
  • Календарь. Снижение ожидания для команды, играющей третий матч за восемь дней.
  • Зависимость голов. Чистый Пуассон считает голы независимыми; на практике ничьи встречаются чуть чаще, чем он предсказывает.

Сетка счетов: как это выглядит в таблице

Самая наглядная часть модели — матрица вероятностей счетов. По строкам голы хозяев, по столбцам голы гостей, в клетке — произведение двух вероятностей. Для ожиданий 1,65 и 1,10 фрагмент выглядит так.

Хозяева \ Гости0123
06,4%7,0%3,9%1,4%
110,6%11,6%6,4%2,3%
28,7%9,6%5,3%1,9%
34,8%5,3%2,9%1,1%

Дальше складываем нужные клетки: диагональ даёт ничью, всё под ней — победу хозяев, над ней — победу гостей. Для тотала больше 2,5 суммируем клетки, где сумма голов от трёх. Из этой же таблицы получаются вероятности точного счёта и «обе забьют» — достаточно выбрать другие клетки.

Проверка себя. Сумма всех клеток должна давать 100% с учётом хвостов (счёт 4+). Если у вас получается заметно меньше, значит, вы обрезали таблицу слишком рано — добавьте строки и столбцы до 6–7 голов.

Поправка на зависимость голов

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

  • Простое: вручную поднять вероятности ничейных счетов (0:0, 1:1, 2:2) на небольшую величину и нормировать таблицу заново.
  • Аккуратное: использовать поправочные коэффициенты для низких счетов — это классический подход, который в таблице реализуется четырьмя множителями.

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

Как обновлять модель по ходу сезона

  1. Каждый тур — добавлять новые матчи в выборку и убирать самые старые.
  2. Раз в месяц — проверять калибровку на накопленных прогнозах.
  3. При смене тренера — обнулять выборку команды и первые матчи давать с большим запасом по цене.
  4. Раз в сезон — пересматривать поправки: домашнее преимущество и коэффициент ничьих меняются между сезонами.
  5. Никогда — не менять параметры после неудачной серии: это подгонка под шум.
Важно. Разделяйте два журнала: прогнозы модели и фактические ставки. Первый показывает качество оценок, второй — качество ваших решений о цене и размере. Смешав их, вы не поймёте, что именно работает.

Шаг 4. Бэктест без самообмана

Проверка на истории — единственный способ понять, стоит ли модель усилий. И самый простой способ обмануть себя.

ОшибкаКак выглядитКак избежать
Подглядывание в будущееВ расчёт попали данные, которых не было до матчаСчитать строго по срезу на дату матча
Коэффициент задним числомВзята закрывающая цена вместо доступной на момент ставкиФиксировать цену, по которой реально поставили бы
Подгонка параметровВеса подобраны так, чтобы прошлое выглядело прибыльнымПроверять на отрезке, который не участвовал в настройке
Выбор удобного периода«Модель работает с марта по май»Брать всю доступную историю подряд
Игнорирование маржиРасчёт по честным ценам вместо реальныхСчитать по линии с наценкой

Шаг 5. Калибровка

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

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

Важно. Калибровка проверяется на сотнях прогнозов, а не на десятке. До этого объёма модель — гипотеза, а её оценки требуют большего запаса относительно цены.

Что делать с результатом модели

Модель выдаёт вероятности — дальше начинается работа, ради которой всё затевалось.

ДействиеКак выполняется
Перевести в честные коэффициенты1 ÷ вероятность по каждому исходу
Сравнить с линиейБерётся лучшая доступная цена, а не первая попавшаяся
Применить порогСтавка только при запасе от 5–10% в зависимости от грубости модели
Определить размерФлэт либо доля Келли — см. банкролл-менеджмент
Записать в журналОценка модели, цена, порог, решение — включая отказы

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

Когда модель не нужна

Если вы ставите редко и на один-два знакомых турнира, оценки «от очищенной линии» с поправками на составы обычно хватает. Модель окупается там, где нужно обрабатывать много матчей и сравнивать их между собой по единому критерию — то есть при объёме, а не при точечных ставках.

Частые вопросы

Нужно ли программировать

Нет. Пуассон считается встроенной функцией в любой таблице, а перемножение вероятностей счетов — обычная сетка 6×6. Программирование окупается позже, когда матчей становится слишком много для ручной работы.

Насколько точной должна быть модель

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

Что делать, если модель всегда согласна с линией

Это хороший знак: она откалибрована. Перевес тогда ищут не в самой модели, а в скорости (ранние линии), в сравнении площадок и в рынках с меньшим вниманием.

Сколько истории нужно для бэктеста

Чем больше, тем лучше, но с оговоркой: данные старше двух-трёх сезонов описывают другой футбол и другие составы. Практичный компромисс — последние два сезона плюс текущий, с проверкой на отрезке, который не участвовал в настройке.

Материал носит информационный характер и не является призывом к участию в азартных играх. Ставки связаны с риском потери денег; ставьте только те суммы, потерю которых можете себе позволить. 18+. Если игра перестала быть развлечением — см. нашу статью об ответственной игре и обратитесь за помощью.
Предложение партнёра

Бонус до 25 000 ₽

Бонус до 25 000 ₽ за первое пополнение счёта

Получить бонус

18+ Играйте ответственно. Реклама