--- 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页结构化报告 - ✅ 双维度分析(分机构 + 分客户类别)