3. 数据来源与常见格式

赔付三角形的质量,首先取决于数据来源的可靠性与格式解析的准确性。在准备金评估与赔付发展因子建模中,数据通常来自三个渠道:保险公司内部数据、再保数据以及公开数据。三者并非简单叠加,而是承担不同角色:内部数据提供最细颗粒度的赔案与评估信息,再保数据补充分出与摊回视角,公开数据则用于行业基准、趋势校验与尾部判断。理解它们的结构差异与解析要点,是后续三角形构建与因子估计的前提。

一、核心原理:三类数据源的定位与互补关系

保险公司内部数据是赔付三角形的“主数据源”,通常来自理赔系统、精算评估系统与财务总账。理赔系统提供逐案赔款、报案日期、结案日期、险种、事故年份等字段;精算评估系统提供已发生已报案赔款(Incurred)与已付赔款(Paid)的评估值;财务总账则用于核对现金口径与权责发生制口径的差异。内部数据的优势在于颗粒度细、可追溯,但常见问题是字段口径不统一、历史系统迁移导致编码断裂。

再保数据用于处理分出业务与摊回赔款,常见形式包括再保账单、分出保费与摊回赔款明细、以及再保合同结构表。再保数据的难点在于:同一笔赔案可能对应多个再保合同层级,且摊回时点与直接赔款时点不一致,容易造成三角形口径错配。因此,再保数据必须与直接业务数据建立明确的映射关系,通常需要合同ID、层号、分出比例等关键字段。

公开数据包括监管机构发布的行业赔付数据、行业协会统计、以及公开的巨灾损失报告。公开数据一般不用于直接构建公司三角形,而是用于:校验公司发展因子的合理性、判断行业趋势是否异常、以及在尾部因子估计中提供外部参考。使用公开数据时需注意口径差异,例如行业数据可能按事故年汇总,而公司数据按报案年或承保年组织。

关键原则:内部数据定“形”,再保数据定“层”,公开数据定“势”。三者口径必须统一到同一事故期与同一评估时点,否则三角形会出现虚假的发展模式。

二、方法流程:从原始数据到可建模三角形的解析步骤

无论数据来自CSV还是Excel,解析流程都应遵循“先对齐口径,再清洗字段,最后构建三角形”的顺序。以下为推荐的标准流程:

  1. 确认数据粒度:逐案数据还是汇总数据?逐案数据可支持更细的三角形分组,汇总数据则需确认其分组维度。
  2. 统一时间口径:明确事故年、报案年、评估年、日历年的定义,避免混用。
  3. 字段映射与重命名:将不同来源的字段统一为建模标准字段,如 accident_year、report_year、paid、incurred、case_reserve。
  4. 缺失值与异常值处理:识别负值、空值、重复赔案号,并记录处理规则。
  5. 构建增量三角形:按事故年与进展年汇总,形成增量赔款矩阵。
  6. 转换为累计三角形:按行累加,得到累计赔款三角形,用于发展因子计算。

在CSV解析中,需特别注意编码格式与分隔符。常见问题包括:中文编码为GBK而非UTF-8、金额字段含千分位逗号、日期格式混用“YYYY-MM-DD”与“YYYY/MM/DD”。在Excel解析中,则需注意合并单元格、隐藏行、公式引用外部文件等问题。以下是一个典型的CSV读取与字段标准化示例:

import pandas as pd

# 读取CSV,指定编码与分隔符
df = pd.read_csv(
    "claims.csv",
    encoding="utf-8",
    sep=",",
    dtype={"claim_id": str, "accident_year": int}
)

# 字段标准化
df = df.rename(columns={
    "赔案号": "claim_id",
    "事故年": "accident_year",
    "报案年": "report_year",
    "已付赔款": "paid",
    "已发生赔款": "incurred"
})

# 金额清洗:去除千分位并转为数值
df["paid"] = df["paid"].astype(str).str.replace(",", "").astype(float)
df["incurred"] = df["incurred"].astype(str).str.replace(",", "").astype(float)

# 构建增量三角形
triangle = df.groupby(["accident_year", "report_year"])["paid"].sum().unstack()
print(triangle)

三、案例/场景:三类数据源在三角形构建中的实际配合

假设某财产险公司需要评估2020—2024年车险赔付三角形。内部理赔系统提供逐案已付赔款与报案日期;再保部门提供成数分保合同下的摊回赔款明细;公开数据提供行业车险赔付趋势。实际操作中,精算人员首先从内部数据构建直接业务三角形,然后根据再保合同的分出比例,将直接赔款转换为净赔款三角形。若再保数据中摊回赔款存在滞后,则需在三角形中单独标注,避免高估净赔款的发展速度。

公开数据在此场景中的作用是校验:若公司2022年事故年的发展因子显著低于行业水平,需检查是否存在报案延迟或理赔加速政策变化。这种交叉验证能有效发现内部数据中的系统性偏差。

三类数据源在赔付三角形构建中的角色与流向 保险公司内部数据 理赔系统 · 精算评估 财务总账 逐案赔款 · 报案日期 已付/已发生赔款 再保数据 再保账单 · 合同结构 摊回赔款明细 分出比例 · 层号 合同ID · 摊回时点 公开数据 监管统计 · 行业协会 巨灾损失报告 行业赔付趋势 尾部参考基准 口径对齐 · 字段清洗 · 增量汇总 构建增量三角形 → 累计三角形 → 发展因子 赔付三角形与发展因子模型 用于准备金评估与趋势校验

四、误区/复盘:数据来源与格式解析中的常见陷阱

在实际项目中,数据来源与格式问题往往比建模方法本身更容易导致错误结论。以下为高频误区及复盘要点:

误区 表现 后果 修正建议
口径混用 事故年与报案年混用,直接与再保数据未对齐 三角形发展模式失真 建立统一时间口径字典,逐字段确认
编码与分隔符错误 CSV中文乱码、金额含千分位导致解析为字符串 数值汇总失败或金额错误 指定encoding与dtype,清洗金额字段
Excel隐藏行/合并单元格 读取时遗漏数据或重复计数 三角形总量偏差 取消合并、取消隐藏,或转为CSV再读取
再保摊回时点错配 摊回赔款计入错误进展年 净赔款发展因子异常 按合同与赔案建立映射,单独标注摊回时点
公开数据直接套用 行业口径与公司口径不一致 尾部因子高估或低估 仅作趋势参考,不直接替代公司数据

复盘提醒:每次建模前,务必输出一份数据质量报告,记录字段缺失率、异常值数量、口径变更点。这份报告不仅是审计留痕,更是后续发展因子异常时快速定位问题的关键依据。

综上,数据来源与格式解析并非简单的“读文件”步骤,而是决定赔付三角形可信度的基础工程。内部数据、再保数据与公开数据各有其不可替代的作用,只有在口径统一、字段清洗到位的前提下,后续的发展因子建模才具备可靠的数据基础。