How we measure “stylistic fit” without overfitting nostalgia
Match clusters players by behaviour, not biography. The math behind why “a left-back like Marcelo” is a useful comparison and how we keep it honest.
By Match Engine team
«Нам нужен левый защитник, как Марсело». Полезная и опасная фраза. Полезная, потому что мгновенно передаёт профиль, который любая футбольная голова в комнате видит. Опасная, потому что для пяти разных слушателей она означает пять разных вещей — а ещё хуже, для поискового движка может не означать ничего точного.
Match — наш рекомендательный движок — живёт на границе этих двух истин. Ему нужно переводить размытый язык практика в строгие, сравнимые, защитимые ранжирования — не уплощая то, что делает игрока особенным. Вот как мы это делаем, не переобучаясь на ностальгию.
Трёхслойная модель
В Scout Atlas стилистическая совместимость — не одна оценка похожести. Это стек из трёх независимых слоёв, каждый считается ночью, каждый объясняется простым русским рядом с результатом.
Слой 1 — Поведенческие отпечатки
Для каждого игрока, у которого как минимум 900 минут в лиге за последние два сезона, мы считаем 200-мерный поведенческий вектор. Не сырые статы. Поведенческие производные: дистанция прогрессирующего ведения на касание, активность в оборонительных зонах, скорректированная на силу соперника, частота сканирования перед прогрессирующими передачами, дистанция возврата после потери.
Это фичи, которые переживают нормализацию между лигами. 70-минутный матч ирландской Премьер-лиги — не то же полотно, что матч Премьер-лиги АПЛ, поэтому мы нормализуем возможности, не результаты. Отпечаток сравнивает поведение в равных условиях.
Слой 2 — Ролевой контекст
«Левый защитник, как Марсело» — это не просто поведенческая форма. Это поведенческая форма в системе. Мы помечаем каждый матч в корпусе подразумеваемой ролью игрока (инвертированный фланг, классический фланг, латераль в схеме «пять в обороне», гибридный широкий центральный) с помощью граф-классификатора формаций. Стилистическая похожесть затем считается с учётом роли — гибрид «Баварии» сравнивается с другими гибридами, а не с латералем «Аталанты».
Слой 3 — Подпись принятия решений
Третий слой — самый экспериментальный и тот, что нас вдохновляет больше всего. Мы обучаем sequence-модель на размеченных точках принятия решений — приём под давлением, триггер оборонительного прессинга, разгон в переходе — и получаем распределение вероятностей по классам решений для каждого игрока. Подпись решений ловит то, что игрок склонен делать, когда у него есть выбор. Два игрока с одинаковыми поведенческими отпечатками могут иметь совершенно разные подписи решений, и подпись обычно предсказывает, как игрок адаптируется к новой системе.
Три вещи, которые мы намеренно не делаем
Каждый рекомендательный движок определяется тем, что он отказывается делать. У Match три твёрдых отказа.
- Мы не обучаемся на приватных данных клубов-членов без согласия. Отпечатки идут из открытых open-data корпусов и лицензионных событийных данных. Приватные заметки клубов-членов, GPS и шорт-листы — их; они обогащают персональную модель клуба, а не меж-клубную.
- Мы не скрываем, какие лиги покрывал бриф. Если бриф фильтровал по топ-5, мы говорим об этом в каждом результате. Если игрок не вошёл, мы говорим почему (мало минут, лига ещё не загружена).
- Мы не выдаём ранжирование с уверенностью 60 за уверенность 95. Когда ансамбль расходится — XGBoost любит игрока, CatBoost не уверен — мы прямо помечаем разброс. Низкая уверенность — это сама по себе сигнал, который стоит показать.
Как мы держим сравнения честными
Рядом с каждой Match-оценкой работают две страховки.
Первая — коррекция выживальческого смещения. Футбольная пресса тянется к победителям. Поведенческая похожесть на знаменитого игрока может быть опасным прокси — отличный фильтр для ловли ретроспективной гениальности и плохой фильтр для прогноза будущей совместимости. Мы перебалансируем тренировочные когорты так, чтобы явно включать «шумную середину» — игроков, которые выглядели звёздами и ими не стали.
Вторая — покогортная калибровка. Мы тестируем модель не на золотом мальчике АПЛ, а на вингере шведского Аллсвенскана, о котором никто не слышал в 2021-м, а сейчас он регулярный игрок Бундеслиги. Если модель не смогла бы вытащить его с высокой уверенностью в 2021-м, мы возвращаемся к доске. Большинство движков «похожести» празднуют игроков, которых предсказали; мы измеряем себя по тем, кого пропустили.
Что вы реально видите в продукте
Когда вы открываете игрока в Scout Atlas, «Стилистические аналоги» показывают шесть лучших игроков по корпусу по комбинированной похожести отпечаток + роль + решение, с разбивкой атрибуции фич по каждой паре: где похожесть концентрируется, где расходится. Вы видите сравнение и границы сравнения.
«Левый защитник, как Марсело» снова становится полезным — но больше не нужно принимать на веру. Математика на странице.
Keep reading
The transfer window is broken — and the tools made it worse
Why a market with €7B annual flow still runs on Excel, WhatsApp, and gut feel. And what changes when the data layer catches up.
Agents as network, not noise
Why filtering agents out is the lazy answer — and what changes when you verify the integrity ones and price out the unverified middle.
If this resonated, the next move is a conversation.
We onboard pilot members on rolling invitation. Send us your hardest question — we’ll send back the live answer.