2. 保险数据基础:保险业务数据结构、常见数据源及数据质量挑战

在构建坏样本归因模型之前,必须深入理解保险业务数据的底层结构。精算模型的质量高度依赖于输入数据的完整性、一致性和业务语义的准确映射。本章将系统梳理保单、理赔、客户信息三大核心数据表的结构特征,介绍常见数据源,并重点剖析数据质量挑战。

2.1 保险业务核心数据结构

保险精算建模通常围绕三个核心数据域展开:保单域(Policy)、理赔域(Claim)和客户域(Customer)。三者通过唯一键关联,形成星型或雪花型数据模型。

关键概念: 保单是保险合同的数字化记录;理赔是出险后的赔付事件记录;客户信息是投保人/被保险人的属性集合。三者的时间戳对齐是建模成败的关键。

2.1.1 保单数据表(Policy Table)

保单表是精算分析的主表,每一条记录通常对应一份独立的保险合同。核心字段包括:

字段类别 典型字段 业务含义 数据示例
标识字段 policy_id, contract_no 保单唯一标识 POL202310001234
时间字段 effective_date, expiry_date, underwrite_date 起保日、终保日、核保通过日 2023-10-01, 2024-09-30
产品字段 product_code, coverage_type, plan_name 产品编码、险种类型、保障计划 MED001, 住院医疗, 标准计划
财务字段 premium, sum_insured, deductible 保费、保额、免赔额 3500.00, 500000.00, 10000.00
状态字段 policy_status, cancellation_reason 有效/失效/退保状态 ACTIVE, CANCELLED
精算提示: 保单表中的 effective_date 和 expiry_date 用于构建暴露量(Exposure)时间窗口。在坏样本归因中,需要将理赔时间对齐到保单的有效期内,避免将保单生效前的理赔错误归因。

2.1.2 理赔数据表(Claim Table)

理赔表记录每一次出险及赔付过程,通常与保单表通过 policy_id 关联。理赔数据是坏样本(欺诈、逆选择、赔付异常)的主要来源。

字段类别 典型字段 业务含义 数据示例
标识字段 claim_id, policy_id 理赔单号、关联保单号 CLM202310150001
时间字段 loss_date, report_date, settlement_date 出险日、报案日、结案日 2023-10-10, 2023-10-12, 2023-11-01
金额字段 claim_amount, paid_amount, reserve_amount 索赔金额、已赔付金额、未决赔款准备金 50000.00, 35000.00, 15000.00
类型字段 claim_type, cause_of_loss 理赔类型(医疗/意外/重疾)、出险原因 ACCIDENT, 交通事故
调查字段 investigation_flag, fraud_score 是否启动调查、欺诈评分 Y, 0.85
数据质量警告: 理赔表中常见的坏样本特征包括:出险日期早于保单生效日、报案延迟过长(超过30天)、同一保单短期内多次小额理赔。这些字段的缺失或错误会直接导致归因模型产生偏差。

2.1.3 客户信息表(Customer Table)

客户表存储投保人及被保险人的静态属性,用于构建风险画像。在坏样本归因中,客户信息用于识别逆选择风险。

字段类别 典型字段 业务含义 数据示例
身份字段 customer_id, id_number 客户唯一标识、身份证号 CUST00012345
人口统计 age, gender, occupation, region 年龄、性别、职业、地区 45, M, 医生, 华东
健康字段 health_status, bmi, smoking_status 健康告知等级、BMI、吸烟史 NORMAL, 24.5, NON_SMOKER
历史字段 previous_claims, policy_count 历史理赔次数、持有保单数 2, 3

2.2 常见数据源

保险精算建模的数据来源多样,按数据产生方式可分为内部核心系统、外部引入数据和实时交互数据三大类。

  1. 核心业务系统: 承保系统(Policy Admin System)、理赔系统(Claim Management System)、收付费系统(Billing System)。这些系统是保单和理赔数据的主数据源,通常通过ETL每日批量同步到数据仓库。
  2. 外部数据源: 征信机构(如央行征信、百行征信)、医疗数据平台(医院HIS系统对接)、第三方反欺诈数据库(如黑名单共享平台)。外部数据用于补充客户风险画像,但存在合规和数据时效性挑战。
  3. 实时交互数据: 客服通话记录(语音转文本)、在线投保行为日志(点击流、页面停留时间)、移动端GPS轨迹。这类数据在传统精算中较少使用,但在机器学习驱动的坏样本归因中价值显著。
数据源整合建议: 建议将内部核心系统数据作为基础层,外部数据作为增强层,实时交互数据作为特征层。在建模初期,优先保证基础层的数据质量,再逐步引入增强层和特征层。

2.3 数据质量挑战

保险数据在实际生产环境中普遍存在质量问题,这些问题会直接传导至坏样本归因模型的训练效果。以下是精算建模中最常见的四类数据质量挑战:

挑战类别 具体表现 对坏样本归因的影响 常见原因
缺失值 理赔金额为空、客户年龄缺失、出险原因未填写 模型无法计算完整特征向量,导致样本被丢弃或引入插值偏差 前端录入不强制、系统间字段映射遗漏
异常值 理赔金额为负数、保费为0、出险日期为未来时间 直接污染训练标签,导致模型学习到错误模式 系统bug、人工录入错误、测试数据未清理
不一致性 同一客户在不同系统中的性别不同、保单状态与理赔时间逻辑矛盾 破坏数据关联关系,导致归因路径断裂 多系统数据未同步、主数据管理缺失
样本偏差 理赔数据中欺诈样本占比极低(<0.5%)、历史数据仅包含核保通过客户 类别不平衡导致模型偏向多数类,归因结果不可靠 业务自然分布、数据采集范围受限
精算建模红线: 在坏样本归因任务中,标签污染(Label Contamination)是最致命的数据质量问题。例如,将正常理赔错误标记为欺诈,或未识别出已发生的欺诈理赔,都会导致模型学习到错误的决策边界。建议在建模前进行至少一轮标签审计。

2.4 保险数据关系结构图

下图展示了保单、理赔、客户三张核心表之间的关联关系,以及数据质量挑战在数据流中的影响节点。

保险核心数据关系与质量挑战节点图 客户信息表 customer_id (PK) age, gender, region 保单表 policy_id (PK) premium, effective_date 理赔表 claim_id (PK) claim_amount, loss_date customer_id policy_id 缺失值挑战 年龄/理赔金额缺失 异常值挑战 负保费/未来出险日期 不一致性挑战 多系统性别矛盾 样本偏差挑战(全局影响) 欺诈样本占比极低、历史数据选择偏差

2.5 数据质量处理流程

针对上述数据质量挑战,建议在模型训练前建立标准化的数据清洗流水线。以下是一个适用于坏样本归因场景的典型处理流程:

  1. 字段级校验: 检查每个字段的数据类型、取值范围、非空约束。例如,保费字段必须为正数,出险日期必须在保单有效期内。
  2. 跨表一致性校验: 通过外键关联检查保单-理赔-客户三表之间的逻辑一致性。例如,理赔表中的 policy_id 必须在保单表中存在且状态为有效。
  3. 时间序列合理性校验: 检查时间戳的先后顺序:effective_date < loss_date < report_date < settlement_date。任何违反时间顺序的记录都应标记为可疑样本。
  4. 标签清洗: 对坏样本标签(如欺诈标记)进行交叉验证。建议结合业务规则(如理赔金额超过保额50%自动触发调查)和统计方法(如孤立森林检测异常理赔模式)进行标签修正。
  5. 样本平衡处理: 针对类别不平衡问题,采用过采样(SMOTE)、欠采样或代价敏感学习策略。注意:在归因任务中,过采样可能导致虚假关联,建议优先使用代价敏感方法。
最佳实践: 在数据清洗阶段,建议为每一条记录生成一个数据质量评分(Data Quality Score),作为后续模型训练样本权重的依据。质量评分低于阈值的样本可以降权处理,而非直接删除,以保留业务信息的完整性。

2.6 数据质量评分卡示例

以下是一个简化的数据质量评分卡模板,用于量化每条保单记录的数据质量:

检查维度 检查规则 扣分标准 最高扣分
完整性 核心字段(保费、保额、起保日)是否缺失 每缺失一个核心字段扣20分 60
准确性 保费是否在合理范围(如100~100000) 超出范围扣30分 30
一致性 保单状态与理赔记录是否逻辑自洽 逻辑矛盾扣40分 40
时效性 数据更新时间是否在最近30天内 超过30天扣10分 10

每条记录的初始分为100分,根据上述规则扣减后得到最终质量评分。在坏样本归因模型训练中,建议将质量评分低于60分的样本标记为低置信度样本,在训练时赋予较低权重或单独分析。