deep-risk/backend/app/services/risk_detection/README.md
2025-12-14 20:08:27 +08:00

6.5 KiB
Raw Permalink Blame History

税务风控风险检测引擎

概述

本风险检测引擎是一个基于规则引擎和算法驱动的税务风控系统,能够自动检测和分析各类税务风险,包括收入完整性、私户收款、发票虚开、成本费用异常等问题。

架构设计

核心组件

  1. 算法层Algorithms

    • 收入完整性检测算法
    • 私户收款检测算法
    • 发票虚开检测算法
    • 成本费用异常检测算法
    • 税务风险综合评估算法
  2. 规则引擎Rule Engine

    • 依赖解析器DependencyResolver
    • 执行计划ExecutionPlan
    • 规则引擎核心RuleEngine
  3. 任务管理层Task Manager

    • 任务管理器TaskManager
    • 任务调度器DetectionScheduler
  4. 数据模型层Models

    • 检测规则DetectionRule
    • 检测任务DetectionTask
    • 规则执行记录RuleExecution
    • 任务执行记录TaskExecution
    • 检测结果DetectionResult

核心算法

1. 收入完整性检测算法

文件: algorithms/revenue_integrity.py

功能: 检测平台充值金额与申报收入是否匹配,识别隐瞒收入风险

检测逻辑:

  • 获取指定期间内的平台充值总额
  • 获取同期税务申报收入
  • 计算差异和差异率
  • 根据差异率判断风险等级

风险等级判断:

  • 差额率 > 50% 或 差额 > 10万元CRITICAL极高
  • 差额率 > 30% 或 差额 > 5万元HIGH
  • 差额率 > 15% 或 差额 > 2万元MEDIUM
  • 差额率 > 5% 或 差额 > 5千元LOW

2. 私户收款检测算法

文件: algorithms/private_account.py

功能: 检测银行流水是否存在向个人账户转账的风险

检测逻辑:

  • 分析银行流水记录
  • 识别私人账户转账
  • 计算私户转账占比
  • 统计大额私人转账笔数

风险判断:

  • 私户比例 > 80% 或(>10笔 且 >50万元CRITICAL
  • 私户比例 > 60% 或(>5笔 且 >20万元HIGH
  • 私户比例 > 40% 或(>3笔 且 >10万元MEDIUM
  • 私户比例 > 20% 或 >1笔LOW

3. 发票虚开检测算法

文件: algorithms/invoice_fraud.py

功能: 检测发票金额与实际业务是否匹配,识别虚开发票风险

检测逻辑:

  • 对比发票总额与订单总额
  • 对比发票总额与结算总额
  • 检查红字发票比例
  • 识别大额发票和未验证发票

异常检测:

  • 发票与订单/结算金额差异率超阈值
  • 红字发票比例 > 30%
  • 存在大额发票(>10万元
  • 未验证发票比例 > 20%

4. 成本费用异常检测算法

文件: algorithms/expense_anomaly.py

功能: 检测成本费用是否合理,识别虚增成本、费用异常等风险

检测逻辑:

  • 分析费用总额同比增长
  • 检查大额费用集中度
  • 统计跨境支付比例
  • 分析费用类别结构
  • 检查税负异常
  • 识别同日多笔大额费用

异常判断:

  • 费用同比增长超过阈值倍数
  • 大额费用占比 > 30%
  • 跨境支付占比 > 50%
  • 其他类费用占比 > 50%
  • 平均税率 > 13%

5. 税务风险综合评估算法

文件: algorithms/tax_risk_assessment.py

功能: 综合分析各项风险检测结果,生成整体税务风险评估

评估逻辑:

  • 收集所有单项检测结果
  • 计算加权综合评分
  • 识别高危风险点
  • 生成综合建议

评分算法:

  • CRITICAL: 权重 1.0
  • HIGH: 权重 0.7
  • MEDIUM: 权重 0.4
  • LOW: 权重 0.2

API 接口

规则管理

  • POST /risk-detection/rules - 创建检测规则
  • GET /risk-detection/rules - 查询检测规则列表
  • GET /risk-detection/rules/{rule_id} - 获取规则详情
  • PUT /risk-detection/rules/{rule_id} - 更新检测规则
  • DELETE /risk-detection/rules/{rule_id} - 删除检测规则

任务管理

  • POST /risk-detection/tasks - 创建检测任务
  • POST /risk-detection/tasks/{task_id}/execute - 执行检测任务
  • GET /risk-detection/tasks - 查询任务列表
  • GET /risk-detection/tasks/{task_id} - 获取任务详情

检测执行

  • POST /risk-detection/execute - 执行风险检测(即时检测)

结果查询

  • GET /risk-detection/results - 查询检测结果列表
  • GET /risk-detection/results/{result_id} - 获取检测结果详情
  • GET /risk-detection/summary - 获取检测结果汇总

使用示例

1. 创建检测任务

POST /risk-detection/tasks
{
    "task_name": "2024-01月主播税务检测",
    "task_type": "periodic",
    "entity_ids": ["ZB001", "ZB002"],
    "entity_type": "streamer",
    "period": "2024-01",
    "rule_ids": null,
    "parameters": {}
}

2. 执行即时检测

POST /risk-detection/execute
{
    "entity_id": "ZB001",
    "entity_type": "streamer",
    "period": "2024-01",
    "rule_ids": ["REVENUE_INTEGRITY_CHECK", "PRIVATE_ACCOUNT_DETECTION"],
    "parameters": {}
}

3. 查询任务状态

GET /risk-detection/tasks/task_abc123

依赖关系

算法之间的依赖关系:

收入完整性检测 (REVENUE_INTEGRITY_CHECK)
    ↓
私户收款检测 (PRIVATE_ACCOUNT_DETECTION)
    ↓
发票虚开检测 (INVOICE_FRAUD_DETECTION)
    ↓
成本费用异常检测 (EXPENSE_ANOMALY_DETECTION)
    ↓
税务风险综合评估 (TAX_RISK_ASSESSMENT)

执行计划

系统采用分层执行策略:

  1. 第1层: 基础检测算法(可并行执行)
  2. 第2层: 综合评估算法依赖第1层结果

扩展开发

添加新算法

  1. 继承 RiskDetectionAlgorithm 基类
  2. 实现抽象方法:
    • get_algorithm_code() - 返回算法编码
    • get_algorithm_name() - 返回算法名称
    • _do_detect(context) - 实现检测逻辑
  3. 注册算法:RuleEngine.register_algorithm()
  4. 更新依赖关系配置

自定义规则

  1. 创建 DetectionRule 记录
  2. 设置算法参数
  3. 启用规则
  4. 重新执行检测任务

最佳实践

  1. 参数调优: 根据实际业务调整各算法的阈值参数
  2. 定期评估: 定期回顾检测结果,优化规则配置
  3. 数据质量: 确保业务数据质量,避免误报
  4. 监控告警: 对高风险结果设置监控和告警
  5. 持续改进: 根据税务政策变化更新检测规则

性能优化

  • 支持并发执行多个检测任务
  • 缓存常用数据减少数据库查询
  • 分批处理大量数据
  • 异步执行提高响应速度

未来规划

  • 机器学习算法集成
  • 实时流式检测
  • 可视化风险分析报告
  • 多维度风险对比
  • 自动化风险处置建议