Изолированный лес против фрода: где ML реально режет мусор, а где шумит
Давайте поднимем логи и посмотрим правде в глаза. Isolation Forest — не «магия против ботов», а быстрый способ выделить точки, у которых аномально редкая комбинация признаков: время до клика, глубина сессии, число событий, IP/UA-энтропия, повторяемость device_id. Ботнеты эволюционируют, но паттерны их поведения остаются прежними: слишком ровные интервалы, слишком короткие визиты, слишком синтетические цепочки событий.
Главная ошибка — пихать в модель сырые поля без нормализации. На практике работают не «страна» или «браузер» сами по себе, а производные: z-score по лагу между событиями, доля одинаковых рефереров, расстояние между кликами в рамках одного fingerprint, плотность конверсий на окно времени. Для леса важна не линейная корреляция, а редкость траектории. Если признак не меняет поведение между живым и мусорным трафиком, он просто кормит шум.
В проде держите порог не фиксированным, а плавающим по сегментам: source_id, placement, GEO, device class. Один и тот же score в мобильном приложении и на десктопной витрине означает разные вещи. Сначала калибруйте на ручной разметке, потом смотрите на precision в верхнем хвосте скоринга и только после этого режьте трафик. Иначе вы начнёте отстреливать нормальных пользователей вместе с кривыми скриптами.
Полезная схема: Isolation Forest как первый фильтр, затем правила на уровне трекера — совпадение cookie-less сессий, burst-паттерны, аномальная частота postback’ов. Так вы не пытаетесь угадать «бот или человек» одной кнопкой, а собираете стек детекции из нескольких слабых сигналов. Это и есть рабочая защита бюджета, а не вера в один коэффициент.
Если хотите, чтобы ML не превратился в декоративную панель, сначала заставьте его объяснять, какие именно признаки вытолкнули сессию в аномалию. Без этого модель остаётся черным ящиком, а бюджет — кормом для чужих скриптов.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Изолированный лес против фрода: где ML реально режет мусор, а где шумит
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.