- Введение
- Почему важно анализировать bid requests
- Типы мошенничества, выявляемые через bid requests
- 1. Domain spoofing и inventory misrepresentation
- 2. Bot traffic и scripted traffic
- 3. Ad stacking и hidden ads
- 4. Click injection и click flooding
- Какие поля bid request анализировать
- Методология детекции: этапы
- Фичи, которые дают хорошую сигнализацию
- ML-подходы и архитектуры
- 1. Supervised learning
- 2. Semi-supervised и unsupervised
- 3. Online learning и streaming
- Примеры правил и моделей
- Эвристическое правило: «Слишком быстрые запросы»
- Модель: бустинг для скоринга
- Метрики эффективности и контроль качества
- Практические кейсы и статистика
- Организационные и технические вызовы
- Рекомендации по внедрению
- Системная архитектура: примерный стек
- Пример правила и его реализация (псевдокод)
- Этические аспекты и прозрачность
- Тренды и будущее детекции
- Заключение
Введение
Programmatic-реклама подразумевает автоматизированную торговлю рекламными инвентарями через RTB/RTD-платформы. При этом bid request (запрос на ставку) — ключевой элемент аукциона: он содержит данные о пользователе, устройстве, странице и контексте показа. Мошенники подделывают или фальсифицируют эти запросы, чтобы извлечь прибыль — это называется programmatic fraud. Анализ bid requests позволяет выявлять аномалии и фильтровать поддельный трафик в реальном времени.

Почему важно анализировать bid requests
- Ранняя детекция: детекция на уровне bid request позволяет блокировать вредоносную или бесполезную инвентаризацию до того, как будет отдан бюджет.
- Снижение фрода и улучшение ROI: удаление фрода увеличивает эффективность кампаний и доверие рекламодателей.
- Контекстные сигналы: bid request содержит богатство метаданных, которые трудно подделать массово и которые помогают отличать честный трафик от мошеннического.
Типы мошенничества, выявляемые через bid requests
Ниже перечислены распространённые схемы, которые можно детектировать на уровне запросов на ставку.
1. Domain spoofing и inventory misrepresentation
Мошенник указывает легитимный домен, заменяя реальный источник трафика. В bid request это может проявляться через несоответствие IP, GEO и полей реферера.
2. Bot traffic и scripted traffic
Автоматизированные скрипты генерируют запросы, часто имеют одинаковые user-agent, короткие интервалы времени и подозрительную последовательность идентификаторов.
3. Ad stacking и hidden ads
Несколько объявлений накладываются друг на друга или скрываются; bid request может содержать странные значения viewport, creative_slot и ad_position.
4. Click injection и click flooding
Хотя это более кликовая проблема, признаки видны в bid request через необычные цепочки редиректов и параметры click-through.
Какие поля bid request анализировать
Для построения детектора полезны следующие поля (обобщённый список по спецификации OpenRTB и дополнительным атрибутам платформ):
| Поле | Зачем анализировать | Примеры аномалий |
|---|---|---|
| IP (ipv4/ipv6) | Геолокация, поведение сети | IP в одном регионе, а GEO-поля — в другом |
| Device (ua, make, model) | Определение ботов по ua и несовместимым параметрам | Несовместимость user-agent и разрешения окна |
| site/app и domain | Проверка реального места показа | domain указывает популярный сайт, но referer отсутствует |
| adslot / position | Проверка корректности места размещения | позиции вне логичных диапазонов |
| regs && user.ext | Проверка GDPR/CCPA, сигналов consent | несоответствие opt-out и tracker flags |
| impression id / bidid | Отслеживание сессий и дубликатов | повторяющиеся id в короткие интервалы |
Методология детекции: этапы
- Сбор и нормализация bid requests в реальном времени и для исторического анализа.
- Фичеринжиниринг: создание признаков (например, частота одинаковых user-agent на IP, соотношение user-agent к разрешению, распределение time-between-requests).
- Правила/эвристики: быстрые детекторы на основе набора правил (черные списки IP, аномальные user-agent, несоответствия geo).
- Машинное обучение: построение модельных классификаторов (логистическая регрессия, градиентный бустинг, нейросети) на метках чистого и мошеннического трафика.
- Агрегация сигналов и стохастическая оценка риска: комбинирование правил, ML-скоринга и доверительных оценок.
- Реакция в реальном времени: блокировка, rate-limit или пометка метаданных для DSP/SSP.
Фичи, которые дают хорошую сигнализацию
- Time delta между последовательными запросами с одного IP/пользователя.
- Коэффициент уникальных impression id к общему числу запросов.
- Совпадение user-agent и viewport/OS.
- Частота редиректов и странные referrer цепочки.
- Аномалии в consent/signals (например, отсутствие consent при очевидном регионе GDPR).
ML-подходы и архитектуры
Подход к использованию ML зависит от доступности меток и требований к задержкам.
1. Supervised learning
Требует метки (fraud/not-fraud). Эффективен при достаточном количестве исторических данных. Популярные модели: XGBoost, LightGBM, CatBoost, нейросети для доступа к сложным паттернам.
2. Semi-supervised и unsupervised
Когда мало меток, применяют кластеризацию, автоэнкодеры и методы обнаружения аномалий (Isolation Forest, One-Class SVM). Они помогают выявлять «новые» типы фрода.
3. Online learning и streaming
Реальный RTB требует низкой задержки. Для этого используют онлайн-версию моделей (например, Vowpal Wabbit или модели с инкрементным обучением) и feature stores с быстрым доступом.
Примеры правил и моделей
Приведём несколько практических примеров детекторов.
Эвристическое правило: «Слишком быстрые запросы»
Если с одного IP приходит более N запросов за T секунд, и более 90% запросов имеют идентичные ua — пометить как bot cluster.
Модель: бустинг для скоринга
Признаки: ip_reqs_last_minute, unique_uas_ratio, geo_consistency, avg_viewport, referer_presence, consent_flag. Модель выдаёт risk_score в диапазоне 0–1. Порог подобрать по валидации (например, >=0.7 — блокировать).
Метрики эффективности и контроль качества
Ключевые метрики при оценке детектора:
- Precision и Recall (важно балансировать: высокое recall без precision приведёт к потере инвентаря).
- False Positive Rate — экономические потери из-за блокировок честного трафика.
- Reduction in invalid traffic (RIV) — сколько фрода удалено в денежном выражении.
- Latency — время обработки bid request (нужно держать в пределах требуемой SLA, обычно < 100ms).
Практические кейсы и статистика
Ниже представлены обобщённые результаты, наблюдаемые на практике (внутренние показатели индустрии варьируются):
| Сценарий | До внедрения | После внедрения |
|---|---|---|
| Доля явного бот-трафика | ~18% | ~5–7% |
| CTR и Viewability | Низкие (подозрение на фрод) | Увеличились на 20–40% |
| Экономические потери от фрода | Высокие | Сокращение расходов на 15–35% |
Пример: медийная кампания с бюджетом $500k до детекции фиксировала 22% ненадёжного трафика. После внедрения правил и ML-скоринга доля фрода снизилась до 6%, что позволило перераспределить бюджет в пользу эффективных площадок.
Организационные и технические вызовы
- Сбор достоверных меток. Часто метки дорогие и требуют ручной экспертизы.
- Адаптация к эволюции фрода: мошенники меняют паттерны в ответ на фильтры.
- Баланс между скоростью и качеством детекции: сложные модели могут увеличить задержку.
- Приватность и регуляторика: использование персональных данных ограничено законами (GDPR/CCPA), поэтому нужно анонимизировать и минимизировать хранимые поля.
Рекомендации по внедрению
- Начать с базовых эвристик и черных списков — это быстро окупается.
- Параллельно собирать и аннотировать данные для обучения моделей.
- Внедрить метрики бизнеса (экономия бюджета, повышение viewability) для оценки влияния детектора.
- Построить систему A/B-тестирования: сравнивать кампании с и без детекции, чтобы измерять влияние на performance.
- Организовать цикл обратной связи: метки от DSP/партнёров должны попадать в систему и улучшать модели.
Системная архитектура: примерный стек
| Слой | Компоненты | Функция |
|---|---|---|
| Ingestion | Kafka / Pulsar | Приём bid requests и стримов |
| Real-time processing | Flink / Spark Streaming | Нормализация, feature extraction, скоринг |
| Models & Serving | Vowpal Wabbit / TensorFlow Serving / ONNX | Онлайн-скоринг |
| Storage | Clickhouse / Cassandra | Исторические данные, feature store |
| Analytics | Looker / Metabase / Jupyter | Мониторинг и A/B |
Пример правила и его реализация (псевдокод)
if ip_request_count_last_minute > 200 and unique_user_agents_ratio < 0.2:
mark_as_bot_cluster()
elif geo_mismatch(ip_geo, request_geo) and referer_missing:
increase_risk_score(0.3)
Этические аспекты и прозрачность
При блокировке запросов важно поддерживать прозрачность: рекламодатели и паблишеры должны понимать причину блокировки. Избыточные false positives наносят вред экосистеме. Поэтому рекомендуют внедрять режим «soft-block» — пометка и логирование, а затем «hard-block» после подтверждения.
Тренды и будущее детекции
- Рост использования графовых методов для выявления сетей мошенников (graph-based fraud detection).
- Интеграция сигналов из других слоёв (SDK-данные, пост-клики, инвентарь) для более полной картины.
- Широкое применение self-supervised learning для извлечения скрытых паттернов без больших меток.
Заключение
Анализ bid requests — мощный инструмент в борьбе с programmatic fraud. Комбинация эвристик, правил и машинного обучения позволяет обнаруживать большинство известных схем и адаптироваться к новым. Важно выстроить процесс: сбор качественных данных, быстрый скоринг в реальном времени, прозрачность и непрерывное улучшение моделей.
Автор: «Лучший подход к борьбе с programmatic fraud — постоянное сочетание простых правил и адаптивных моделей: первые быстро защищают бюджет, вторые — обучаются у реального трафика и уменьшают ложные срабатывания.»
Реализация эффективной детекции требует инвестиций в сбор данных, экспертизу и инфраструктуру, но экономический эффект обычно превышает затраты: сокращение мошенничества повышает эффективность кампаний и доверие клиентов.