‹ К списку

Спросим наоборот: сначала найдём забаненные аккаунты, потом посмотрим на их данные

2026-08-04· 8 мин чтения#статистика#античит#телеметрия#размер-эффекта
автор: L!NCHPIN

Как это сделано (метод и выборка) Источник: собственная накопленная база телеметрических снимков этого сайта — 2 379 аккаунтов и поматчевый разбор 70 578 матчей, из которых у 796 аккаунтов есть официальный статус бана (Innocent / TemporaryBan / PermanentBan). Все метрики используют уже существующие определения сайта (те же, что вы видите на своей странице); ничего не придумывалось специально для этой статьи. Вся статистика непараметрическая (Cliff's delta, Манна–Уитни, leave-one-out), потому что положительная выборка мала — слишком мала, чтобы заявлять точность, и достаточна лишь для разговора о величине разрывов. Собрано 2026-08-04. Мы никого не называем, не перечисляем аккаунты и не публикуем индивидуальные баллы подозрительности — причины в последних разделах.

В прошлый раз мы чистыми числами пометили 13 аккаунтов, выглядевших слишком хорошо для людей, и проверили официальные записи о банах: 0 забаненных. Вывод был в том, что чистый banType — не невиновность, а у ловли читеров данными есть жёсткий предел.

Та статья спрашивала: сначала выбрать подозрительных, потом посмотреть, забанили ли их. Теперь мы перевернули всё целиком:

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

Те же инструменты, та же база, изменено лишь направление причинности. Результат сильно другой.

Почему обратный вопрос — это совсем другая задача

Отправная точка «список подозрительных» упирается в два тупика: читер мог быть просто ещё не пойман (записи о бане нет), и вы никогда не узнаете, сколько настоящих читеров отбросил ваш фильтр. Отправная точка известные забаненные аккаунты этих проблем не имеет — официальная запись о бане и есть ответ, а нам остаётся лишь посмотреть на их поведение задним числом.

Ещё важнее контрольная группа. Статусы банов мы запрашиваем только для аккаунтов, попадавших в лидерборд, поэтому 778 «не забаненных» аккаунтов для сравнения — все уровня лидерборда. Это не лёгкое сравнение «читеры против обычных игроков», где разделит любой порог и ничего не узнаёшь. Это самый трудный вопрос:

Можно ли по данным отличить читера от того, кто действительно очень хорош?

Мы едва не попались в ловушку

Первый прогон выглядел отлично: у забаненных больше убийств за матч и выше урон. Но кое-что не сходилось — медиана «доли убийств живых игроков» у забаненной группы составляла 100%, а у чистой — 93,3%.

Что это значит? В рейтинге нет ботов. Забаненная группа заметно чаще играет рейтинг, а там соперники сильнее и действие плотнее, что само по себе поднимает урон и число убийств. Если это не учесть, мы измеряем «эта группа чаще играет рейтинг».

Очевидное решение — разделить по режимам, но данные не позволили: поле с режимом матча добавили позже и историю не заполняли — 311 из 415 снимков забаненной группы пусты, и после разделения остаётся 3 сопоставимых аккаунта, что статистически бессмысленно.

Поэтому мы взяли прокси: «почти нет убийств ботов» ≈ «этот аккаунт в основном играет рейтинг», применили его одинаково к обеим группам и пересчитали.

Результат — самое ценное в этой статье: после контроля разрывы стали больше, а не меньше. Смесь режимов размывала сигнал, а не создавала его.

Результат: 11 забаненных аккаунтов против 310 чистых сильных игроков

Все цифры ниже — после контроля режима. Каждый аккаунт даёт свои последние 14 матчей по тем же порогам, что стоят за панелью процентилей этого сайта.

МетрикаЗабаненныеЧистые сильныеРазделимость
Доля хедшотов19,5%12,9%0,790
Доля дальних убийств30,9%12,9%0,717
Убийств живых игроков за матч2,291,570,715
Урон по живым за матч4142300,696
Доля дальнего урона37,7%26,1%0,694
Доля смертей от третьей стороны5,0%14,3%0,340 (обратная)
Урона потрачено на убийство1221410,398 (обратная)
Конверсия нокдаунов76,9%73,1%0,565 (почти не разделяет)

«Разделимость» читается просто: возьмите наугад один забаненный и один чистый аккаунт — какова вероятность, что у забаненного число выше. 0,5 — это подбрасывание монеты; чем ближе к 1 или 0, тем лучше метрика различает группы.

Мы также сделали leave-one-out: каждый раз убирали по одному забаненному аккаунту и пересчитывали. Разделимость по хедшотам колебалась между 0,770 и 0,846, остальные метрики держались так же устойчиво. Значит, разрыв — свойство всей группы, а не результат одного-двух экстремальных аккаунтов, и это первое, о чём надо спрашивать при выборке из 11.

Самая интересная находка направлена в другую сторону

В таблице взгляд первым делом цепляется за хедшоты и долю дальних убийств, но останавливает доля смертей от третьей стороны:

  • Чистые сильные игроки: 14,3% смертей от третьей стороны (вы закончили бой на половине здоровья, и подходит третий отряд)
  • Забаненные аккаунты: 5,0% — меньше трети от этого

Третья сторона — самый классический способ умереть в PUBG, и в значительной мере это не проблема механики, а проблема информации. Победите ли вы отряд перед собой — вопрос навыка. Знаете ли вы, что рядом на склоне сидит ещё один, — вопрос информации.

Значит, разрыв говорит: эти аккаунты почти не «снимают» со стороны. А самое прямое объяснение «редко снимают» — не более твёрдая рука, а они видят то, чего не видят другие.

Иначе говоря, самый показательный сигнал, возможно, не «он слишком точно стреляет», а «он слишком много знает». Именно в эту сторону мы и намерены копать дальше.

Метрика без разницы — причина доверять остальным

Конверсия нокдаунов (как часто нокдаун превращается в убийство) у групп практически одинакова: 76,9% против 73,1%, разделимость 0,565 — по сути шум.

Это важно, потому что показывает: мы не набрали кучу метрик и не объявили их все значимыми. Конвертируется ли нокдаун — функция команды и ситуации: рядом ли тиммейт, давит ли третий отряд, придёт ли поднимать напарник жертвы. Это не вопрос «правдоподобна ли игра одного человека», поэтому отсутствие разделения здесь совершенно закономерно.

И наоборот: если бы «значимой» оказалась даже такая метрика, стоило бы подозревать сам анализ.

Сложим сигналы: годится как фильтр, но не как приговор

Мы объединили четыре сигнала в один балл (доля хедшотов, доля дальних убийств, урон за матч плюс обратная доля смертей от третьей стороны) и посмотрели, скольких забаненных удастся охватить, проверив только верхушку по баллу:

Проверяем только топАккаунтовОхвачено забаненных
5%165 / 11 (45,5%)
10%326 / 11 (54,5%)
20%647 / 11 (63,6%)

Проверив всего 10% аккаунтов, вы охватываете больше половины забаненных. Данные работают как дешёвый фильтр, сокращая на порядок множество, которое стоит смотреть внимательно.

Но обратите внимание на вторую половину фразы: фильтр — не приговор. Подавляющее большинство в этих верхних 10% — аккаунты, которых никогда не банили; они просто хороши. Об этом следующий раздел.

Честно: что эти данные доказывают, а что нет

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

  • Положительная выборка — 11 аккаунтов. Это исследование величины разрывов, а не заявление о точности, и его совершенно недостаточно для обучения какой-либо модели. Любое утверждение «точность обнаружения XX%» на такой выборке заслуживает подозрения.
  • Разделимость сводного балла — оптимистичная верхняя граница. Он посчитан на тех же данных, из которых выведен; независимой валидационной выборки нет.
  • Контрольная группа — «пока не забанены», а не «проверенно чисты». Необнаруженные читеры наверняка в ней есть — это заставляет нас недооценивать разрывы, но и означает, что сами метки шумные.
  • Причина бана неизвестна. Официальный статус не говорит, за что бан: читы, тиминг или оскорбления, — поэтому в забаненной группе могут быть и нечитерские баны.
  • Самое главное: эти метрики не отличают «чит» от «просто сильнее». Мы показали, что группы действительно играют по-разному. Мы не показали, что причина различий — читы. Высокая доля хедшотов может быть читом, а может быть просто отличной стрельбой.

Последний пункт — ровно та причина, по которой мы не будем публиковать «балл подозрительности» против названного аккаунта и не планируем этого. Статистический выброс заслуживает подозрения, но подозрение — не доказательство. Позиция та же, что и в прошлый раз, только теперь данные сильнее, а значит, формулировать надо аккуратнее.

Мы попробовали следующий шаг и упёрлись в стену — информативную

«Он слишком много знает» — направление, которое можно продолжать измерять. Телеметрия PUBG записывает временные ряды позиций всех игроков матча (около 100 человек в обычном режиме, порядка 60 в рейтинге), поэтому мы поставили такой тест:

Каждый раз, когда кто-то попадает по противнику, смотрим назад на отрезок до контакта и ранжируем, насколько он двигался именно к этой жертве, относительно всех остальных живых врагов в тот же момент и на той же дистанции.

Использование в качестве контроля врагов из того же матча, момента и дистанции поглощает искажение «все бегут к безопасной зоне». Мы разобрали 373 матча. Результат: разницы между группами нет (разделимость 0,478 — подбрасывание монеты).

Но у этого «нет разницы» две ловушки, и мы попали в обе:

Первая — сломана сама метрика. Исходное окно наблюдения доходило до момента выстрела, и 44% боёв получали максимальный балл: «двигались ли вы к тому, в кого потом выстрелили» верно для всех, это почти тавтология. Сдвиг окна на 60 секунд до контакта превратил это в настоящий вопрос («ещё до встречи он уже шёл к этому человеку?»). После исправления ответ по-прежнему: разницы нет.

Вторая — неудобнее: мы совершили ту самую ошибку, о которой писали в первой половине статьи. Эти 373 матча не фильтровались по режиму — там смешались обычные, рейтинговые, командный бой и даже тренировочный полигон. В обычном режиме около 100 игроков, в рейтинге порядка 60, а численность напрямую определяет, сколько других игроков доступно как контроль в той же полосе дистанции. Хуже того, забаненная группа и так чаще играет рейтинг — то самое искажение, которое мы с трудом контролировали в первой половине, вернулось в этот тест целиком.

Перезапуск с фильтром по режиму:

ПрогонЗабаненных аккаунтовРезультат
Смешанные режимы140,478 (выборка есть, искажение есть)
Только рейтинг50,329
Только обычный30,451

Контролируешь искажение — рушится выборка. Ни в одном из трёх прогонов забаненная группа не оказалась выше, но после контроля режима остаётся 3–5 аккаунтов, а это не выдерживает никакого вывода. Честная формулировка укладывается в одну фразу: сейчас нет свидетельств, что забаненные аккаунты иначе движутся к целям — но это не то же самое, что доказать обратное.

И всё же рядом с предыдущей таблицей это любопытно:

АспектЧто мы измерялиРезультатСила доказательства
Атака (как я тебя нахожу)склонность двигаться к целиразницы нет в трёх прогонахслабая
Защита (как меня не снимают)доля смертей от третьей стороныразрыв в 3 разасредняя

Это указывает на недоказанное предположение: информационное преимущество может проявляться в защите, а не в атаке. Видеть то, чего не видят другие, не заставляет вас искать людей иначе — но означает, что вас редко застают врасплох.

Если это верно, измерять дальше надо не «как он к вам подходит», а «как он вас избегает». Тот же массив данных может ответить. Это была бы следующая статья — если удастся собрать достаточную выборку.

(Стоит записать ещё одно жёсткое ограничение: позиции пишутся только раз в 10 секунд. Такого разрешения достаточно, чтобы видеть тренды перемещения на масштабе десятков секунд, и совершенно недостаточно, чтобы анализировать развороты, предприцел и время реакции — то есть детали, которые действительно отличали бы чит. Они существуют только в видео, а не в чём-либо, что отдаёт официальный API, и поэтому мы считаем, что у чистых данных есть потолок.)


Хотите посмотреть на свои цифры? Найдите себя на L!NCHPIN — те же метрики, что использованы здесь (доля хедшотов, доля дальних убийств, доля смертей от третьей стороны), есть и на вашей панели процентилей.

Данные — единичный снимок от 2026-08-04 из собственной базы телеметрических снимков этого сайта. Статус бана меняется с каждой официальной волной, поэтому цифры не обновляются в реальном времени. Мы никого не называем и не раскрываем индивидуальные места, данные аккаунтов или баллы подозрительности.