bruncavalcante/fraudwatch-pipeline

GitHub: bruncavalcante/fraudwatch-pipeline

一个基于真实信用卡欺诈数据的端到端分析工程管道,模拟金融科技公司数据平台工作流程,实现从原始数据到业务 KPI 的完整数据加工链路。

Stars: 0 | Forks: 0

# FraudWatch 数据管道 一个基于真实信用卡欺诈数据的端到端分析工程管道。旨在模拟 Nubank 等金融科技公司的数据平台工作。 ## 仪表盘预览 ![FraudWatch KPI 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/be784e214f191056.png) ## 架构 原始 CSV 到 Bronze 再到 Silver 最后到 Gold KPI 表。 由 Airflow 编排。Gold 层使用 dbt 建模。 管道使用 Docker 容器化。KPI 通过 Metabase 提供。 ## Medallion 数据层 - Bronze: 原始数据摄入 — 加载 284,807 条交易记录 - Silver: 清洗和丰富 — 类型化列、对数转换金额、血缘时间戳、主键 - Gold: 业务 KPI — 欺诈汇总、金额分桶、每小时欺诈趋势 ## 关键发现 - 整体欺诈率:0.17%(578:1 的类别不平衡) - 总欺诈损失:60,127.97 欧元 - 平均欺诈交易:122.21 欧元(是正常交易中位数的 5 倍) - 欺诈热点:凌晨 2-4 点时段(欺诈率 1.7%,相比平均 0.17%) - 零交易金额:1.48% 欺诈率——可能是卡片探测 ## 技术栈 - Python 3.12 — 管道逻辑和数据转换 - Pandas / NumPy — 数据处理和特征工程 - SQLite — 本地三层数据仓库 - Apache Airflow 2.9.1 — 管道编排、每日调度 - dbt — Gold 层建模、数据测试、血缘文档 - Metabase — KPI 仪表盘 - Docker — 容器化管道,一条命令运行 - Kaggle API — 程序化数据摄入 - Git — 版本控制,15 次提交 ## dbt 覆盖范围 - 4 个模型:stg_silver_transactions, gold_fraud_summary, gold_fraud_by_amount_bucket, gold_hourly_fraud_trend - 8 个数据质量测试:unique, not_null, accepted_values - 自动生成的文档和血缘图 ## 项目结构 ``` fraudwatch-pipeline/ ├── data/ │ ├── bronze/ # raw CSV landing zone │ ├── silver/ # cleaned data │ └── gold/ # KPI-ready aggregations ├── ingestion/ │ ├── ingest_bronze.py │ ├── transform_silver.py │ └── transform_gold.py ├── dbt_project/ │ └── fraudwatch/ │ ├── models/ │ │ ├── staging/ # stg_silver_transactions │ │ └── gold/ # 3 KPI models │ └── tests/ ├── orchestration/ │ └── dags/ │ └── fraudwatch_dag.py ├── notebooks/ ├── docs/ │ └── data_dictionary.md ├── images/ │ └── dashboard.png ├── Dockerfile ├── docker-compose.yml ├── requirements.txt ├── requirements-docker.txt └── README.md ``` ## 如何运行 ### 方案 1 — Docker(推荐) ``` git clone https://github.com/YOUR_USERNAME/fraudwatch-pipeline.git cd fraudwatch-pipeline # 将您的 Kaggle 凭据添加到 .env echo "KAGGLE_USERNAME=your_username" >> .env echo "KAGGLE_KEY=your_key" >> .env # 下载 dataset kaggle datasets download -d mlg-ulb/creditcardfraud -p data/bronze/ --unzip # 运行完整 pipeline docker compose run pipeline ``` ### 方案 2 — 本地运行 ``` python -m venv venv source venv/bin/activate pip install -r requirements.txt python ingestion/ingest_bronze.py python ingestion/transform_silver.py python ingestion/transform_gold.py ``` ### 运行 dbt 模型和测试 ``` cd dbt_project/fraudwatch dbt run dbt test dbt docs serve --port 8090 ``` ### 启动 Airflow ``` export AIRFLOW_HOME=$(pwd)/orchestration airflow dags trigger fraudwatch_pipeline ``` ## 数据集 信用卡欺诈检测 — Kaggle(mlg-ulb/creditcardfraud) 284,807 条交易记录 — 欧洲持卡人,2013 年 9 月 特征 V1-V28 已进行 PCA 转换以符合隐私要求。
标签:Apache Airflow, BI仪表板, Bronze层, dbt, Docker, ELT, ETL, Fintech, Gold层, JavaCC, KPI, Medallion架构, Metabase, NIDS, NumPy, Python, Silver层, SQLite, 代码示例, 信用卡交易分析, 信用卡欺诈, 分析工程, 安全防御评估, 容器化, 工作流编排, 异常检测, 数据 enrichment, 数据 lineage, 数据仓库, 数据分析, 数据工程, 数据测试, 数据清洗, 数据管道, 数据质量, 数据转换, 无后门, 日志转换, 欺诈检测, 每日调度, 特征工程, 端到端管道, 类别不平衡, 网络安全研究, 请求拦截, 软件工程, 金融数据分析