华安保险车险周报自动生成器(麦肯锡风格)。将周度车险数据(支持Excel/CSV/JSON/DuckDB)转化为12-13页董事会级经营分析报告。采用问题导向标题、16:9宽屏、四象限/气泡图可视化、深红#a02724配色。报告结构:经营概览、保费进度、变动成本、损失暴露、费用支出,每个章节分机构和分客户类别双维度分析。支持自定义阈值配置和保费计划。触发场景:用户上传车险周报数据文件(.xlsx/.csv/.json/.db),要求生成董事会汇报PPT。
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: insurance-weekly-report
description: 华安保险车险周报自动生成器(麦肯锡风格)。将周度车险数据(支持Excel/CSV/JSON/DuckDB)转化为12-13页董事会级经营分析报告。采用问题导向标题、16:9宽屏、四象限/气泡图可视化、深红#a02724配色。报告结构:经营概览、保费进度、变动成本、损失暴露、费用支出,每个章节分机构和分客户类别双维度分析。支持自定义阈值配置和保费计划。触发场景:用户上传车险周报数据文件(.xlsx/.csv/.json/.db),要求生成董事会汇报PPT。
---
# 华安保险车险周报自动生成器
## 核心目标
将周度车险保单数据(Excel)转化为**12-13页麦肯锡风格董事会经营分析报告**(PPT),采用问题导向标题、四象限/气泡图分析、16:9宽屏格式。
## 使用流程
### 快速开始(3步)
```bash
# 1. 确认配置文件(首次使用需检查)
ls references/thresholds.json # 阈值配置
ls references/plans.json # 保费计划(可选)
# 2. 上传数据文件
# 用户上传:车险保单变动成本清单.xlsx
# 3. 运行生成命令
cd scripts
python generate_report.py <数据文件> <周次> <机构名称> ../references
# 示例
python generate_report.py ../data.xlsx 49 四川分公司 ../references
```
### 数据文件要求
**支持格式:**
- `.xlsx` / `.xls` - Excel 文件(推荐)
- `.csv` - CSV 文本文件(UTF-8 编码)
- `.json` - JSON 格式(数组或对象)
- `.db` / `.duckdb` - DuckDB 数据库(需安装 duckdb)
**✨ v2.1新增:支持两种数据格式**
#### 格式1:汇总数据(中文字段)- 推荐格式
**必需字段:**
- `机构`:三级机构名称(如"高新机构")
- `客户类别`:客户分类(如"家用车"、"货车")
- `签单保费`:本周保费收入(元)
- `满期赔付率`:百分比值
- `费用率`:百分比值
- `变动成本率`:百分比值
- `已报告赔款`:已报案赔款金额(元)
- `出险率`:百分比值
- `案均赔款`:平均每案赔款(元)
#### 格式2:保单明细数据(英文字段)- 自动聚合
**✨ 新功能:直接上传明细数据,无需预处理!**
**必需字段:**
- `third_level_organization`:三级机构
- `customer_category_3`:客户类别
- `signed_premium_yuan`:签单保费(元)
- `matured_premium_yuan`:满期保费(元)
- `reported_claim_payment_yuan`:已报告赔款(元)
- `expense_amount_yuan`:费用金额(元)
- `policy_count`:保单件数
- `claim_case_count`:出险件数
**工作原理:**
1. 系统自动识别字段格式(英文/中文)
2. 如检测到明细数据,自动执行聚合操作:
- 分机构聚合
- 分客户类别聚合
- 分机构+客户类别聚合
3. 自动计算率值指标(赔付率、费用率等)
4. 输出标准格式,生成报告
**支持的聚合字段映射(可在 references/field_mappings.json 中自定义):**
- `third_level_organization` → `机构`
- `customer_category_3` → `客户类别`
- `signed_premium_yuan` → `签单保费`
- 等等...
**格式示例:**
_Excel/CSV 格式:_
```
机构,客户类别,签单保费,满期赔付率,费用率,变动成本率,已报告赔款,出险率,案均赔款
高新机构,家用车,1500000,68.5,18.2,86.7,1027500,22.3,5800
成华机构,货车,800000,75.2,19.5,94.7,601600,28.1,7200
```
_JSON 格式:_
```json
[
{
"机构": "高新机构",
"客户类别": "家用车",
"签单保费": 1500000,
"满期赔付率": 68.5,
"费用率": 18.2,
"变动成本率": 86.7,
"已报告赔款": 1027500,
"出险率": 22.3,
"案均赔款": 5800
}
]
```
_DuckDB 格式:_
- 默认读取表名 `insurance_data`
- 或读取数据库中的第一个表
- 表结构需包含上述必需字段
## 工作流程
### 完整报告生成流程
```
1. 数据准备
↓
用户上传数据文件
系统识别格式(Excel/CSV/JSON/DuckDB)
2. 数据处理
↓
├─ 汇总数据 → 直接使用
└─ 明细数据 → 自动聚合
├─ 分机构聚合
├─ 分客户类别聚合
└─ 计算率值指标
3. 数据分析
↓
├─ 应用阈值配置(references/thresholds.json)
├─ 读取保费计划(references/plans.json,可选)
├─ 识别问题机构
└─ 生成问题导向标题
4. 图表生成
↓
├─ 四象限散点图(变动成本 vs 签单保费)
├─ 气泡图(出险率 vs 案均赔款)
├─ 竖向条形图(分机构、分客户类别)
└─ 双轴柱线图(趋势分析,如有历史数据)
5. PPT生成
↓
├─ 使用麦肯锡模板(assets/mckinsey_board_template.pptx)
├─ 填充12-13页幻灯片
├─ 应用深红配色方案(#a02724)
└─ 导出最终报告
6. 输出交付
↓
生成文件:{机构名称}_周报_第{周次}周_麦肯锡版.pptx
```
### 决策逻辑
- **格式识别**:根据文件扩展名和字段名自动判断数据格式
- **问题识别**:基于阈值配置自动标识异常指标
- **机构排序**:问题机构优先展示,确保管理层关注重点
- **图表选择**:根据数据维度自动选择最合适的可视化方式
## 报告结构(12-13页)
### 封面
- 标题:{机构名称}车险第{周次}周经营分析
- 日期:自动生成当前日期
### 一、经营概览(2页)
**页1:整体年累计指标**
- 标题:问题导向(自动生成)
- 规则:基于阈值评价成本率、赔付率等核心指标
- 示例:"本周成本控制良好(85.3%),高新机构成本需关注"
- 内容:左侧大数字展示4个核心率值指标
- 签单保费(48pt粗体)
- 变动成本率(48pt + 颜色状态)
- 满期赔付率
- 费用率
**页2:分机构四象限图**
- 标题:概述年、周保费计划达成率与变动成本率的问题机构
- 图表:散点图(X轴=年计划达成率,Y轴=变动成本率)
- 基准线:X=100%,Y=90%(可配置)
- 四个象限:双达成、保费落后、成本失控、双落后
- 标注问题机构名称
### 二、保费进度分析(2页)
**页1:分机构**
- 标题:指出年计划和周计划未完成的问题机构
- 示例:"高新、成华机构年度保费进度落后,周计划完成不足"
- 表格:机构 | 年累计 | 当周值 | 年计划达成率 | 周计划达成率
- 未达标机构标红
**页2:分客户类别**
- 逻辑同页1,维度改为客户类别
### 三、变动成本分析(2页)
**页1:分机构四象限图**
- 标题:指出变动成本率偏高的问题机构
- 示例:"{机构1}、{机构2}变动成本率偏高,需加强成本管控"
- 图表:散点图(X轴=满期赔付率,Y轴=费用率)
- 基准线:X=70%,Y=18%(可配置)
- 气泡大小=签单保费占比
**页2:分客户类别**
- 逻辑同页1
### 四、损失暴露分析(4页)
**页1:分机构气泡图**
- 标题:指出年累计满期赔付率、当年及当周已报告赔款占比超保费占比的问题三级机构
- 图表:气泡图
- X轴:满期赔付率
- Y轴:当年已报告赔款占比
- 气泡大小:当周已报告赔款占比
- 公式:已报告赔款占比 = 本机构已报告赔款 / 各机构已报告赔款合计
**页2:分客户类别**
- 逻辑同页1
**页3:二级指标分机构四象限图**
- 标题:指出年累计满期出险率与案均赔款的问题机构
- 图表:散点图(X轴=出险率,Y轴=案均赔款)
- 基准线:X=20%,Y=6000元(可配置)
**页4:二级指标分客户类别**
- 逻辑同页3
### 五、费用支出分析(2页)
**页1:分机构四象限图**
- 标题:指出问题的三级机构
- 示例:"{机构1}费用率偏高且费用占比超保费占比"
- 图表:散点图(X轴=费用率,Y轴=费用占比超保费占比)
- 费用占比超保费占比 = 费用占比 - 保费占比
- 三级机构保费占比 = 三级机构签单保费 / 各三级机构签单保费之和
**页2:分客户类别**
- 逻辑同页1
### (可选)六、趋势分析
如用户上传多个周数据,自动添加趋势分析页:
- 核心指标折线图(保费、成本率、赔付率、费用率)
- 环比变化分析
## 问题导向标题生成规则
### 自动生成逻辑
基于 `references/thresholds.json` 中的阈值配置,自动识别问题并生成标题。
**识别规则:**
1. 变动成本率 > 95% → "成本偏高"
2. 变动成本率 < 85% → "成本控制良好"
3. 满期赔付率 > 75% → "赔付率偏高"
4. 费用率 > 20% → "费用率偏高"
5. 年计划达成率 < 95% → "保费进度落后"
6. 周计划达成率 < 90% → "周计划未达标"
**标题模板:**
```
格式:{整体评价},{问题机构1}、{问题机构2}机构{具体问题}
示例1:本周成本控制良好(85.3%),高新、成华机构保费进度落后
示例2:高新机构变动成本率偏高(98.2%),需加强成本管控
示例3:各机构经营状况稳健,费用控制良好
```
### 问题机构排序
当多个机构存在问题时,按以下优先级排序:
1. 同时存在多个问题的机构(如成本高且保费低)
2. 偏离阈值最严重的机构
3. 保费规模最大的机构(影响面大)
最多展示3个问题机构名称,避免标题过长。
## 麦肯锡风格要点
### 视觉规范
- **配色**:深红 #a02724(主色)+ 灰度 + 状态色(绿#00b050/黄#ffc000/红#c00000)
- **字体**:
- 标题:微软雅黑 Bold 24pt
- 核心数字:Arial Bold 48pt
- 正文:微软雅黑 14pt
- **布局**:
- 16:9 宽屏(13.333 x 7.5英寸)
- 页边距:0.8英寸(大量留白)
- 左对齐,左右分栏布局
- **装饰**:
- 仅顶部红色细线(0.015英寸高)
- 无Logo堆砌,无多余装饰
### 图表设计原则
1. **简洁至上**:单色或双色,无渐变
2. **数据标注**:直接在图上标注数值,不用图例
3. **四象限图**:
- 基准线使用虚线(灰色)
- 象限标签放在角落(小字号)
- 问题象限的点标红
4. **气泡图**:
- 气泡大小代表权重
- 问题点标红并标注机构名
## 配置文件说明
### references/thresholds.json
定义所有阈值和状态评价标准。用户可直接编辑此文件调整业务规则。
```json
{
"状态评价阈值": {
"变动成本率": {
"优秀": { "max": 80, "color": "#00b050", "label": "成本控制优秀" },
"达标": { "min": 80, "max": 95, "color": "#92d050" },
"预警": { "min": 95, "max": 100, "color": "#ffc000" },
"严重": { "min": 100, "color": "#c00000", "label": "成本失控" }
}
// ... 其他指标类似
},
"问题机构识别阈值": {
"年保费未达标": 95, // 百分比
"变动成本率超标": 95,
"满期赔付率超标": 75,
"费用率超标": 20
},
"四象限基准线": {
"保费达成率": 100, // 百分比
"变动成本率": 90,
"满期赔付率": 70,
"费用率": 18
}
}
```
### references/plans.json(可选)
保费计划数据,用于计算达成率。如无此文件,保费进度分析页将显示警告。
```json
{
"年度保费计划": {
"四川分公司": 500000000,
"高新机构": 80000000,
"成华机构": 60000000
// ... 其他机构
},
"周保费计划": {
"第49周": {
"四川分公司": 10000000,
"高新机构": 1600000
// ... 其他机构
}
}
}
```
**首次使用时,请用户提供此文件或告知无法计算达成率。**
## 错误处理
### 数据验证失败
- 缺少必需字段 → 列出缺失字段,终止运行
- 数据类型错误 → 提示具体行/列,要求修正
### 配置文件缺失
- 无 thresholds.json → 使用默认阈值,继续运行
- 无 plans.json → 警告无法计算达成率,跳过保费进度分析页
### 数据异常
- 所有成本率 > 100% → 警告数据可能有误,继续运行
- 机构名称不一致 → 自动合并相似名称(如"高新"和"高新机构")
## 调用示例
**场景1:基础用法(Excel格式)**
```
用户:我上传了第49周的车险数据,帮我生成董事会汇报PPT
Skill执行:
1. 检查 references/ 配置文件
2. 自动识别文件格式(.xlsx)
3. 运行:python scripts/generate_report.py data.xlsx 49 四川分公司 references/
4. 生成 12 页 PPT
5. 移动到 /mnt/user-data/outputs/
6. 返回下载链接
```
**场景2:CSV 格式**
```
用户:这是我从系统导出的 CSV 数据,生成周报
Skill执行:
1. 识别文件格式(.csv)
2. 自动检测编码(UTF-8)
3. 运行生成命令
4. 返回 PPT
```
**场景3:DuckDB 数据库**
```
用户:我的数据存在 DuckDB 里,生成第49周报告
Skill执行:
1. 检查 DuckDB 是否安装
2. 连接数据库,查找 insurance_data 表
3. 读取数据并生成报告
4. 返回 PPT
```
**场景4:JSON 格式(从 API 获取)**
```
用户:这是从 API 拿到的 JSON 数据,生成报告
Skill执行:
1. 解析 JSON 格式
2. 转换为 DataFrame
3. 生成报告
4. 返回 PPT
```
**场景5:缺少保费计划**
```
用户:生成周报
Skill执行:
1. 检测到无 plans.json
2. 提示:"检测到您尚未配置保费计划文件。保费进度分析页将无法计算达成率。是否提供 plans.json 或继续生成(跳过保费进度页)?"
3. 根据用户选择执行
```
**场景3:多周趋势分析**
```
用户:我上传了第48周和第49周的数据,生成带趋势分析的报告
Skill执行:
1. 检测到多周数据
2. 分别计算每周KPI
3. 生成基础12页 + 趋势分析页(第13页)
4. 返回下载链接
```
## 技术栈
- **数据处理**:pandas, numpy
- **PPT生成**:python-pptx
- **可视化**:matplotlib(嵌入PPT)
- **配置管理**:json
## KPI 计算公式
本技能的 KPI 计算逻辑完全对齐 **kpi-calculator** 技能,确保数据一致性。
### 核心 KPI(10个)
#### 核心比率指标(%)
1. **满期赔付率** = 已报告赔款 / 满期保费 × 100%
2. **费用率** = 费用金额 / 签单保费 × 100%
3. **变动成本率** = 满期赔付率 + 费用率
4. **满期率** = 满期保费 / 签单保费 × 100%
5. **满期边际贡献率** = 100% - 变动成本率
#### 结构与效率指标
6. **满期出险率** = (出险件数 / 保单件数) × 满期率
#### 单均质量指标(元)
7. **案均赔款** = 已报告赔款 / 出险件数
8. **单均保费** = 签单保费 / 保单件数
9. **单均费用** = 费用金额 / 保单件数
#### 核心金额指标(元)
10. **满期边际贡献额** = 满期保费 × 满期边际贡献率
### 与 kpi-calculator 的关系
- ✅ **公式完全一致**:所有 KPI 计算公式与 kpi-calculator 保持一致
- ✅ **自动计算**:无需单独运行 kpi-calculator
- ✅ **交叉验证**:可使用 kpi-calculator 验证计算准确性
- ✅ **单元测试**:通过 test_kpi_alignment.py 验证一致性
### 关键差异说明
**出险率**:
- 本技能计算"满期出险率" = (出险件数/保单件数) × 满期率
- 考虑了保单成熟度因素,更准确反映风险水平
- 与简单出险率不同,避免包含未满期保单的影响
**新增指标(v2.1.1)**:
- 满期率
- 满期边际贡献率
- 满期边际贡献额
- 单均保费
- 单均费用
## 版本信息
- **版本**:v2.1.1 (KPI Alignment Edition)
- **更新日期**:2025-12-09
- **维护者**:Alongor
- **设计风格**:McKinsey & Company
- **符合标准**:Anthropic Skills Best Practices
**核心改进(v2.1.1):**
- ✅ **KPI 计算对齐 kpi-calculator**(公式完全一致)
- ✅ 新增 5 个核心 KPI(满期率、满期边际贡献率等)
- ✅ 修正出险率为满期出险率
- ✅ 增强公式解析器(支持括号运算)
- ✅ 单元测试验证(test_kpi_alignment.py)
- ✅ 交叉验证通过(误差 < 0.05%)
**核心改进(v2.1.0):**
- ✅ **自动数据格式识别和转换**(无需预处理)
- ✅ 支持保单明细数据自动聚合
- ✅ 字段映射配置化(references/field_mappings.json)
- ✅ 模块化数据处理层(data_transformer.py)
- ✅ 向后兼容(支持原有汇总数据格式)
- ✅ 完全符合 Skills 最佳实践
**继承特性(v2.0.0):**
- ✅ 单一脚本入口(generate_report.py)
- ✅ 配置文件驱动(用户可编辑阈值和计划)
- ✅ 问题导向标题自动生成
- ✅ 严格遵循麦肯锡视觉规范
- ✅ 12-13页结构化报告
- ✅ 双维度分析(分机构 + 分客户类别)
No comments yet. Be the first to comment!