Как работает детектор
Берём публичные данные матчей из OpenDota и Stratz и считаем несколько оценок. Это не приговор, а статистика — итог всегда вероятностный, поэтому смотри на него как на подсказку.
Шкала вердикта (0–100)
Источники данных
OpenDota — список матчей, винрейт, GPM/XPM, KDA. Stratz — детали всех 10 игроков матча, IMP, ранги, ML-флаг смурфа, behavior score. DotaBuff — резервный источник (best-effort). Источники образуют цепочку с фолбэком: если OpenDota пуст или недоступен, данные берутся из Stratz, затем DotaBuff.
Смурф-вердикт (0–100)
Взвешенная сумма применимых сигналов с ренормировкой весов:
Плюс «флор от сильнейшего сигнала», чтобы один убойный сигнал не растворялся нулевыми:
Ориентировочный вклад сигналов:
Веса ориентировочные: движок ренормирует только применимые к конкретному аккаунту сигналы.
Booster-скор (0–100)
Факторы: сурж винрейта (последние 30 vs общий), резкий рост KDA и GPM/XPM (свежие 15 vs предыдущие 20), малый пул героев, длинный винстрик, перформанс выше ранга. Порог пометки — 55.
Целостность аккаунта / купленный аккаунт
Сравнивает «старое» и «новое» окно матчей: сдвиг пула героев (расстояние Жаккара), изменение винрейта, длительности игр, игровых метрик.
Скрытые профили — наша киллер-фича
В Dota две разные настройки приватности. «Анонимный ник» скрывает только имя — история остаётся открытой, и мы анализируем её полностью. «Expose Public Match Data = OFF» скрывает саму историю: её не отдаёт ни OpenDota, ни Stratz, ни DotaBuff.
Ключевая идея: даже скрытый игрок виден в деталях матча, куда мы дошли через ОТКРЫТОГО со-игрока. Алгоритм идёт «лесенкой» по графу совместных игр и собирает матчи скрытого профиля:
- Сиды (точки входа): наша база отслеженных игр, друзья игрока в Steam, ссылка на любой его недавний матч.
- Для каждого матча Stratz отдаёт всех 10 игроков — скрытый виден по accountId и со статистикой.
- Берём его открытых со-игроков и находим их общие с ним матчи — так всплывают новые игры скрытого профиля. Повторяем.
- Каждый найденный матч сохраняется в базу — покрытие растёт со временем и работает уже для всех.
На скрытом профиле появляется кнопка «Глубокий поиск» — она и запускает эту лесенку. Восстанавливается подмножество матчей (те, куда удалось дойти через открытых игроков), которого обычно достаточно для вердикта.
Матчмейкинг-аналитика
- ◆Скрытопул — средний WR последних 15 у вашей команды заметно ниже, чем у врага (порог 12%).
- ◆Лузстрик/винстрик — игроки на серии ≥3 матчей.
- ◆Честность матча — категория: со смурфами / скрытопул / с бустерами / обычный.
- ◆Токсичность матчмейкинга — метрики на 100 игр + перцентиль среди пользователей.
Прогноз качества матча
Аналитико-развлекательная оценка сложности следующей игры по статистике последних матчей и текущему стрику. НЕ предсказывает реальный исход.
Все пороги — эвристики и подлежат калибровке. Не аффилировано с Valve, OpenDota и Stratz.