ShovalBenjer/admaven-python-data-engineering

GitHub: ShovalBenjer/admaven-python-data-engineering

结合 Snowflake Z-score 异常检测与高性能 Python Map-Reduce 爬虫的广告反欺诈与竞品情报分析套件。

Stars: 1 | Forks: 0

# AdMaven Analytics:检测与情报套件

image

两款广告技术工具:一款使用 Z-score 异常检测对网络欺诈进行 SQL 取证调查,另一款用于竞争对手域名情报的 Python 并发爬虫。前者用于捕获僵尸网络,后者用于大规模映射竞争对手的发布商网络。 ## 发现的结果 - 广告主 `601040`:流量激增 400%,转化率接近零 —— 典型的点击欺诈 - 营销活动 `653344`:在 10k+ 曝光量下转化率高达 75% —— 数学上的不可能,可能是像素填充 - 菲律宾流量激增 + 转化率下降 60%:针对廉价广告资源的地理位置套利 - Z-score 阈值:标记任何转化率偏离广告主基线 >1.96 个标准差的标签 ## 工作原理 **SQL (Snowflake):** 动态 Z-score 分析替代了静态阈值。它能适应每个广告主的基线,因此自然转化率较低的垂直行业不会产生误报。 ``` CASE WHEN (tag_cr - avg_cr) / NULLIF(std_cr, 0) < -1.96 THEN 'FRAUD_CONFIRMED' ELSE 'REVIEW_REQUIRED' END ``` **Python pipeline:** Map-Reduce 架构。使用 `ProcessPoolExecutor` 处理受限于 CPU 的 HTML 解析,使用 `asyncio` 处理受限于 I/O 的请求。CPU 核心与网络带宽均得到充分利用。使用 Polars 对现有客户列表进行亚毫秒级的集合操作,使用 DuckDB 进行导出前的质量保证。 **广告检测:** 轻量级启发式引擎 —— 无需 ML 模型。扫描 HTML 中的加权令牌(`googlesyndication: 1.5`,`prebid: 1.2`,`iframe: 0.2`)。得分 > 2.0 = 运行中广告。 ## 架构

image

流水线处理流程:通过 Polars 加载竞争对手域名 -> 为每个竞争对手生成进程 -> 每个进程获取 API 数据,根据客户列表进行去重,异步抓取 HTML -> 归约为单个 Polars DataFrame -> DuckDB QA -> CSV 导出。 ## 仓库结构 ``` . ├── queries_shoval_benjer.sql # Snowflake SQL fraud logic ├── python_Shoval_Benjer.py # Competitive intelligence pipeline ├── final_output.csv # Generated dataset ├── AdMaven_SQL_Investigation_Report.pdf ├── requirements.txt # Polars, DuckDB, Loguru └── README.md ``` ## 设置 ``` pip install -r requirements.txt ``` 用于 GenAI 功能的可选 `.env` 文件: ``` API_KEY=your_email@example.com HF_TOKEN=your_huggingface_token ``` ``` python python_Shoval_Benjer.py # 输入: comp_run_time_domains.csv, our_clients.csv # 输出: final_output.csv ```
标签:Ad-Tech, Asyncio, Bot检测, DuckDB, Looker Studio, Map-Reduce, Polars, ProcessPoolExecutor, Python, Snowflake, SQL, Z-score, 代码示例, 像素填充, 反欺诈, 商业情报, 多线程, 多进程, 密码管理, 并发编程, 广告技术, 异常检测, 数据分析, 数据工程, 无后门, 欺诈检测, 流量作弊, 点击欺诈, 竞争分析, 系统审计, 计算机取证, 转化率异常, 逆向工具, 配置审计