Блоги

Непростая математика: создание ELO-формулы для оценки игроков после турнира

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

В CS:GO последний десяток лет сайт HLTV.org давал самое справедливое сравнение всех игроков мира, не зависящее от позиции (т.н. HLTV Top-20 of the Year). Популистский метод соотнести игроков «здесь и сейчас» основывается исключительно на показателях K/D, ADR, KAST, Rating 2.0 и прочих. Как в математике: в таком случае мы теряем корни, уводящие дальше от истины. Идея ELO-формулы пришла ко мне летом и опытным путём корректировалась (и будет ещё долгие месяцы) до нынешнего, более устойчивого состояния. Суть такова: вместить как можно больше нюансов в удобный расчёт. Любопытную технологию недавно предложил автор Sports, но комьюнити осталось недовольно отсутствием/включением тех или иных значений (например, в том рейтинге отсутствовала роль ADR).

Наша ELO-формула будет основываться (не смейтесь) на формуле MVP для чемпионатов по PUBG Mobile.

Правда, оттуда мы берём только одну очень важную деталь – процентное соотношение. Вопросы о том, нужно ли включать отдельные разновидности цифр с HLTV должны отпасть, если мы будем пропорционально понижать их значение (ненужным – сильнее, нужным – не так сильно). Ребята из PUBG сделали так, чтобы от выживаемости и урона в формуле учитывалось только по 40%, от киллов – 20%.

Пристегнитесь.

Полная версия всех данных для формулы
Полная версия всех данных для формулы

Пока не пытайтесь в это вникнуть, разберём схему пошагово. Она состоит из двух частей – цветной (касается только качеств игрока и тиммейтов) и белой (сравнение с другими игроками). Жирным шрифтом – уже проведённые расчёты для s1mple на ноябрьском IEM Beijing-Haidian, они нужны для наглядности.

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

Обращаем внимание только на верхнюю, но разноцветную шапку. Общая сумма данных процентов – 100. Это и есть целая часть, которую мы разбиваем по:

Полезность (25%) – спорные параметры, взятые под малый процент в общем виде. Железного импакта для игрока они могут не дать, но без внимания тоже не должны оставаться;

Стрельба (40%) – обыкновенный и самый важный K/D, подогнанный под реалии формулы (т.е. умноженный на 100, как видите). Из летнего варианта был исключён слишком сбивающий процент хэдшотов;

Клатчи (20%) – на большой картинке выше дано пояснение, как высчитывается балл по клатчам после турнира;

Стабильность (15%) – возможно, будет исключён в следующих версиях, т.к. очень разнится у всех игроков и мутно представляет общую картину.

Далее смотрите на то, как жирным шрифтом по этим наставлениям проведены расчёты реального игрока. Зачем умножать/делить исходные значения? Чтобы прийти к красивым 142, 82, 50 и избежать ненужных нулей или десятых.

Переходим на нижнюю шапку, где у полученных значений уже найдены необходимые доли (20,5 от полезности, 56,8 от стрельбы и т.д.).

Как вы знаете, индивидуальная игра условного s1mple – только 70%-ная часть большой формулы, указанная на шапке. Поэтому, суммируя те самые доли, мы также понижаем их порог до 70%, получая итоговый 60,5.

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

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

Ценность карт – новая вещь, на которую мало кто обращает внимание. Помните случаи, когда игрок, сыгравший отлично и вылетевший в начале турнира, оставался в топе? Теперь они будут минимизированы благодаря «ценности карт». Тир-кэфы также объясняются в самом расширенном скриншоте данной темы;

Сравнение с тиммейтами – очень относительный и спорный параметр, который зависит от роли игрока в команде. Потому и взят только под 40% из ста.

ВАЖНО! Наш рейтинг – индивидуальный в первую очередь. Этим объясняется разделение больших объемов данных на две группы: значимую для формулы (70%) и вспомогательную (30%).

Пришло время для собирания паззла:

Да, это – «бумажный» вид всего описанного выше (не считая заключительного APC). В результате сокращения по всем школьным правилам ELO-формула получает сжатый вид:

Отныне всё, кроме APC, мы можем посчитать по этой системе, зная неизвестные обозначения:

CS – баллы по клатчам из общей схемы;

RD – стабильность, которая исходила от рейтинга 2.0;

M*TK/P – ценность карт (кол-во сыгранных карт, умноженное на тир-кэф и делённое на место в турнире);

PR-ATR – разница между рейтингом 2.0 взятого игрока и средним рейтингом 2.0 его команды.

Зная эти обозначения, можно самостоятельно брать сжатую формулу на вооружение.

ВАЖНО! Без APC формула теряет свой смысл. Суть APC (Average player's coef) – показать, насколько один игрок выступает лучше игроков других команд на той же роли.

Пошагово:

1. На турнире (IEM) участвует 16 команд. Для s1mple это он плюс 15 соперников-снайперов (для flamie – он плюс 15 преплэнт-опорников и т.д.);

2. Если среди всех снайперов s1mple оказался лучшим статистически, то он получает 16 очков APC, если вторым – 15 и т.д.;

3. Для каждой стороны, как вы видите, APC берётся отдельно. Не секрет, что роли и сама суть игры кардинально меняется в зависимости от стороны, поэтому подгонять условного Nivera под один класс для Т и СТ – бессмысленно;

4. Из APC для защиты и атаки берём среднее арифметическое, которое и войдёт в сжатый вид формулы (s1mple на IEM оказался лучшим террористом-снайпером и вторым спецназовцем-снайпером. Среднее – 15,5).

Чем я руководствовался при определении ролей? Под рукой имеется таблица, меняющаяся по ходу соревновательного сезона (информация взята с уклоном на Nuke - самую популярную карту второй половины 2020 года):

Предполагаемые позиции игроков для APC
Предполагаемые позиции игроков для APC

Она является более свежей, т.к. корректировалась по ходу BLAST Premier Finals с учётом последних перестановок.

---

Существуют ли выявленные минусы? Такие показатели, как «Стабильность», «Полезность» и «Ценность карт» ещё довольно сырые, что может испортить истинность ELO.

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

Как она может помочь при анализе? При ручном высчитывании легко догадаться, какой именно показатель тащит ELO на дно. Если это недостаточное APC, то проблема несколько глобальнее, чем 70% и 30% от индивидуальных и околоиндивидуальных значений с HLTV.

Очень быстрое применение на практике (в дальнейшем развернём отдельные материалы о результатах турниров):

Рассмотрим абсолютно разные примеры трёх лучших игроков BLAST Premier Finals (по HLTV) и дадим пояснения:

1. ZywOo оторвался от s1mple за счёт и 70%-го параметра, и 30%-го. При умножении друг на друга эти «шапки» дают весомую разницу, хоть и APC у вечно спорящих героев эпохи одинаковый (7,5);

2. В случае с misutaaa труднее, ELO испортила «ценность карт» (а именно деталь, отвечающая за его сыгранные встречи). Т.к. Кевин – игрок постоянной ротации, пропускающий половину карт, формула «отрезает» у него приличную долю ELO. Если бы мы просчитывали его конкурентов с менее крутым APC (misutaa перегнал всех на обеих сторонах), то те же dupreeh и tiziaN реально могли получить намного больше ELO и попасть в топ.

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

---

Недавно автор запустил Telegram-канал (t.me/kvas55of), где выкладывает мини-посты похожего стиля и результаты наблюдений. В последний раз я подробно обозревал статистику IZA, которую также изобрёл сам. Вскоре появятся объяснения насчёт ролей в ELO-формуле и ответы на возникшие вопросы.

Комментарии