7.5 KiB
7.5 KiB
A 卡原始监控指标——模型方表评估清单 V0.1
日期:2026-09-01
评估对象:模型方model_deploy数据库及待补监控结构。
目的:确认模型方能够提供哪些原始监控数据、通过哪些表提供,以及我方是否需要保留标准化月度快照。
1. 结论先行
模型方现有 model_monitor_aggr 只能部分承载 KS、PSI、IV 等标量指标,不能完整支撑 A 卡运维平台的月度监控、规则回放、报告和特征分布展示。
建议模型方提供 4 类结构化监控表或完全等价的数据结构:
model_monitor_batch:月度批次、修订和发布状态。model_monitor_result:模型单月排序性、KS、PSI和样本量。model_monitor_feature_metric:特征级IV、CSI及变化。model_monitor_distribution:评分分箱和特征分箱分布。
以上数据应由模型计算任务自动写入,不由模型团队手工执行 SQL。
2. 模型方现有相关表
| 现有表 | 当前用途 | 可复用内容 | 不足 | 我方建议 |
|---|---|---|---|---|
model_deploy |
模型部署主表 | deployId、模型名称、编码、状态、当前版本 |
缺业务模型大类、银行关系、通用模型等 | 作为模型主标识使用,不复制主表 |
model_version |
模型版本 | 版本ID、版本号、版本名称、创建人、创建时间 | 缺迭代、陪跑、上线/下线和开发指标 | 作为版本主标识;缺失字段另补 |
model_details |
模型详情 | 模型说明、输入/输出Schema | 不是月度监控数据 | 仅模型详情页读取 |
model_monitor_aggr |
通用聚合指标 | deployId/version/metricName/dimensionValue/valueNum/gmtCreated;注释允许 ks/psi/iv |
无月份、批次、修订、发布状态、排序性、样本量、CSI、分箱结构 | 可继续保存运行聚合;不建议单独承担业务监控全量数据 |
model_monitor_call_log |
模型调用原始日志 | 调用成功、耗时、节点、错误 | 属于服务运行监控,不是模型效果监控 | 不作为 A 卡月度监控来源 |
model_monitor_aggr_cursor |
聚合器游标 | 聚合进度 | 纯技术状态 | 我方无需读取 |
3. 建议模型方提供的 4 张表
3.1 model_monitor_batch——监控批次
一行代表一次月度监控数据发布。
建议字段:
id BIGINT:批次主键。source_batch_no VARCHAR(128):模型方幂等批次号。monitor_month DATE:监控月份,固定当月1日。revision_no INT:同月份修订号。status VARCHAR(24):writing/published/failed/superseded。expected_model_count/written_model_count:预期和实际模型数。feature_row_count/distribution_row_count:特征和分箱行数。checksum VARCHAR(64):批次校验和。generated_at/published_at DATETIME:计算和发布时间。failed_reason VARCHAR(2000):失败原因。
关键约束:同一监控月份和修订号唯一;我方只读取 published 的最高修订。
3.2 model_monitor_result——模型单月监控结果
一行代表一个模型版本在一个月份的核心监控结果。
建议字段:
id BIGINT:结果主键。batch_id BIGINT:所属批次。deploy_id BIGINT:关联model_deploy.id。version_id BIGINT:关联model_version.id。monitor_month DATE:监控月份。ranking_result VARCHAR(24):matched/unmatched/not_applicable。ks_value DECIMAL(12,8):KS,建议统一存0~1比率。psi_value DECIMAL(12,8):PSI,建议统一存0~1比率。sample_count/good_count/bad_count BIGINT:样本量。calculated_at DATETIME:完成计算时间。extra JSON:仅用于尚未结构化且已约定的数据,不作为核心字段替代品。
关键约束:同一批次下一个 deploy_id 只能有一条结果。
3.3 model_monitor_feature_metric——特征级指标
一行代表一个监控结果下的一个特征。
建议字段:
id BIGINT:主键。monitor_result_id BIGINT:关联单月监控结果。feature_code/feature_name:特征编码和名称。iv_value/previous_iv_value:当期与上期IV。iv_drop_rate:IV降幅。csi_value/previous_csi_value:当期与上期CSI。csi_rise_rate:CSI升幅。ks_contribution_change:对KS变化的贡献。psi_contribution_change:对PSI变化的贡献。calculated_at DATETIME:计算时间。
关键约束:同一监控结果下 feature_code 唯一。
3.4 model_monitor_distribution——评分及特征分箱
一行代表一个评分区间或一个特征分箱。
建议字段:
id BIGINT:主键。monitor_result_id BIGINT:关联单月监控结果。dimension_type VARCHAR(24):score_band/feature_bin。feature_code/feature_name:评分分箱时可为空。bin_order/bin_code/bin_label:分箱顺序、编码和显示名称。reference_period_label:基准期说明。reference_count/reference_share:基准期数量和占比。current_count/current_share:当期数量和占比。good_count/bad_count/bad_rate:好坏客户数据。psi_component/csi_component:该分箱对PSI/CSI的贡献。
关键约束:monitor_result_id + dimension_type + feature_code + bin_order 唯一。
4. 四张表与前端页面关系
| 表 | 模型大类概览 | 监控概览 | 监控详情 | 监控/诊断报告 | 系统同步 |
|---|---|---|---|---|---|
model_monitor_batch |
间接 | 间接 | 间接 | 绑定数据版本 | 展示批次和修订状态 |
model_monitor_result |
KS/PSI、趋势、同业均值 | 月度明细和等级输入 | 核心结论与趋势 | 报告核心指标 | 同步主数据 |
model_monitor_feature_metric |
不直接使用 | 可选摘要 | IV/CSI前5及全指标 | 诊断报告特征分析 | 同步特征指标 |
model_monitor_distribution |
不直接使用 | 不直接使用 | 排序性和特征分布 | 报告四张明细表 | 同步分箱数据 |
5. 我方可以计算、模型方无需提供的内容
取得上述原始数据后,我方可自行计算:
- 本行平均KS/PSI及同业平均值。
- 近6个月趋势。
- KS环比降幅。
- 近6个月二级异常次数。
- 异常等级及A/B/C监控结果等级。
- 命中原因、处理建议、阈值影响测算。
- 报告正文、待办、催办和缓存数据。
6. 必须与模型方确认的 10 项
- 是否接受新增上述4张表,或提供完全等价的表/视图。
deploy_id和版本引用使用model_version.id还是version整数。- KS、PSI、IV、CSI统一存0~1还是0~100。
- 排序性计算方法及枚举值。
- PSI和CSI基准期规则,是否为滚动基准期。
- 批次粒度是全月全量、按银行还是按模型。
- 历史勘误是否新增修订,禁止原地覆盖已发布结果。
- 特征编码是否跨版本稳定,特征名称变更如何留痕。
- 首次需要回补多少个月历史数据及预计数据量。
- 提供一套真实脱敏样例:一个模型、一个月份、完整特征和分箱数据。
7. 若模型方不愿新增4张表
最小折中方案:
model_monitor_aggr继续承载KS、PSI、IV、CSI等标量指标。- 必须固定
metricName字典、单位、月份口径和dimensionValue规则。 - 仍需新增批次/发布结构以及评分和特征分箱明细结构。
- 不建议把所有数据都塞入
extra JSON,否则无法建立稳定索引、约束和验收口径。
该折中方案开发和长期维护成本更高,推荐优先采用4张结构化表。