构建宠物保险比较引擎:处理15家法国保险公司之间的可变保费

发布: (2026年4月24日 GMT+8 18:36)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译成简体中文的完整文本内容,我将为您进行翻译。

Introduction

自2022年以来,法国宠物保险增长了34%,这主要受到了兽医费用上升和COVID后宠物拥有率提升的推动。以编程方式比较产品简直是一场噩梦:15家主要保险公司,各自拥有基于物种、品种、年龄、地区和免赔额的定价表。下面概述了我如何构建一个能够处理这种复杂性的比较引擎。

数据来源

保险公司数据格式备注
SantévetJSON API(非官方,从其报价小部件抓取)实时报价
AssurimoPDF 费率表(每季度更新)需要 PDF 解析
Groupama按风险类别的静态表格简单查找
Dalma动态定价引擎(需要报价请求)需要 API 调用

归一化模式

统一的 JSON 架构覆盖约 80 % 的情况:

{
  "insurer_id": "santevet",
  "product_id": "sv-excellence",
  "species": "cat",
  "breed_risk_group": 2,
  "age_min_months": 12,
  "age_max_months": 84,
  "region": "IDF",
  "deductible_pct": 20,
  "ceiling_annual_eur": 3000,
  "monthly_premium_eur": 38.50,
  "reimbursement_basis": "actual_costs",
  "waiting_period_days": 30
}

剩余的 20 %(遗传性疾病、品种排除、补充模块)通过 exclusions 数组和 add_ons 对象进行捕获。

品种‑风险映射

法国保险公司使用不同的分类系统:

  • Santévet – 4 个风险组(1 = 低,4 = 高)
  • Assurimo – 按形态划分的 7 类
  • Allianz – 品种白名单 / 黑名单

我构建了一张交叉映射表,将 380 种犬类和 90 种猫类映射到一个标准化的 5 级风险尺度,以Fédération Cynologique Internationale(FCI)品种标准为锚点。

区域成本调整

兽医费用因地区差异显著(例如,农村克勒兹的咨询费为 €28,而巴黎第16区为 €68 16)。保险公司以不同方式调整保费:

  • 按部门代码
  • 按邮编前缀
  • 仅按城镇/农村标志

解决方案: 一个地理位置查找表,将 INSEE 市镇代码映射到风险层级,并根据 DREES 兽医护理费用调查每年更新。

报价检索架构

  1. 用户输入会触发对所有保险公司的并行报价请求。
  2. 每个请求的超时时间为 3 秒。
  3. 对于缺失的报价,将回退到缓存的费率数据(最多 30 天前),并在 UI 中以视觉方式标记。

实时引擎(覆盖 12 家提供实时报价的保险公司和 3 家使用缓存网格的保险公司)可在 . 进行测试。

新鲜度与置信度评分

法国法律要求保险公司在续约前 15 天通知投保人保费变动。这给比较网站带来了“新鲜度”问题。

每条保费记录的置信度评分:

$$ \text{score} = 1 - \frac{\text{days_since_update}}{90} $$

  • 超过 90 天的记录将从比较中排除,并标记为需要手动刷新。

实现技巧

  • 从 PDF 解析器开始 – 大多数保险公司仍以 PDF 形式发布费率,构建可靠的提取器花费的时间是预期的 3 倍。
  • 尽早记录排除模式 – 事后添加遗传疾病支持导致四个归一化器失效。
  • 构建保险公司变更检测 webhook – 与其轮询,不如订阅保险公司站点地图的变化。

监管考虑

  • 保费在法定通知期限内更新。
  • 所有显示的数据均包含来源和新鲜度指示。

Call to Action

你是否在受监管的行业构建过比较引擎?保险行业在准确性和合规性方面有独特的挑战。欢迎在评论中分享你的经验。

0 浏览
Back to Blog

相关文章

阅读更多 »