Files
tyapi-server/internal/domains/api/services/processors/dwbg/dwbg9fb3评分规则.md

375 lines
14 KiB
Markdown
Raw Normal View History

2026-06-10 17:47:36 +08:00
# DWBG9FB3 RA 安全评估 — 千分制计算说明(三维度动态权重版)
> **修订说明**
> 本版本采用 **「身份固定 10% + 司法 / 借贷动态 90%」** 的三维度加权模型,突出个人司法与信贷风险的主次关系;司法维度细分为 **涉诉统计、失信被执行人、限高被执行人** 三类独立计分。
---
## 一、核心原则
- 所有分值采用 **千分制01000**
- **分值越高表示越安全**
- 统一计算路径:
```text
安全分 = 1000 风险扣分(单维上限 1000
```
- **个人身份信息权重固定 10%,不参与动态调整**
- **个人司法信息与借贷信息合计 90%,根据风险场景动态分配**
2026-06-10 20:27:18 +08:00
- **司法 + 借贷同时高风险时,强制归入 F 档(仍参与加权,分数上限 500**
2026-06-10 17:47:36 +08:00
---
## 二、综合分三维度结构
| 业务维度 | 输出字段 | 计算方法 | 基准权重 | 是否动态 |
| :--- | :--- | :--- | :--- | :--- |
| 个人身份信息 | `ra_verify_score` | `calcRAVerifyScore` | **10%(固定)** | 否 |
| 个人司法信息 | `ra_judicial_score` | `calcRAJudicialScore` | **50%(基准)** | 是 |
| 借贷信息 | `ra_credit_score` | `calcRACreditScore` | **40%(基准)** | 是 |
> 基准权重合计:`10% + 50% + 40% = 100%`
### 辅助输出字段(不参与综合分加权)
| 输出字段 | 计算方法 | 说明 |
| :--- | :--- | :--- |
| `ra_fraud_score` | `calcRAFraudScore` | 欺诈 / 黑名单维度,单独输出供业务参考 |
| `ra_score` | `buildDWBG9FB3RA` | 三维度动态加权汇总 |
| `ra_level` | `raLevelFromScore` | 由 `ra_score` 映射 AF |
---
## 三、等级划分(含 F 级)
2026-06-10 20:27:18 +08:00
千分制下 **每档间隔 100 分**F 为 **500 分以下**
2026-06-10 17:47:36 +08:00
| 等级 | 分数区间 | 含义 |
| :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| A | 900 1000 | 最安全 |
| B | 800 899 | 较安全 |
| C | 700 799 | 一般 |
| D | 600 699 | 较不安全 |
| E | 500 599 | 不安全 |
| **F** | **0 499** | **最不安全** |
> 另:司法 + 借贷双重高风险时 **强制 F 档**(仍按三维度加权计算 `ra_score`,封顶 **500 分**,不置 0
2026-06-10 17:47:36 +08:00
---
## 四、动态权重机制
### 1⃣ 风险标志位
```text
HAS_JUDICIAL_RISK =
ra_judicial_score < 1000
HAS_CREDIT_RISK =
ra_credit_score < 1000
HAS_SEVERE_JUDICIAL =
ra_judicial_score ≤ 400
OR breachCaseList 非空
OR consumptionRestrictionList 非空
HAS_SEVERE_CREDIT =
ra_credit_score ≤ 400
```
---
### 2⃣ 权重分配表
**固定项:个人身份信息始终占 10%**
| 场景 | 个人身份 | 个人司法 | 借贷 | 说明 |
| :--- | :--- | :--- | :--- | :--- |
| **基准(无显著风险)** | **10%** | **50%** | **40%** | 默认比例 |
| **有司法风险** | **10%** | **65%** | **25%** | 司法权重上调,借贷权重下调 |
| **有借贷风险、无司法风险** | **10%** | **40%** | **50%** | 借贷权重上调,司法权重下调 |
| **司法 + 借贷均有风险** | **10%** | **70%** | **20%** | 司法优先于借贷 |
> 动态权重仅调整 **司法 / 借贷** 两个维度,三者之和恒为 100%。
---
### 3⃣ 综合分计算公式
```text
// 第一步:确定司法 / 借贷权重(身份固定 0.10
IF HAS_JUDICIAL_RISK AND HAS_CREDIT_RISK:
w_judicial = 0.70, w_credit = 0.20
ELSE IF HAS_JUDICIAL_RISK:
w_judicial = 0.65, w_credit = 0.25
ELSE IF HAS_CREDIT_RISK:
w_judicial = 0.40, w_credit = 0.50
ELSE:
w_judicial = 0.50, w_credit = 0.40
w_verify = 0.10 // 固定
// 第二步:加权汇总
ra_score = round(
ra_verify_score × w_verify +
ra_judicial_score × w_judicial +
ra_credit_score × w_credit
)
```
---
2026-06-10 20:27:18 +08:00
## 五、F 档强判规则(最高优先级)
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
同时满足以下条件时,**强制归入 F 档**
2026-06-10 17:47:36 +08:00
| 条件 | 判定标准 |
| :--- | :--- |
| 司法高风险 | `ra_judicial_score ≤ 400` |
| 借贷高风险 | `ra_credit_score ≤ 400` |
2026-06-10 20:27:18 +08:00
| 命中总条数 | 司法 + 借贷 **合计命中 > 5 条** |
**命中条数统计:**
| 维度 | 计数方式 |
| :--- | :--- |
| 司法 | `lawsuitStat.*.count.count_total` 累加 + `breachCaseList` 条数 + `consumptionRestrictionList` 条数 |
| 借贷 | 探针命中项(逾期 / 睡眠 / 未履约 / 探针)+ 借贷意向Reject / Review+ 借选模型分低(`xyp_model_score_*` 各 1 条) |
```text
// 第一步:正常三维度动态加权(与常规定价路径相同)
ra_score_raw = round(
ra_verify_score × 0.10 +
ra_judicial_score × w_judicial +
ra_credit_score × w_credit
)
// 第二步:强制 F 档映射(保留分数,不置 0
ra_level = "F"
ra_score = min(ra_score_raw, 500)
```
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
> 双高风险场景 **仍参与加权**,仅覆盖等级为 F并将综合分 **封顶 500**F 档最高分)。
2026-06-10 17:47:36 +08:00
---
## 六、各维度风险扣分规则
### 1⃣ ra_verify_score个人身份信息权重 10% 固定)
- **方法链:** `calcRAVerifyScore → calcRAVerifyRiskPoints → toRASafetyScore`
- **数据来源:** `triple``identity``presence`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 三要素不一致 | `triple.state` | 有值且不为 `"1"` | 387 |
| 二要素不一致 | `identity.result` | 不为 `0` | 387 |
| 在网异常 | `presence.desc` | 含停机 / 销号 / 不在网 | 73 |
| 状态码异常 | `presence.status` | 大于 `1` | 47 |
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
> 身份核验为 **基础准入项**,权重低但不可忽略;不一致时单项扣分仍可达 387774 分。
2026-06-10 17:47:36 +08:00
---
### 2⃣ ra_judicial_score个人司法信息基准权重 50%,可动态上调)
- **方法链:** `calcRAJudicialScore → calcRAJudicialRiskPoints → toRASafetyScore`
2026-06-10 20:27:18 +08:00
- **数据来源:** `judicial.judicial_data`FLXG7E8F 个人司法数据查询)
2026-06-10 17:47:36 +08:00
- **子维度结构:** 涉诉统计 + 失信被执行人 + 限高被执行人(三类独立累加)
2026-06-10 20:27:18 +08:00
- **计分方式:** 按 **命中条数 / 件数** 统计,遍历累加后换算安全分
| 子维度 | 命中统计方式 | 代码实现 |
| :--- | :--- | :--- |
| 涉诉统计 | 各类型 `*.count` 字段累加件数 | `lawsuitStat.*.count` 遍历求和 |
| 失信被执行人 | `breachCaseList` 数组长度 = 命中条数 | `len(breachCaseList)` |
| 限高被执行人 | `consumptionRestrictionList` 数组长度 = 命中条数 | `len(consumptionRestrictionList)` |
2026-06-10 17:47:36 +08:00
#### 2.1 涉诉统计lawsuitStat
2026-06-10 20:27:18 +08:00
遍历 `lawsuitStat` 下各类型节点(如 `civil``criminal``administrative``preservation``implement``bankrupt` 等),读取 `*.count` 累加。
扣分采用 **非整齐系数**(避免 50/80/100 等整齐倍数),例如涉诉总件数按 **件数 × 47** 折算:
2026-06-10 17:47:36 +08:00
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 涉诉总件数 | `lawsuitStat.*.count.count_total` | 各类型累加 | **件数 × 47** | 387 |
| 未结案数 | `lawsuitStat.*.count.count_wei_total` | 各类型累加 | **件数 × 38** | 293 |
| 被告件数 | `lawsuitStat.*.count.count_beigao` | 各类型累加 | **件数 × 33** | 247 |
2026-06-10 17:47:36 +08:00
#### 2.2 失信被执行人breachCaseList
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 失信执行人记录 | `breachCaseList` 长度 | 每条记录 | **条数 × 143** | **437** |
2026-06-10 17:47:36 +08:00
- 对应最高法 **失信被执行人名单**
- 命中即视为 **重度司法风险**,触发动态权重向司法倾斜(`HAS_JUDICIAL_RISK = true`
- 单条扣分高于普通涉诉件数,体现执行阶段信用惩戒的严重性
#### 2.3 限高被执行人consumptionRestrictionList
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 |
| :--- | :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 限高执行人记录 | `consumptionRestrictionList` 长度 | 每条记录 | **条数 × 187** | **413** |
2026-06-10 17:47:36 +08:00
- 对应 **限制高消费被执行人名单**
- 单条扣分高于失信记录,体现对消费 / 出行能力的直接限制
- 与失信记录 **独立计分、互不替代**,可同时累加
#### 2.4 司法子维度扣分优先级(业务解释)
| 优先级 | 子维度 | 典型场景 | 相对严重度 |
| :--- | :--- | :--- | :--- |
| 1 | 限高被执行人 | 已被法院采取限高措施 | 最高 |
| 2 | 失信被执行人 | 已被列入失信名单 | 高 |
| 3 | 未结案涉诉 | 纠纷仍在审理 / 执行中 | 中 |
| 4 | 被告涉诉 | 作为被告被起诉 | 中 |
| 5 | 历史涉诉(已结案) | 仅 count_total 有值 | 相对较低 |
---
### 3⃣ ra_credit_score借贷信息基准权重 40%,可动态上调)
- **方法链:** `calcRACreditScore → calcRACreditRiskPoints → toRASafetyScore`
2026-06-10 20:27:18 +08:00
- **数据来源:** `probe``intent``rating`JRZQ5E9F / loanRiskTagV21
2026-06-10 17:47:36 +08:00
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 当前逾期 | `probe.currently_overdue` | `"1"` | 287 |
| 睡眠账户 | `probe.acc_sleep` | `"1"` | 143 |
| 未履约 | `probe.currently_performance` | `"0"` | 97 |
| 探针命中 | `probe.result_code` | `"1"` | 103 |
| 借贷意向 | `intent.Rule_final_decision` | `Reject` / `Review` | 387 / 237 |
| 规则权重 | `intent.Rule_final_weight` | 有值 | **weight × 4**,上限 243 |
| 小额网贷分低 | `rating.xyp_model_score_high` | 命中且 < 650 | 650score上限 97 |
| 小额分期分低 | `rating.xyp_model_score_mid` | 命中且 < 650 | 650score上限 97 |
| 中大额分期分低 | `rating.xyp_model_score_low` | 命中且 < 650 | 650score上限 97 |
**借选指数模型分说明JRZQ5E9F**
| 字段 | 含义 | 取值范围 |
| :--- | :--- | :--- |
| `xyp_model_score_high` | 星耀Pro 小额网贷分 V1 | [350, 950],越大逾期率越低 |
| `xyp_model_score_mid` | 星耀Pro 小额分期分 V1 | [350, 950],越大逾期率越低 |
| `xyp_model_score_low` | 星耀Pro 中大额分期分 V1 | [350, 950],越大逾期率越低 |
> 未命中为 `-1`,不参与扣分;三项独立计分,合计扣分上限 291。
2026-06-10 17:47:36 +08:00
---
### 4⃣ ra_fraud_score欺诈辅助输出不参与加权
- **方法链:** `calcRAFraudScore → calcRAFraudRiskPoints → toRASafetyScore`
- **数据来源:** `behavior``complaint``fraud``special`
| 风险扣分项 | 子字段路径 | 触发条件 | 扣分 |
| :--- | :--- | :--- | :--- |
2026-06-10 20:27:18 +08:00
| 行为黑名单 | `behavior.result.black_list` | `"1"` | 23 |
| 行为黑标签 | `behavior.result.black_tag**` | 任意 `"1"` | 23 / 项 |
| 投诉风险 | `complaint.result.score` | 有值且 > 0 | 23 |
| 欺诈黑名单 | `fraud.hit` | `1` | 23 |
| 特殊名单 | `special.Rule_final_decision` | `Reject` / `Review` | 23 |
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
> 欺诈维度采用 **「每命中一项扣 23 分」** 统一计分,多项独立累加,单维上限 1000。
2026-06-10 17:47:36 +08:00
> 欺诈信号仍单独计算并返回 `ra_fraud_score`,供风控人工复核;**不进入 `ra_score` 三维度加权**,避免与借贷维度重复计分。
---
## 七、综合分与等级计算样例
### ✅ 样例 1基准场景无显著风险 → A
| 维度 | 安全分 | 权重 |
| :--- | :--- | :--- |
| 个人身份 | 920 | 10% |
| 个人司法 | 980 | 50% |
| 借贷 | 760 | 40% |
```text
ra_score = 920×0.10 + 980×0.50 + 760×0.40
= 92 + 490 + 304
= 886 → A
```
---
### ⚠️ 样例 2命中失信 + 限高(司法权重上调 → C/D
| 维度 | 安全分 | 说明 |
| :--- | :--- | :--- |
| 个人身份 | 900 | 核验正常 |
2026-06-10 20:27:18 +08:00
| 个人司法 | 670 | 失信 1 条 + 限高 1 条,扣分 330143+187 |
2026-06-10 17:47:36 +08:00
| 借贷 | 680 | 轻度借贷风险 |
动态权重:身份 10% + 司法 65% + 借贷 25%
```text
2026-06-10 20:27:18 +08:00
ra_score = 900×0.10 + 670×0.65 + 680×0.25
= 90 + 435.5 + 170
= 696 → C
2026-06-10 17:47:36 +08:00
```
---
### ⚠️ 样例 3仅借贷风险借贷权重上调 → B/C
| 维度 | 安全分 |
| :--- | :--- |
| 个人身份 | 880 |
| 个人司法 | 1000 |
| 借贷 | 520 |
动态权重:身份 10% + 司法 40% + 借贷 50%
```text
ra_score = 880×0.10 + 1000×0.40 + 520×0.50
= 88 + 400 + 260
= 748 → B
```
---
2026-06-10 20:27:18 +08:00
### ❌ 样例 4司法 + 借贷双高(强制 F 档)
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
- `ra_judicial_score = 197`(失信 3 条 ×143 + 限高 2 条 ×187扣分 803司法命中 **5 条**
- `ra_credit_score = 0`(逾期 287 + 未履约 97 + 探针 103 + Reject 387 + 权重 40×4扣分超 1000借贷命中 **4 条**
- 合计命中 **9 条 > 5**,满足强制 F 条件
- `ra_verify_score = 1000`
2026-06-10 17:47:36 +08:00
2026-06-10 20:27:18 +08:00
动态权重:身份 10% + 司法 70% + 借贷 20%
```text
ra_score_raw = 1000×0.10 + 197×0.70 + 0×0.20
= 100 + 137.9 + 0
= 238
→ 强制 F 档ra_level = "F"ra_score = min(238, 500) = 238
```
2026-06-10 17:47:36 +08:00
---
## 八、代码位置
| 方法 | 文件 |
| :--- | :--- |
| `buildDWBG9FB3RA` | `dwbg9fb3_ra.go` |
| `calcRA*Score` / `calcRA*RiskPoints` | `dwbg9fb3_ra.go` |
| `toRASafetyScore` | `dwbg9fb3_ra.go` |
| `raLevelFromScore` | `dwbg9fb3_ra.go` |
---
## 九、变更总结
| 项目 | 原方案 | 新方案 |
| :--- | :--- | :--- |
| 加权维度 | 欺诈 + 借贷 + 司法 + 身份(四维) | **身份 + 司法 + 借贷(三维)** |
| 身份权重 | 15%20% 浮动 | **固定 10%** |
| 司法 / 借贷权重 | 各自独立浮动 | **基准 50% / 40%,动态互调** |
| 司法子维度 | 合并描述 | **涉诉统计 / 失信执行人 / 限高执行人 分项说明** |
2026-06-10 20:27:18 +08:00
| 限高 vs 失信 | 同表罗列 | **限高 ×187/条、失信 ×143/条,独立计分** |
| 欺诈维度 | 参与加权 | **单独输出,不参与 `ra_score`;每命中一项扣 23 分** |
| 扣分系数 | 整齐 5/10 倍数 | **47/38/33/143/187 等非整齐系数** |
| 双高风险 | 强制 0 分 | **加权计分 + 强制 F 档,封顶 500** |
| 等级区间 | A:800+ / B:600+ … | **每档 100 分F: 0499** |
| 借选指数 | `rating.score` | **`xyp_model_score_high/mid/low`JRZQ5E9F** |