风控 P3 收尾与适当性豁免额度校验 #4
+19
-1
@@ -204,7 +204,25 @@ Asia/Shanghai 展示。北京 08:00 前生成时,统计窗口是"前一日 08:
|
||||
没有任何地方把它初始化成 20。
|
||||
|
||||
影响:行为分是"预警结案 → 客户行为评分下降"这条链路的落点,现在这条链路**产出为零**。
|
||||
修复点在**画像创建侧**(把初始值设为满分),不在风控的扣分逻辑里。
|
||||
|
||||
**补充复核(同日):这不是本项目的代码缺陷,而是上游数据前提缺失。**
|
||||
|
||||
全仓搜索后确认,**本项目不创建 `fin_customer_profile` 行**:`FundCustomerProfile(` 只出现在
|
||||
类定义与测试里,没有任何 INSERT;`profile_assembly_service` 走的是 ORM 读取 + 属性更新,
|
||||
行不存在时返回 `profile_row_not_opened`。也就是说画像行由**本项目之外的流程**写入,
|
||||
而它写入时把 `behavior_score` 设成了 0。
|
||||
|
||||
本项目的扣分逻辑本身是对的:`min(满分, before) - deduction` 再 `max(0, ...)` —— 给定 0,
|
||||
任何扣分都只能得 0,这是算术必然,不是判断错误。
|
||||
|
||||
**处置建议**(不由技术侧单方面决定):
|
||||
|
||||
1. 上游创建画像时按满分初始化 `behavior_score`(需上游确认该字段的语义与取值范围);
|
||||
2. 若上游无法改,则需要一个**能区分"未初始化"与"扣光了"**的标记(例如新增一列),
|
||||
本项目才能在重建画像时补初值 —— 但仅为了这个目的加列,成本收益需要权衡。
|
||||
|
||||
在拿到上游口径之前,本项目**不做**任何"见 0 就补 20"的处理:0 同样是合法的扣分结果,
|
||||
那样会把真正扣到 0 的客户错误地抬回满分。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user