Как собрать свою фильтрацию трафика на ClickHouse и Python без дыр в бюджете
Давайте поднимем логи и посмотрим правде в глаза: если фильтр живёт только в постбэках, он уже опоздал. Нормальная схема строится на сырых событиях: click_id, ip, ua, referrer, timestamp, geo, ASN, session depth. ClickHouse здесь нужен не как «аналитика», а как быстрый детектор аномалий по миллионам строк. Python — как слой правил, который не мешает потоку и умеет принимать решение за миллисекунды.
Базовый контур такой: ingest → нормализация → скоринг → блок/allow.
— В ClickHouse храните raw-логи без агрегации, иначе вы сами стираете следы бота.
— Считайте частоту кликов по ip/24, повторяемость ua, энтропию referrer, длину сессии и разброс гео.
— В Python держите правило: если 3+ сигнала совпали, помечайте лид как suspect и не пускайте его дальше по воронке.
Самые полезные признаки обычно не в «CTR», а в механике движения. Ботнеты эволюционируют, но паттерны их поведения остаются прежними: одинаковые тайминги, пустые рефереры, однотипные заголовки, редкие cookie и слишком ровные интервалы между событиями. Это отлично ловится SQL-окнами и простым z-score по времени между кликами.
Финальный совет: не стройте монолитный «антифрод-оракул». Делайте две таблицы — observed и blocked — и храните причину решения в явном виде. Когда через неделю придёт спорный трафик, вы не будете гадать; вы откроете лог и увидите, почему именно сработал фильтр.
Защита от фрода в рекламе
@ad_fraud_shield_arb
Как собрать свою фильтрацию трафика на ClickHouse и Python без дыр в бюджете
Этот пост опубликован в Telegram-канале Защита от фрода в рекламе. Подписаться можно по ссылке: @ad_fraud_shield_arb.