Один из самых популярных элементов match-страницы ScanGoal — momentum chart: горизонтальный ряд маленьких зелёных и красных полосок под счётом. Каждая полоса = 3 минуты игрового времени. Зелёная — давит хозяин, красная — гости. Высота = интенсивность. Вот как читать точно.
Что входит в полоску
Каждый 3-минутный срез — взвешенная сумма нескольких потоков событий:
- Удары по воротам (высший вес)
- Удары в створ
- Опасные атаки (устойчивые атаки до штрафной)
- Угловые
- Владение мячом в чужой трети
Интенсивность нормализуется относительно лиговой базы — угловой в низкотемповой лиге весит чуть больше чем тот же угловой в высокотемповой.
Узнаваемые паттерны
1. Контроль (runaway)
Одна сторона показывает высокие зелёные/красные полосы много 3-минуток подряд. Команда реально доминирует — высока вероятность гола, угла или ошибки соперника.
2. Качели (seesaw)
Зелёные и красные чередуются среднего размера. Открытая обоюдная игра. Выше вероятность BTTS, нет явного контроля. Хороший контекст для in-play Over.
3. Зажим (defensive lock)
Обе стороны показывают очень низкие полосы много слотов. Матч застрял — мяч ходит в середине без проникновения. Часто предшествует 0:0 или 1:0, сильный сигнал в пользу Under.
Почему мы перерисовываем график каждый раз
Технический нюанс: на каждом обновлении график строится с нуля. Это потому что частичные апдейты постепенно течут SVG-элементами в DOM, тормозя страницу. (Мы узнали это на своей шкуре — ранняя версия momentum chart утекала ~3000 SVG прямоугольников за матч за 3 часа, раздувая HTML до ~1MB.)
Так что обновление графика — всегда чистая перерисовка, не приписывание.
Чего график не показывает
- Давление, а не вероятность гола — высокое зелёное давление может дать 0 голов много слотов
- Не учитывает тактику: контратакующая команда может впитать давление и забить через быстрый прорыв
- Карточки и последствия удалений в полосах не видны (смотрите колонку cards)
Комбинация momentum с другими сигналами
Самый полезный workflow:
- Глянуть счёт и Powerd для базы матча
- Прочитать momentum chart — что происходит сейчас
- Сверить с dominance bar (текущее 5-мин окно давления)
- Проверить live-линию — если линия не двигается несмотря на давление, рынок медленно реагирует
Эта комбинация гораздо полезнее счёта в одиночку. Команда 0:1 с устойчивым зелёным давлением 12+ минут — это другая ситуация чем 0:1 без давления.
Откуда данные
События берутся из нескольких match-data scrapers и нормализуются в нашей БД. Сэмплируем с минутным разрешением где источник позволяет, потом агрегируем в 3-минутный срез для визуализации. Скорость обновления для live-матчей обычно 30 секунд.