4. 数据准备:赔付率分析所需的数据源及数据质量要求

赔付率分析的可靠性高度依赖数据基础的质量与完整性。坏样本归因分析需要从保单、理赔及外部三个维度整合数据,并满足严格的清洗与校验标准。本章将系统梳理所需数据源、核心字段及质量要求。

4.1 数据源全景

赔付率分析所需数据可归纳为三大类:保单数据(暴露基础)、理赔数据(损失核心)和外部数据(环境修正)。三者通过唯一保单号或客户ID关联,形成分析宽表。

关键原则:数据粒度必须统一到“保单-险种-责任”层级,理赔数据需按事故日期与保单生效日期对齐,避免时间错配导致的归因偏差。
赔付率分析数据源架构 分析宽表(保单-理赔-外部关联) 保单数据 暴露数、保费、风险因子 理赔数据 赔案、损失金额、结案信息 外部数据 宏观、行业、地理、信用 承保清单 批改记录 缴费记录 风险因子表 立案信息 损失明细 结案报告 追偿记录 GDP/CPI 行业指数 地理风险 信用评分 说明:所有数据源通过唯一键(保单号+险种代码+事故日期)关联,形成以保单为单位的赔付率分析宽表。 外部数据用于修正宏观环境对赔付率的影响,提升坏样本归因的准确性。

4.2 保单数据:暴露基础

保单数据是计算赔付率的分母——已赚保费的来源,也是坏样本归因中风险分层的依据。核心字段包括:

字段类别 核心字段 用途说明 质量要求
标识字段 保单号、险种代码、责任代码 唯一标识与关联键 非空、无重复、格式统一
时间字段 起保日期、终保日期、签单日期 计算已赚保费、暴露数 日期合法、起保≤终保
保费字段 总保费、分险种保费、净保费 赔付率分母 数值非负、精度一致
风险因子 年龄、性别、车型、地区、保额 风险分层与归因 分类值在码表内、连续值无异常
业务字段 渠道、销售团队、核保人 业务维度归因 编码规范、可映射
实践提示:保单数据中“批改记录”常被忽略。批改导致的保费增减、期限变更会直接影响已赚保费计算,必须纳入数据准备范围。建议保留批改流水号,以便追溯。

4.3 理赔数据:损失核心

理赔数据是赔付率的分子——已发生损失的直接来源。坏样本归因需要区分已决赔款、未决赔款准备金及理赔费用。

数据子集 关键字段 归因分析用途
立案信息 立案号、事故日期、报案日期、出险原因 识别事故时间分布与原因归因
损失明细 已决赔款、未决赔款、理赔费用、残值 计算最终损失金额
结案报告 结案日期、结案金额、赔付类型 确认最终赔付成本
追偿记录 追偿金额、追偿日期 净损失调整
常见数据陷阱:
  • 未决赔款估计偏差:不同理赔员对未决赔款的估计差异较大,建议使用链梯法或B-F法进行一致性调整后再纳入赔付率计算。
  • 理赔费用归属不清:直接理赔费用(如查勘费)与间接理赔费用(如管理费)应分开记录,避免混入损失金额导致赔付率虚高。
  • 重复赔案:同一事故多次立案时,需通过事故ID去重,否则会重复计算损失。

4.4 外部数据:环境修正

外部数据用于剥离宏观环境、行业趋势和区域差异对赔付率的影响,使坏样本归因聚焦于保险公司自身经营因素。

外部数据类别 典型指标 对赔付率的影响机制
宏观经济 GDP增速、CPI、利率 影响出险频率(经济活跃度)和赔案金额(医疗/维修成本)
行业指数 行业赔付率均值、行业案均赔款 作为基准对比,识别公司异常偏离
地理风险 区域灾害指数、交通事故率 修正区域间自然风险差异
法律环境 人伤赔偿标准、诉讼率 影响责任险赔付水平
信用/欺诈 客户信用评分、欺诈概率评分 识别道德风险导致的异常赔付

4.5 数据质量要求

数据质量是赔付率分析的生命线。以下为必须满足的六项质量维度及检查方法:

  1. 完整性:关键字段(保单号、事故日期、损失金额)缺失率 < 1%。缺失值需明确标记并评估影响。
  2. 准确性:数值字段在合理范围内(如保费 > 0,损失金额 < 保额)。异常值需通过箱线图或Z-score识别并核查。
  3. 一致性:同一字段在不同数据源中定义一致(如“事故日期”在保单和理赔系统中格式相同)。
  4. 时效性:数据截止日期与分析基准日一致。理赔数据需包含足够长的发展期(至少12-24个月)。
  5. 唯一性:保单号+险种代码+事故日期组合无重复。重复记录需去重或合并。
  6. 关联性:保单与理赔通过外键可关联,关联成功率 > 95%。未关联记录需单独分析原因。
数据质量检查脚本示例(Python伪代码):
# 数据质量检查框架
def data_quality_check(df_policy, df_claim, df_external):
    # 1. 完整性检查
    missing_rate = df_policy['premium'].isnull().mean()
    assert missing_rate < 0.01, f"保费缺失率 {missing_rate:.2%} 超过阈值"
    
    # 2. 准确性检查
    assert (df_policy['premium'] > 0).all(), "存在非正保费"
    assert (df_claim['loss_amount'] <= df_policy['sum_insured']).all(), "损失超过保额"
    
    # 3. 关联性检查
    merged = df_policy.merge(df_claim, on='policy_id', how='left')
    match_rate = merged['claim_id'].notnull().mean()
    assert match_rate > 0.95, f"理赔关联率 {match_rate:.2%} 不足95%"
    
    # 4. 时间一致性
    assert (df_claim['accident_date'] >= df_policy['effective_date']).all(), "事故日期早于起保日期"
    
    print("数据质量检查通过")
    return merged

4.6 数据准备流程

从原始数据到分析宽表,需经过以下标准化流程:

数据准备标准化流程 步骤1:数据抽取 从源系统提取 步骤2:数据清洗 缺失/异常处理 步骤3:数据转换 格式/粒度统一 步骤4:数据关联 多源合并 步骤5:质量验证 输出宽表 保单/理赔/外部 增量或全量抽取 保留原始快照 缺失值填充/删除 异常值截尾或标记 重复记录去重 日期格式统一 分类编码标准化 计算衍生变量 保单-理赔左关联 外部数据时间匹配 生成分析宽表 六维度检查 生成质量报告 入库分析环境 关键输出:分析宽表应包含以下核心字段—— 保单ID | 险种 | 起保/终保日期 | 已赚保费 | 已决赔款 | 未决赔款准备金 | 理赔费用 | 事故日期 | 风险因子 | 外部指标 数据准备阶段建议保留原始字段快照,便于后续审计和归因回溯。

4.7 数据准备清单

以下为数据准备阶段的最终交付物检查清单,建议在进入建模前逐项确认:

检查项 验收标准 状态
保单数据完整性 关键字段缺失率 < 1% □ 通过 □ 需整改
理赔数据时效性 包含至少24个月发展期 □ 通过 □ 需整改
外部数据对齐 时间粒度与保单/理赔一致 □ 通过 □ 需整改
关联成功率 保单-理赔关联率 > 95% □ 通过 □ 需整改
异常值处理 已标记并记录处理逻辑 □ 通过 □ 需整改
数据字典 字段定义、类型、取值范围完整 □ 通过 □ 需整改
最佳实践:建议在数据准备阶段建立数据血缘追踪,记录每个字段的来源系统、转换规则和版本号。当赔付率分析发现异常归因时,可快速回溯到原始数据层进行验证。