<b>Почему Isolation Forest ловит фрод лучше ручных правил на шумном трафике</b>
Давайте поднимем логи и посмотрим правде в глаза. Ручные фильтры видят только явные сигнатуры: одинаковый UA, пустой Referer, слишком ровный CTR. Фрод же давно живёт в зоне «почти нормально»: меняет окна, рандомизирует задержки, подмешивает живые IP. Здесь и нужен Isolation Forest — он не ищет класс, он ищет точки, которые изолируются в деревьях слишком быстро.
Рабочие признаки для модели: • частота кликов с одного /24 и /48; • time-to-click и time-on-page; • глубина сессии; • entropy по user-agent, языку, экрану; • несостыковки между geo, ASN и timezone. Если у потока 10 000 сессий, а 200 из них имеют одинаковый маршрут событий и одинаковую длину цепочки редиректов, это уже не «случайность», а кластер фабрики.
Не кормите модель сырыми полями без нормализации. Логи надо приводить к единому окну агрегации, логарифмировать тяжёлые хвосты, отдельно считать брутальные всплески и долгие хвосты. Иначе Isolation Forest начнёт штрафовать не ботов, а нормальные пики после удачного креатива. Хорошая практика — держать порог не один, а два: мягкий для карантина и жёсткий для полной отсечки.
Ботнеты эволюционируют, но паттерны их поведения остаются прежними: скорость, синхронность, повторяемость, экономия энтропии. Когда модель начинает стабильно выделять аномалии, не спорьте с деревьями — откройте сырые события, сверьте цепочки и добавьте ответный rule-based слой. Machine learning не заменяет антифрод; он показывает, куда именно копать.
Защита от фрода в рекламе
@ad_fraud_shield_arb
<b>Почему Isolation Forest ловит фрод лучше ручных правил на шумном трафике</b>
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.