Как собрать свою антифрод-фильтрацию на ClickHouse и Python без лишней магии
Давайте поднимем логи и посмотрим правде в глаза. Собственная система фильтрации трафика — это не «умный скоринг», а дисциплина на уровне сырых событий. В ClickHouse складывайте click_id, ip, ua, ref, ts, geo, device_hash и outcome по каждому касанию; в Python держите слой правил и агрегаций, который не спорит с данными, а режет аномалии по факту.
Базовый каркас выглядит так:
— дедупликация: одинаковый click_id, ip+ua, короткие интервалы между событиями;
— поведенческие провалы: 0–1 секунды до конверсии, одинаковая глубина сессии, пустой scroll;
— сетевые аномалии: датацентровые подсети, резкие смены ASN, несостыковки geo и timezone;
— граф связей: один fingerprint на десятки кликов, один referrer на пачку «уникальных» пользователей.
В ClickHouse полезно держать материализованные представления по окнам 1m/5m/1h и считать частоты, медианы, p95 по времени до события. Python здесь нужен не для тяжелой аналитики, а для оркестрации: вытянуть агрегаты, применить пороги, собрать blacklist и отправить его обратно в трекер или прокси-слой. Ботнеты эволюционируют, но паттерны их поведения остаются прежними.
Финал простой: фильтрация работает только тогда, когда у вас есть сырые логи, единый идентификатор цепочки и правило «сначала факт, потом вывод». Всё остальное — декоративная аналитика, которая сливает бюджет быстрее, чем вы успеваете открыть отчет.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как собрать свою антифрод-фильтрацию на ClickHouse и Python без лишней магии
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.