# DWBG9FB3 RA 安全评估 — 千分制计算说明(三维度动态权重版) > **修订说明** > 本版本采用 **「身份固定 10% + 司法 / 借贷动态 90%」** 的三维度加权模型,突出个人司法与信贷风险的主次关系;司法维度细分为 **涉诉统计、失信被执行人、限高被执行人** 三类独立计分。 --- ## 一、核心原则 - 所有分值采用 **千分制(0–1000)** - **分值越高表示越安全** - 统一计算路径: ```text 安全分 = 1000 − 风险扣分(单维上限 1000) ``` - **个人身份信息权重固定 10%,不参与动态调整** - **个人司法信息与借贷信息合计 90%,根据风险场景动态分配** - **司法 + 借贷同时高风险时,强制归入 F 档(仍参与加权,分数上限 500)** --- ## 二、综合分三维度结构 | 业务维度 | 输出字段 | 计算方法 | 基准权重 | 是否动态 | | :--- | :--- | :--- | :--- | :--- | | 个人身份信息 | `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` 映射 A–F | --- ## 三、等级划分(含 F 级) 千分制下 **每档间隔 100 分**,F 为 **500 分以下**: | 等级 | 分数区间 | 含义 | | :--- | :--- | :--- | | A | 900 – 1000 | 最安全 | | B | 800 – 899 | 较安全 | | C | 700 – 799 | 一般 | | D | 600 – 699 | 较不安全 | | E | 500 – 599 | 不安全 | | **F** | **0 – 499** | **最不安全** | > 另:司法 + 借贷双重高风险时 **强制 F 档**(仍按三维度加权计算 `ra_score`,封顶 **500 分**,不置 0)。 --- ## 四、动态权重机制 ### 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 ) ``` --- ## 五、F 档强判规则(最高优先级) 同时满足以下条件时,**强制归入 F 档**: | 条件 | 判定标准 | | :--- | :--- | | 司法高风险 | `ra_judicial_score ≤ 400` | | 借贷高风险 | `ra_credit_score ≤ 400` | | 命中总条数 | 司法 + 借贷 **合计命中 > 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) ``` > 双高风险场景 **仍参与加权**,仅覆盖等级为 F,并将综合分 **封顶 500**(F 档最高分)。 --- ## 六、各维度风险扣分规则 ### 1️⃣ ra_verify_score(个人身份信息,权重 10% 固定) - **方法链:** `calcRAVerifyScore → calcRAVerifyRiskPoints → toRASafetyScore` - **数据来源:** `triple`、`identity`、`presence` | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | | :--- | :--- | :--- | :--- | | 三要素不一致 | `triple.state` | 有值且不为 `"1"` | 387 | | 二要素不一致 | `identity.result` | 不为 `0` | 387 | | 在网异常 | `presence.desc` | 含停机 / 销号 / 不在网 | 73 | | 状态码异常 | `presence.status` | 大于 `1` | 47 | > 身份核验为 **基础准入项**,权重低但不可忽略;不一致时单项扣分仍可达 387–774 分。 --- ### 2️⃣ ra_judicial_score(个人司法信息,基准权重 50%,可动态上调) - **方法链:** `calcRAJudicialScore → calcRAJudicialRiskPoints → toRASafetyScore` - **数据来源:** `judicial.judicial_data`(FLXG7E8F 个人司法数据查询) - **子维度结构:** 涉诉统计 + 失信被执行人 + 限高被执行人(三类独立累加) - **计分方式:** 按 **命中条数 / 件数** 统计,遍历累加后换算安全分 | 子维度 | 命中统计方式 | 代码实现 | | :--- | :--- | :--- | | 涉诉统计 | 各类型 `*.count` 字段累加件数 | `lawsuitStat.*.count` 遍历求和 | | 失信被执行人 | `breachCaseList` 数组长度 = 命中条数 | `len(breachCaseList)` | | 限高被执行人 | `consumptionRestrictionList` 数组长度 = 命中条数 | `len(consumptionRestrictionList)` | #### 2.1 涉诉统计(lawsuitStat) 遍历 `lawsuitStat` 下各类型节点(如 `civil`、`criminal`、`administrative`、`preservation`、`implement`、`bankrupt` 等),读取 `*.count` 累加。 扣分采用 **非整齐系数**(避免 50/80/100 等整齐倍数),例如涉诉总件数按 **件数 × 47** 折算: | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 | | :--- | :--- | :--- | :--- | :--- | | 涉诉总件数 | `lawsuitStat.*.count.count_total` | 各类型累加 | **件数 × 47** | 387 | | 未结案数 | `lawsuitStat.*.count.count_wei_total` | 各类型累加 | **件数 × 38** | 293 | | 被告件数 | `lawsuitStat.*.count.count_beigao` | 各类型累加 | **件数 × 33** | 247 | #### 2.2 失信被执行人(breachCaseList) | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 | | :--- | :--- | :--- | :--- | :--- | | 失信执行人记录 | `breachCaseList` 长度 | 每条记录 | **条数 × 143** | **437** | - 对应最高法 **失信被执行人名单** - 命中即视为 **重度司法风险**,触发动态权重向司法倾斜(`HAS_JUDICIAL_RISK = true`) - 单条扣分高于普通涉诉件数,体现执行阶段信用惩戒的严重性 #### 2.3 限高被执行人(consumptionRestrictionList) | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | 单项上限 | | :--- | :--- | :--- | :--- | :--- | | 限高执行人记录 | `consumptionRestrictionList` 长度 | 每条记录 | **条数 × 187** | **413** | - 对应 **限制高消费被执行人名单** - 单条扣分高于失信记录,体现对消费 / 出行能力的直接限制 - 与失信记录 **独立计分、互不替代**,可同时累加 #### 2.4 司法子维度扣分优先级(业务解释) | 优先级 | 子维度 | 典型场景 | 相对严重度 | | :--- | :--- | :--- | :--- | | 1 | 限高被执行人 | 已被法院采取限高措施 | 最高 | | 2 | 失信被执行人 | 已被列入失信名单 | 高 | | 3 | 未结案涉诉 | 纠纷仍在审理 / 执行中 | 中 | | 4 | 被告涉诉 | 作为被告被起诉 | 中 | | 5 | 历史涉诉(已结案) | 仅 count_total 有值 | 相对较低 | --- ### 3️⃣ ra_credit_score(借贷信息,基准权重 40%,可动态上调) - **方法链:** `calcRACreditScore → calcRACreditRiskPoints → toRASafetyScore` - **数据来源:** `probe`、`intent`、`rating`(JRZQ5E9F / loanRiskTagV21) | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | | :--- | :--- | :--- | :--- | | 当前逾期 | `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 | 650−score,上限 97 | | 小额分期分低 | `rating.xyp_model_score_mid` | 命中且 < 650 | 650−score,上限 97 | | 中大额分期分低 | `rating.xyp_model_score_low` | 命中且 < 650 | 650−score,上限 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。 --- ### 4️⃣ ra_fraud_score(欺诈,辅助输出,不参与加权) - **方法链:** `calcRAFraudScore → calcRAFraudRiskPoints → toRASafetyScore` - **数据来源:** `behavior`、`complaint`、`fraud`、`special` | 风险扣分项 | 子字段路径 | 触发条件 | 扣分 | | :--- | :--- | :--- | :--- | | 行为黑名单 | `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 | > 欺诈维度采用 **「每命中一项扣 23 分」** 统一计分,多项独立累加,单维上限 1000。 > 欺诈信号仍单独计算并返回 `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 | 核验正常 | | 个人司法 | 670 | 失信 1 条 + 限高 1 条,扣分 330(143+187) | | 借贷 | 680 | 轻度借贷风险 | 动态权重:身份 10% + 司法 65% + 借贷 25% ```text ra_score = 900×0.10 + 670×0.65 + 680×0.25 = 90 + 435.5 + 170 = 696 → C ``` --- ### ⚠️ 样例 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 ``` --- ### ❌ 样例 4:司法 + 借贷双高(强制 F 档) - `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` 动态权重:身份 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 ``` --- ## 八、代码位置 | 方法 | 文件 | | :--- | :--- | | `buildDWBG9FB3RA` | `dwbg9fb3_ra.go` | | `calcRA*Score` / `calcRA*RiskPoints` | `dwbg9fb3_ra.go` | | `toRASafetyScore` | `dwbg9fb3_ra.go` | | `raLevelFromScore` | `dwbg9fb3_ra.go` | --- ## 九、变更总结 | 项目 | 原方案 | 新方案 | | :--- | :--- | :--- | | 加权维度 | 欺诈 + 借贷 + 司法 + 身份(四维) | **身份 + 司法 + 借贷(三维)** | | 身份权重 | 15%–20% 浮动 | **固定 10%** | | 司法 / 借贷权重 | 各自独立浮动 | **基准 50% / 40%,动态互调** | | 司法子维度 | 合并描述 | **涉诉统计 / 失信执行人 / 限高执行人 分项说明** | | 限高 vs 失信 | 同表罗列 | **限高 ×187/条、失信 ×143/条,独立计分** | | 欺诈维度 | 参与加权 | **单独输出,不参与 `ra_score`;每命中一项扣 23 分** | | 扣分系数 | 整齐 5/10 倍数 | **47/38/33/143/187 等非整齐系数** | | 双高风险 | 强制 0 分 | **加权计分 + 强制 F 档,封顶 500** | | 等级区间 | A:800+ / B:600+ … | **每档 100 分,F: 0–499** | | 借选指数 | `rating.score` | **`xyp_model_score_high/mid/low`(JRZQ5E9F)** |