🎉 Спектральные итоги 2023

Вопросы по статистике

  • Какие есть отчёты?
    Обычно я создаю отчёты для всех турниров и лиг DPC и высокого уровня (а также квалификации к ним). Я также стараюсь делать отчёты для тир 1/2 турниров и лиг (основываясь на категориях liquipedia). Я добавляю любые отчёты, которые кажутся достаточно важными, вне зависимости от их организаторов. И ещё есть отчёты по статистике рейтинговых матчей на ранге Титан (начиная с 5900 MMR) для каждого патча, а также отчёты по мете.
  • Можешь сделать отчёт по турниру X?
    Конечно! Нужна только информация о турнире, тогда будет и отчёт. Большая часть важных турниров и так получат свои отчёты, а любительским турнирам я люблю помогать по возможности и создавать отчёты для них. Единственное исключение — если у турнира нет билета (ticket ID) и/или не были предоставлены реплеи.
  • Что такое отчёты по мете?
    Отчёты по мете собираются на основе данных других отчётов. Есть три их типа: рейтинговая мета (последняя и предыдущая недели), соревновательная мета (последние две недели и предыдущие две), а также соревновательный сезон (DPC турниры или данные по всем крупным турнирам/лигам за соревновательный год.
  • Какие данные есть в отчётах по мете?
    Рейтинговые отчёты по мете содержат все те же данные, что и рейтинговые отчёты по патчу - они собираются на основе матчей на ранге Титан. Отчёты по соревновательному сезону и соревновательной мете используют данные по всем DPC турнирам, а также соревнованиям высокого уровня/тир 1/тир 2 (основываясь на категориях liquipedia). Квалификации не включены в отчёты по мете (по крайней мере на данный момент)
  • Как часто обновляются отчёты?
    Отчёты по турнирам и лигам обновляются сразу после завершения нового матча. Рейтинговые отчёты, а также отчёты по мете и соревновательному сезону, обновляются раз в сутки.
  • Что такое “mp” и “mb”?
    Сокращения от "Медиана пиков" и "Медиана банов". Это своего рода метрика, чтобы показать, насколько герой популярнее относительно среднего героя в отчёте. Это полезно при сравнении двух разных отчётов, а также в целом проще для понимания восприятия и понимания контекста.
  • Почему ты не добавишь данные по X?
    На самом деле у меня есть несколько больше данных в распоряжении, чем есть в отчётах (например, по предметам, вардам или подробности по игрокам в рейтинговых матчах), но я не хочу на данный момент заниматься реализацией публичного доступа к ним. На данный момент я работаю над полностью новой версией хаба статистики / платформы, в рамках которой будет улучшена навигация по отчётам и будут доступны все эти данные. Часть данных также не включена в отчёты по причинам приватности игроков.
  • Почему у тебя отображаются ссылки на странные ресурсы в отчётах?
    В каждый отчёт добавляются ссылки на официальных спонсоров и социальные сети турнира. Это делается в первую очередь для того, чтобы людям было проще выйти на информацию касательно организаторов турнира, а также понять, кто именно его спонсирует.

Технические штуки

  • Я нашёл баг / словил fatal error! Что мне делать?
    Сообщить мне об этом. Со мной можно связаться в Discord, Twitter, Telegram и VK (все ссылки есть на боковой панели). Большинство мелких проблем проходят сами после перезагрузки страницы (и я в курсе этих проблем, причины я упоминал на странице о поддержке).
  • Есть ли API?
    Да, есть, но я не рекомендую им пользоваться. Он сделан в основном для меня, его документация практически отсутствует, и у меня особо нет времени заниматься его поддержкой. Впрочем, через него можно получить все те же данные, что можно найти в отчёте.
  • Где ты берёшь данные?
    Я использую OpenDota и официальный Dota 2 WebAPI для официальных (турнирных) матчей и Stratz для рейтинговых матчей.

Базовые вопросы

  • Что означают “побед запрещён”?
    Это доля побед команды, забанившей героя.
  • Что такое “ранг” героев и как он рассчитан?
    Это ранг от 0 до 100 (выше = лучше), который назначен на основе рассчёта оценки рейтинга с использованием алгоритма Вилсона, учитывая общее число матчей, востребованность героя, процент побед героя. По сути это “умный винрейт”, который учитывает и число побед, и общее число матчей героя относительно общего числа матчей.
  • Что такое “О-ранг”?
    О-Ранг, или Обр-Ранг, или Обратный Ранг — это такой ранг, который обратный. Герои, у которых много матчей, но низкая эффективность (низкий винрейт) получают высокие значения О-Ранга.
  • Что такое “ранг” для позиций героев и как он рассчитан?
    Ранг по позициям работает примерно также, как и общий ранг героев, но учитывает только статистику на конкретной позиции (и имеет некоторые небольшие изменения формулы), но суть при этом та же.
  • Что такое Отклонение пары героев?
    Это разница между ожидаемым чисом матчей и реальным числом матчей пары. Обычно чем выше отклонение, тем лучше комбинация.
  • Позиции какие-то странные, что с ними не так?
    Позиции основаны на роли (основа/поддержка) и линии. Так что это не позиции с 1 по 5, которые можно ожидать. Обмен линиями (позиция 1 уходит с лёгкой линии на сложную и наоборот) могут стать причиной появления у героев матчей на той же роли, но противоположной линии. Помимо этого, позиции героев поддержки разделены на Поддержка Лёгкая (обычно позиция 5) и Поддержка Сложная (обычно позиция 4), причём последняя включает саппортов на всех линиях кроме лёгкой, чтобы учесть роумеров. Стоит учитывать, что герои, которые на очень ранней стадии ушли в лес, также считаются “роумерами”, и роуеры автоматически считаются саппортами. Из-за этого можно заметить больше героев в категории саппортов сложной: тут также учитываются герои, которые ушли в лес на первых минутах. Но в большинстве случаев всё определяется корректно.
  • Что такое “медиана”? Зачем мне медианы ОВМ/ЗВМ и т.д.?
    Проще говоря, медиана — значение в середине. Средние значения (они же — средние арифметические) обычно довольно близки к медианам, но они отражают усреднённый показатель и искажаются выделяющимися значениями (к примеру, если у вас есть набор из 10 значений, из которых все равны 20, но одно равно 100, среднее значение будет выше 20), медиана же отражает значение в середине упорядоченного набора. На практике медианные значения показывают, какое значение вы будете встречать чаще всего (или будете близки к нему). Медианы ОВМ, ЗВМ, пиков и банов важны, чтобы дать контекст всем остальным показателям — к примеру, если рассматривать вместе медианное значение пиков и количество пиков героя, можно понять, насколько герой популярнее других.
  • Где я могу найти данные X?
    Зависит от того, что ищете. В первую очередь стоит помнить, что у каждой команды (в командных отчётах) есть свой профайл и данные в каждом профайле отражают структуру в отчёте в целом. Таке что если что-то есть в отчёте, значит это должно быть где-то и в профиле команды. ТАкже стоит обратить внимание, что все ссылки с иконкой-бургером имеют вложенные модули, так что стоит им уделить внимание.
  • Поясни мне Героя против Героя.
    Тут не используется формула ранкинга, так что данные могут быть сильно искажены с более низким количеством матчей. В целом это записи о том, как герои себя показывали против выбранного героя. Например, вы выбрали Sven и нашли в списке героев против него Meepo, с его числом побед, поражений и прибавкой к проценту побед против Sven (преимущество). Чем выше преимущество, тем лучше, чем ниже — тем хуже.
  • Что такое граф меты?
    Это визуальное отображение наиболее популярных пар героев и героев в целом в рамках отчёта.
  • Объясни мне комбинации героев. Что значат все эти странные колонки?
    Каждый компонент комбинаций героев (пары, тройки, комбо на линии) работает одинаково. Изменение винрейта рассчитано на основе среднего ожидаемого процента побед героев вместе. Ожидание матчей — это рассчитанное на основе частоты пиков героев количество матчей, в котором они обычно должны выбираться вместе. Отклонение — разница рассчитанного значения и реального количества матчей (больше — лучше, чем выше значение, тем чаще героев выбирают вместе намеренно, отрицательные значения означают обратное). Процент показывает какую долю общего количества матчей занимает отклонение. Многие пары оценены как незначительные и были отфильтрованы лимитирующим значением.
  • Что за лимитирующее значение?
    Лимитирующее значение (или ограничитель) — рассчётная величина, определяющая, сколько матчей необходимо паре или герою, чтобы считаться значимыми. Это необходимый параметр, чтобы избежать переполнения отчёта бесполезными данными, оставляя только самое важное.

Вопросы по Трендам Титанов

  • Почему у региона X так мало матчей?
    Игроки на высоких рангах часто запускают поиск на ближайшем популярном регионе. Например, для России это Западная Европа, а для Восточной Америки — Западная Америка.
  • Откуда взяты данные?
    ID матчей были собраны при обходе истории матчей каждого из игроков в таблице лидеров, используя Stratz API. После этого для сбора данных использовался OpenDota API.
  • Почему в Китае играют только Random Draft?
    Китайские игроки просто любят играть в Random Draft!
  • Это исключительно матчи с титанами?
    Ну практически. Я не проверяю все матчи вручную (это слишком затратно по времени — проверять средний ранг в каждом матче). Я использую фильтры Stratz API, минимальный ранг установлен на 80 (Immortal). Иногда игроки без ранга или отдельные 1-2 игрока с рангом Divine не влияют на средний ранг достаточно сильно.
  • Как часто обновляются отчёты?
    Каждую ночь собираются матчи, сбор данных и обновление отчётов занимают несколько часов. Конкретное расписание обновления отчётов и сборок находится по этой ссылке.

Статистика предметов

  • На чём основана статистика предметов?
    Для подсчёта используется информация о событиях покупки предметов (полученная из разбора матча). Такой метод лучше подходит, чтобы получить более точные данные (если сравнивать с инвентарём в конце игры), и позволяет также считать тайминги и проценты побед на разных стадиях игры.
  • На чём основано разделение предметов по категориям?
    В основном на их цене: ранние предметы - дешёвые и могут быть куплены только на ранних стадиях, средние - собираемые предметы без улучшений, которые стоят от 1 до 2.5 тысяч золота, крупные предметы - все остальные. Нейтральные предметы разделены по разрядам. Категории я модерирую сам.
  • В статистике отсутствует предмет X или у него мало матчей, что не так?
    Данные о покупках берутся от Stratz и в некоторых случаях сборные предметы могут быть записаны некорректно (и отсутствовать в моих данных - например Boots of Travel или Orb of Corrosion в начале патча 7.28). В случае с нейтральными предметами для сбора данных используются данные о состоянии инвентаря на каждой минуте игры (нейтральные предметы нельзя купить, так что нет и событий покупки), но из-за этого расходуемые нейтральные предметы (вроде Royal Jelly или Mango Tree) появляются значительно реже в данных.
  • Что значат изменения винрейтов?
    “Когда приобретён” — насколько процент побед выше при покупке данного предмета, чем без его покупки. Ранний и поздний показатели означают изменение процента побед при раннем (Q1 и раньше) и позднем (Q3 и позже) таймингах. Градиент отражает насколько сильно меняется процент побед предмета с каждой минутой игры, начиная с раннего тайминга/винрейта.
  • Что такое дерево прогрессии?
    Это дерево (граф), отражающее порядок покупки предметов (стрелками) во времени (вертикально, каждый уровень по вертикали равняется 6 минутам игры) и успешность данной пары (цветом). Также есть представление этих данных в виде таблицы.

Статистика лайнов

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

  • Частота побед на линии определяется на основе общей ценности по итогу стадии лайнинга в данной паре героев-оппонентов. Большая разница подразумевает выигранную/проигранную линию, маленькая разница расценивается как ничья. Выигранная линия считается за 1 очко, ничья считается за половину.
  • Статус линии для героев поддержки основан на общей ценности ближайшего героя основы (так что если герой основы, с которым данный герой поддержки провёл больше времени, выиграл линию, то и сам герой поддержки считается выигравшим линию).
  • Ранг для статистики лайнов рассчитывается исходя из частоты побед на линии, количества матчей героя, средней разницы в преимуществе и частоты побед. В случае с статистикой лайнов для конкретного героя высочайший ранг указывает на самого выгодного для выбранного героя оппонента на линии (самого лёгкого).
  • В количестве матчей могут быть небольшие различия, связанные с отсутствем детального анализа матчей или отсутствия оппонента на линии.
  • Из-за ограничений в текущей реализации, обнаружение исхода лайнинга использует лишь один параметр, а также ряд предположений. ВПРОЧЕМ, исходя из практики, рассчёт всё ещё оказывается достаточно точным и хорошо соотносится с реальной картиной.
  • Так как обнаружение основано на ОБЩЕЙ ЦЕННОСТИ, естественным образом на исход линии влияют разрушения башен и смерти. Также это значит, что если герой ушёл в лес и получил из леса больше, то фактически он выиграл линию (если он не покинул линию совсем с концами).
  • Матчапы не ограничены линиями 1 на 1. Герои поддержки, даже несколько героев основы на одной линии влияют на общую картину.
  • Нет такой вещи, как "проиграл линию 1 в 3, но на самом деле это победа на линии". Это не победа. Если герой проиграл линию, то линия проиграна, не важно, как это называть. Впрочем, есть показатели побед при проигранной/равной/выигранной линиях, и они могут показать, насколько эффективным может быть герой при проигранной линии, дополняя общую картину. Верно и обратное.