Victor-Kipruto-Rop/victor-kipruto-rop-portfolio
GitHub: Victor-Kipruto-Rop/victor-kipruto-rop-portfolio
面向肯尼亚金融领域的端到端数据工程作品集,整合 ETL、实时流处理、欺诈检测与财务分析并提供交互式仪表盘。
Stars: 26 | Forks: 1
# Victor Kipruto Rop — 数据工程作品集
**端到端数据工程作品集,涵盖 M-Pesa、KCB、Equity Group、Absa 和 KRA 的 ETL、实时流处理、欺诈检测和财务分析——配备实时 Streamlit 仪表盘和生产级基础设施。**
[](https://github.com/Victor-Kipruto-Rop/victor-kipruto-rop-portfolio/actions)
[](https://python.org)
[](https://getdbt.com)
[](./LICENSE)
[](https://github.com/Victor-Kipruto-Rop/victor-kipruto-rop-portfolio/commits/main)
[](https://github.com/Victor-Kipruto-Rop/victor-kipruto-rop-portfolio/stargazers)
## 目录
- [实时仪表盘](#-live-dashboards)
- [架构](#️-architecture)
- [项目](#-projects)
- [工程标准](#-engineering-standards)
- [基础设施与 IaC](#-infrastructure--iac)
- [数据源](#️-data-sources)
- [技术栈](#️-tech-stack)
- [路线图](#-roadmap)
- [联系方式](#-contact)
## 📊 实时仪表盘
| 仪表盘 | 链接 | 描述 |
|---|---|---|
| **高管财务摘要** | [🚀 查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 汇总 2025 年 KCB、Absa Kenya 和 Equity Group 的已审计 KPI |
| **Absa Bank Kenya** | [🔴 查看](https://kipruto45-victor-kipruto-rop-portfolio-cc6ye8wlqrt2vtpsdndigd.streamlit.app/) | 财务 KPI、风险/资本比率以及 Open Banking API 采用指标 |
| **Equity Group 泛非** | [🌍 查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 区域盈利能力、移动端普及率及肯尼亚交易矩阵 |
| **KCB Group 综合** | [🦁 查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 合并业绩跟踪与 M-Pesa 贷款账簿分析 |
| **KRA 收入与贸易** | [🇰🇪 查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 税务收入监控、海关贸易流向及经济指标 |
## 🏗️ 架构
```
graph LR
subgraph Sources["Data Sources"]
A[CBK / NSE / KNBS Reports]
B[M-Pesa / Safaricom APIs]
C[KRA Revenue Data]
D[Real-Time Kafka Streams]
end
subgraph Ingestion["Ingestion Layer"]
E[Python ETL Scripts]
F[Kafka Consumers]
G[PDF / API Parsers]
end
subgraph Orchestration["Orchestration"]
H[Apache Airflow DAGs]
end
subgraph Storage["Bronze Layer — Raw"]
I[(PostgreSQL 15)]
end
subgraph Transform["Silver → Gold — dbt"]
J[Staging Models]
K[Intermediate Models]
L[Mart Models]
end
subgraph Output["Output Layer"]
M[Streamlit Dashboards]
N[Isolation Forest — Fraud ML]
O[Float Liquidity Forecasting]
end
subgraph Infra["Infrastructure"]
P[Terraform — IaC]
Q[Kubernetes — k8s/]
R[GitHub Actions — CI/CD]
end
Sources --> Ingestion
Ingestion --> H
H --> Storage
Storage --> J --> K --> L
L --> M
L --> N
L --> O
P --> Storage
P --> Q
R --> H
R --> J
```
详细架构信息请见 [ARCHITECTURE.md](./ARCHITECTURE.md)。
## 📂 项目
| 项目 | 领域 | 关键指标 | 技术栈 | 仪表盘 | 状态 |
|---|---|---|---|---|---|
| [mpesa_safaricom](./mpesa_safaricom) | 旗舰级流处理与分析 | 处理约 120 万笔交易 | Kafka, Spark, Airflow, dbt | [查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 🟢 运行中 |
| [absa_bank_kenya](./absa_bank_kenya) | 银行业 ETL 与 Open Banking | 5 年财务 KPI 历史 | Python, dbt, PostgreSQL | [查看](https://kipruto45-victor-kipruto-rop-portfolio-cc6ye8wlqrt2vtpsdndigd.streamlit.app/) | 🟢 运行中 |
| [equity_group_etl](./equity_group_etl) | 泛非业务合并 | 7 国子公司汇总 | Airflow, PostgreSQL, dbt | [查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 🟢 运行中 |
| [kcb_group_etl](./kcb_group_etl) | 财务与贷款分析 | KCB Group 及 6 家子公司 | Python, SQL, dbt | [查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 🔵 稳定 |
| [kra_data_engineering](./kra_data_engineering) | 财政与贸易情报 | 12 个月收入时间序列 | Python, SQL, dbt | [查看](https://kipruto45-victor-kipruto-rop-portfolio-g8pspygfpttsbfggjaadwy.streamlit.app/) | 🔵 稳定 |
| [safaricom_pipeline](./safaricom_pipeline) | 电信服务分析 | 订阅者与 ARPU 指标 | Python, Spark, SQL | — | 🔵 稳定 |
| [kenya_banking_sector](./kenya_banking_sector) | 宏观金融稳定性 | 全行业 CBK 汇总数据 | Python, BI, Analytics | — | 🔵 稳定 |
| [mpesa_loan_book_analytics](./mpesa_loan_book_analytics) | 信贷与 Vintage 分析 | 贷款集群 vintage 曲线 | Python, SQL, dbt | — | 🔵 稳定 |
| [fraud_anomaly_detection](./mpesa_safaricom/fraud_anomaly_detection) | ML 欺诈监控 | ~94% 欺诈召回率 (Isolation Forest) | Python, Scikit-learn, PostgreSQL | — | 🔵 稳定 |
| [float_liquidity_forecasting](./mpesa_safaricom/float_liquidity_forecasting) | 时间序列预测 | 7 天流动性需求预测 | Python, Prophet, dbt | — | 🔵 稳定 |
| [agent_network_analytics](./mpesa_safaricom/agent_network_analytics) | 代理人流动性与业绩 | 10.5 万+ 代理人网络覆盖 | Python, SQL, dbt | — | 🔵 稳定 |
| [remittance_analytics](./mpesa_safaricom/remittance_analytics) | 跨境汇款跟踪 | 东非侨民走廊 | Python, SQL, dbt | — | 🔵 稳定 |
| [merchant_intelligence_platform](./mpesa_safaricom/merchant_intelligence_platform) | 商户 RFM 细分 | 跨商户层级的 RFM 评分 | Python, SQL, dbt | — | 🔵 稳定 |
| [financial_performance_tracker](./financial_performance_tracker) | 多银行 KPI 跟踪 | 3 家银行合并视图 | Python, PostgreSQL, Streamlit | — | 🔵 稳定 |
| [mpesa_enterprise_projects](./mpesa_enterprise_projects) | 泛非 Lakehouse | Medallion 架构 (青铜→黄金) | dbt, PostgreSQL, Terraform | — | 🟡 进行中 |
## ⚙️ 工程标准
| 标准 | 实施方式 | 覆盖范围 |
|---|---|---|
| **CI/CD** | GitHub Actions — SQL lint (SQLFluff)、dbt 编译、K8s manifest lint | 所有推送到 `main` 的操作 |
| **数据质量** | dbt schema 测试 — 空值检查、唯一性、接受值、范围约束 | 所有 mart 模型 |
| **单元测试** | Pytest — 数据接入逻辑、转换函数、schema 验证 | ~80%(估计值) |
| **代码风格** | Black (Python)、isort、SQLFluff (SQL)、pre-commit hooks | 提交时强制执行 |
| **欺诈检测** | 对 M-Pesa 交易流进行 Isolation Forest 异常评分 | ~94% 召回率(估计值) |
| **密钥管理** | `.env` 文件通过 `.gitignore` 排除,代码库中无硬编码凭证 | 所有项目 |
| **容器化** | 每个项目使用 Docker Compose 实现与生产环境对等的本地环境 | 所有项目 |
| **编排** | Apache Airflow DAG,具备 SLA 监控、重试和补录支持 | 所有批处理 pipeline |
## 🏗️ 基础设施与 IaC
Terraform (HCL) 为所有项目配置核心基础设施:
- **PostgreSQL 15** — 用于原始数据接入和 dbt 转换输出的托管数据库
- **Streamlit 部署** — 带有环境变量注入的仪表盘托管
- **Kubernetes manifests** (`k8s/`) — PostgreSQL 和 Streamlit pod 的部署与扩缩容配置
- **GitHub Actions runners** — 用于 lint、测试和部署的 CI/CD pipeline 自动化
请查看每个项目目录中的 `k8s/` 以获取 Kubernetes manifests 和 Terraform 配置。
## 🛰️ 数据源
| 来源 | 数据类型 | 更新频率 |
|---|---|---|
| **Central Bank of Kenya (CBK)** | 银行监管报告、移动信贷统计、审慎监管指引 | 每年 / 每季度 |
| **Kenya Revenue Authority (KRA)** | 月度收入报告、海关原产地规则 | 每月 |
| **Kenya National Bureau of Statistics (KNBS)** | 主要经济指标 — 通货膨胀、贸易量、GDP | 每月 |
| **International Trade Centre (ITC)** | TradeMap 贸易基准和公司目录 | 每季度 |
| **Safaricom / M-Pesa** | Open API 规范、可持续发展报告、GSMA 移动货币数据集 | 每年 / 实时 |
| **Nairobi Securities Exchange (NSE)** | 已上市商业银行的审计财务报告 | 每年 |
## 🛠️ 技术栈
|
Ingestion & Processing |
Orchestration & Transformation |
|
Storage & Lakehouse |
Infrastructure & DevOps |
|
Analytics & Visualisation |
ML & Data Quality |
标签:ETL, JavaCC, Kubernetes, PMD, Streamlit, 子域名突变, 实时流处理, 搜索引擎查询, 数据工程, 测试用例, 访问控制, 请求拦截, 软件成分分析, 逆向工具, 金融数据分析