Как работает рейтинг игроков по чемпионам
Эта страница объясняет от начала до конца, как Top of League отвечает на вопрос «кто лучше всех играет на этом чемпионе»: кто попадает в таблицу, как считаются очки, почему ровно 30 игр, через какие шаги проходят данные и чего таблица не может сказать.
Содержание
- В одном абзаце
- Почему рейтинг по чемпионам
- Кто попадает в таблицу
- Добавьте себя в список отслеживания
- Очки
- Почему ровно 30 игр
- Откуда берутся данные
- Как читать таблицу
- Чего таблица не может сказать
- Приватность и политика Riot
- Глоссарий
- Частые вопросы
В одном абзаце
У каждого чемпиона своя таблица. Игрок попадает в таблицу чемпиона X, если он сейчас Мастер или выше (или любого ранга, если его Riot ID добавлен на главной странице) и у него ровно 30 последних игр соло/дуо на X. Порядок — Очки = LP + 600 × (WR₃₀ − 0,5): официальный LP Riot решает почти всё, винрейт за эти 30 игр только разбивает ничьи. Все числа приходят из Riot Games API и пересчитываются каждый час.
Почему рейтинг по чемпионам
Общий ранг отвечает на вопрос «насколько ты хорош в League», а не «насколько ты хорош на Азире». Претендент с 400 играми на Азире и Претендент на пятой игре делят ранг, но явно не уровень на этом чемпионе. Очки мастерства тоже не помогают: они измеряют время игры, а не результат.
Таблица по чемпиону закрывает этот пробел, рассматривая только тех, кто доказал две вещи одновременно: они на вершине ладдера и действительно играют на этом чемпионе на этом уровне. Именно это нужно тому, кто учит чемпиона: кого смотреть, у кого учиться, на своём сервере.
Кто попадает в таблицу
Игрок появляется в таблице чемпиона X, когда одновременно выполняются четыре условия:
- Текущий ранг Мастер или выше в соло/дуо по последнему снимку. Мастер, Грандмастер и Претендент делят шкалу LP, так что сравнение осмысленно. Игроки, добавленные в список отслеживания на главной странице, пропускают это условие.
- Ровно 30 последних зачётных игр. Не «не менее 30»: берутся 30 новейших, более старые отбрасываются.
- Зачётная игра — игра очереди 420, не переигровка, завершённая за последние 90 дней.
- Условия по винрейту нет. 12 из 30 остаётся в рейтинге, просто ниже.
Условие 3 держит таблицу актуальной: игры старше 90 дней не считаются, поэтому таблица отражает текущую форму, а не давние результаты.
Добавьте себя в список отслеживания
На главной странице есть поле для Riot ID. Любой может добавить своё имя или чужое, с любым рангом. Система находит Riot ID, считывает текущий ранг и загружает игры рейтинговой очереди соло/дуо за последние 90 дней, обычно в течение нескольких минут.
Затем поле показывает по каждому чемпиону, сколько недавних игр уже учтено, сколько ещё нужно до 30 и текущее место, если игрок уже в таблице. У отслеживаемых игроков учитывается каждая игра соло/дуо, без требования Мастера.
Ограничения: не более 10 добавлений с одного IP-адреса в день. Используются только публичные данные Riot, поиска текущих матчей нет.
Очки
Очки = LP + K × (WR₃₀ − 0,5) при K = 600. LP — официальные очки из последнего снимка. WR₃₀ — винрейт за 30 последних зачётных игр на чемпионе.
Почему K = 600? LP Мастер+ идёт от 0 до более 3 000. При K = 600 винрейт сдвигает максимум на ±300 очков (крайний случай 0 % или 100 %), на практике около ±60. Ранг по-прежнему доминирует, а винрейта хватает, чтобы разделить двух игроков с равным LP.
Игроки ниже Мастера размещаются на той же шкале с приведённым LP: каждый дивизион ниже Мастера вычитает 100 (Алмаз I = LP − 100, Алмаз IV = LP − 400, Изумруд I = LP − 500, Золото I = LP − 1 300). Пример: Золото II 80 LP с 24 победами из 30 (80 %) получает −1 320 + 180 = −1 140; Золото I 20 LP с 12 победами из 30 (40 %) получает −1 280 − 60 = −1 340, поэтому игрок Золота II стоит выше. Слагаемое винрейта сдвигает игрока максимум на ±300, поэтому он никогда не перескакивает больше чем примерно на три дивизиона.
Пример
| Игрок | LP | Победы / 30 | WR₃₀ | Очки |
|---|---|---|---|---|
| A | 1 200 | 18 | 60 % | 1 200 + 600 × 0,10 = 1 260 |
| B | 1 250 | 12 | 40 % | 1 250 − 600 × 0,10 = 1 190 |
| C | 1 500 | 12 | 40 % | 1 500 − 60 = 1 440 |
A обгоняет B, несмотря на 50 LP меньше, благодаря лучшей форме на этом чемпионе. C остаётся выше обоих: разрыв в 250 LP — реальный разрыв в ранге, и винрейт его не переворачивает.
Почему ровно 30 игр
Фиксация окна на ровно 30 играх даёт одно изящное свойство: у всех одинаковый размер выборки. Поэтому два винрейта сравниваются напрямую, без байесовского сжатия, коэффициента доверия и порогов «минимум N игр». Этого нет у формул в стиле League of Graphs.
Цена: стандартная ошибка на 30 играх — 9,1 процентного пункта; ±1 стандартное отклонение равно ±55 очкам. Приемлемо для ничьих, ненадёжно для переворота реального разрыва в ранге — именно то поведение, которое нам нужно. Окно также измеряет текущую форму: тот, кто бросил чемпиона на три месяца, постепенно выпадает из таблицы по мере устаревания игр.
Откуда берутся данные
- Снимок ладдера (ежедневно, 3 вызова): все Претенденты, Грандмастеры и Мастера с LP, победами и поражениями. Источник LP и условия Мастер+.
- Поиск ID матчей (ежедневно, один вызов на игрока): новые ID соло/дуо с прошлого обхода.
- Детали матча (один вызов на матч, каждый матч один раз): извлекаются 10 строк с чемпионом, исходом, KDA и позицией; сырой JSON сразу отбрасывается. Один вызов даёт данные по 10 игрокам, так что обход по матчам примерно в 9 раз дешевле обхода по игрокам.
- Рейтинг (каждый час, без API): один SQL-запрос нумерует игры каждой пары игрок–чемпион от новых к старым, оставляет ровно 30, считает очки и пишет один статический JSON на чемпиона.
Вся система работает на маленьком сервере, потому что её ограничивает квота Riot API, а не процессор. Лимиты читаются из заголовков ответов Riot и держатся на уровне 85 % разрешённого.
Как читать таблицу
- Ранг, LP: официальный ранг на момент последнего снимка.
- WR за 30 игр, П–П: винрейт и победы–поражения за ровно 30 последних зачётных игр на этом чемпионе, не за весь сезон.
- KDA: (убийства + помощь) / смерти за эти 30 игр; только для справки, в очки не входит.
- Очки: значение для сортировки. Ничьи разбиваются большим LP, затем большим числом побед.
- Последняя игра: когда была последняя игра на этом чемпионе; неактивные игроки остаются в таблице, пока их не вытеснят или они не выпадут из Мастера.
Чего таблица не может сказать
Открытость об ограничениях отличает эту таблицу от существующих. Ниже сказано прямо:
- Только Мастер и выше (≈0,1 % игроков). Игроки Алмаза себя здесь не найдут.
- Окно в 30 игр несёт ±9,1 процентного пункта шума. Это цена измерения текущей формы, а не всего сезона.
- Сложность матча не измеряется. Затащить и прокатиться — одинаково одна победа.
- Пока нет разделения по ролям. Один чемпион на миде и топе делит одну таблицу.
- Riot API возвращает не более 10 000 игроков Мастера. На серверах, где Мастеров больше (VN), игроки с самым низким LP не могут попасть в рейтинг.
- Данные обновляются раз в день, не в реальном времени.
Приватность и политика Riot
Хранится и показывается только текущий Riot ID; после смены имени старое исчезает, истории имён нет. Нет поиска текущих матчей и ничего, что даёт преимущество в игре. Нет ставок, нет платного доступа. Ключ API остаётся на сервере. Сайт не связан с Riot Games; порядок основан на официальном ранге Riot и не является альтернативной рейтинговой системой.
Глоссарий
- LP (League Points)
- Официальные рейтинговые очки Riot. С Мастера дивизионов нет; три высших ранга делят одну непрерывную шкалу.
- Мастер+
- Мастер, Грандмастер и Претендент вместе; около 0,1 % рейтинговых игроков.
- WR₃₀
- Винрейт за ровно 30 последних зачётных игр на одном чемпионе.
- Переигровка
- Игра, завершённая досрочно из-за неподключившегося игрока; LP не меняется, не учитывается.
- Снимок ладдера
- Полная копия списка Мастер+ с LP на момент времени, сохраняется ежедневно.
Частые вопросы
- Я Алмаз, почему меня нет?
- Рейтинги охватывают только Мастер и выше, около 0,1 % игроков. Это осознанный обмен на надёжность данных.
- Как часто обновление?
- Снимки ладдера и новые матчи загружаются ежедневно; рейтинги пересчитываются каждый час. У каждой таблицы указано время обновления.
- Почему ровно 30 игр?
- У всех одинаковый размер выборки, поэтому два винрейта сравниваются напрямую без коэффициента доверия. Стандартная ошибка на 30 играх — 9,1 пункта: достаточно, чтобы разбить ничью, недостаточно, чтобы перевернуть реальный разрыв в LP.
- Это альтернатива рейтинговой системе Riot?
- Нет. Порядок основан на официальном LP Riot; винрейт только разбивает ничьи. Таблица отвечает на вопрос «кто лучше всех играет на этом чемпионе», а не измеряет общий уровень заново.
- Исключаются ли игроки с винрейтом ниже 50 %?
- Нет. Игрок с 12 победами из 30 остаётся в рейтинге, просто ниже тех, кто при равном LP выиграл больше.
- Откуда данные?
- Из Riot Games API (league-v4 и match-v5). Хранится и показывается только текущий Riot ID; истории имён и поиска текущих матчей нет.