华安保险车险周报HTML可视化生成器
核心目标
将周度车险保单数据转化为交互式网页仪表盘,采用标签页切换和下钻分析,支持机构/客户类别双维度分析,麦肯锡风格设计。
使用流程
快速开始(3步)
1. 确认配置文件(首次使用需检查)
ls references/thresholds.json # 阈值配置 ls references/plans.json # 保费计划(可选)
2. 上传数据文件
用户上传:车险保单变动成本清单.xlsx
3. 运行生成命令
cd scripts python generate_html_dashboard.py <数据文件> <周次> <机构名称> ../references
示例
python generate_html_dashboard.py ../data.xlsx 49 四川分公司 ../references
数据文件要求
支持格式:
-
.xlsx / .xls
-
Excel 文件(推荐)
-
.csv
-
CSV 文本文件(UTF-8 编码)
-
.json
-
JSON 格式(数组或对象)
-
.db / .duckdb
-
DuckDB 数据库
必需字段(与 insurance-weekly-report 一致):
-
机构 :三级机构名称
-
客户类别 :客户分类
-
签单保费 :本周保费收入(元)
-
满期赔付率 :百分比值
-
费用率 :百分比值
-
变动成本率 :百分比值
-
已报告赔款 :已报案赔款金额(元)
-
出险率 :百分比值
-
案均赔款 :平均每案赔款(元)
工作流程
完整网页生成流程
-
数据准备 ↓ 用户上传数据文件 系统识别格式(Excel/CSV/JSON/DuckDB)
-
数据处理 ↓ ├─ 读取数据 ├─ 数据验证 ├─ 应用阈值配置 └─ 计算聚合指标 ├─ 分机构聚合 └─ 分客户类别聚合
-
图表生成 ↓ 为5个标签页生成ECharts配置 ├─ 经营概览:KPI卡片 + 四象限散点图 ├─ 保费进度:条形图 + 计划对比图 ├─ 变动成本:条形图 + 趋势图 ├─ 损失暴露:气泡图 + 明细表 └─ 费用支出:条形图 + 费用结构图
-
HTML生成 ↓ ├─ 使用模板(assets/dashboard_template.html) ├─ 嵌入数据和图表配置 ├─ 配置交互逻辑 │ ├─ 标签页切换 │ ├─ 下钻分析 │ └─ 响应式布局 └─ 应用麦肯锡配色(#a02724)
-
交互功能 ↓ ├─ 标签页切换(5个Tab) ├─ 下钻分析 │ ├─ 点击机构 → 查看该机构明细 │ └─ 点击客户类别 → 查看该类别明细 └─ 图表联动 └─ 选中数据点 → 高亮关联数据
-
输出交付 ↓ 生成文件:{机构名称}_周报_第{周次}周_仪表盘.html 特点: ├─ 单文件,无外部依赖 ├─ 可直接用浏览器打开 └─ 支持导出图片
决策逻辑
-
格式识别:自动判断数据文件类型和结构
-
图表选择:根据数据特点选择最合适的可视化方式
-
交互设计:支持多层级下钻,便于深入分析
-
配色方案:统一使用麦肯锡深红色系,保持专业性
网页结构设计
页面布局
┌─────────────────────────────────────────────────────────┐ │ 华安保险车险第XX周经营分析 | 四川分公司 | 2025-XX-XX │ ├─────────────────────────────────────────────────────────┤ │ [经营概览] [保费进度] [变动成本] [损失暴露] [费用支出] │ ├─────────────────────────────────────────────────────────┤ │ │ │ 当前标签页内容区域 │ │ - 核心指标卡片 │ │ - 交互式图表(ECharts) │ │ - 分机构/分客户类别切换按钮 │ │ │ └─────────────────────────────────────────────────────────┘
标签页内容
Tab 1: 经营概览
核心指标卡片(顶部):
-
签单保费(大数字,48px)
-
变动成本率(带状态色)
-
满期赔付率
-
费用率
交互图表:
-
四象限散点图:X轴=年计划达成率,Y轴=变动成本率
-
气泡大小=签单保费
-
点击数据点可下钻查看详情
下钻功能:
-
默认显示:分机构视图
-
切换按钮:[按机构] [按客户类别]
Tab 2: 保费进度
表格展示:
-
列:机构/客户类别 | 年累计 | 当周值 | 年计划达成率 | 周计划达成率
-
未达标行标红高亮
可视化图表:
-
柱状图:年计划达成率对比
-
进度条:周计划完成情况
下钻功能:
- [按机构] [按客户类别] 切换
Tab 3: 变动成本
四象限散点图:
-
X轴:满期赔付率
-
Y轴:费用率
-
气泡大小:签单保费占比
-
基准线:X=70%, Y=18%(可配置)
问题机构标注:
-
自动标注高成本机构名称
-
悬停显示详细数据
下钻功能:
- [按机构] [按客户类别] 切换
Tab 4: 损失暴露
子标签页:
- [气泡图分析] [二级指标分析]
气泡图(默认):
-
X轴:满期赔付率
-
Y轴:当年已报告赔款占比
-
气泡大小:当周已报告赔款占比
二级指标(四象限):
-
X轴:出险率
-
Y轴:案均赔款
-
基准线可配置
下钻功能:
- [按机构] [按客户类别] 切换
Tab 5: 费用支出
四象限散点图:
-
X轴:费用率
-
Y轴:费用占比超保费占比
-
标注问题机构
费用趋势图(可选):
- 折线图:费用率随时间变化
下钻功能:
- [按机构] [按客户类别] 切换
交互功能设计
标签页切换
-
点击顶部标签切换内容区域
-
保持当前下钻状态(机构/客户类别)
-
URL哈希锚点支持(可书签分享)
下钻分析
-
每个标签页提供 [按机构] [按客户类别] 切换按钮
-
切换时图表自动重新渲染
-
数据实时计算聚合
图表交互
-
鼠标悬停:显示详细数据提示框
-
点击数据点:高亮显示,展开详情面板
-
缩放平移:ECharts 原生支持
-
导出功能:图表右键菜单导出为图片
响应式设计
-
桌面端:1920x1080 最佳
-
平板端:自动调整布局
-
移动端:堆叠式布局,垂直滚动
麦肯锡风格规范
配色方案
--primary-red: #a02724; /* 主色-华安红 / --success-green: #00b050; / 达标-绿 / --warning-yellow: #ffc000; / 预警-黄 / --danger-red: #c00000; / 严重-红 / --gray-dark: #333333; / 文本主色 / --gray-medium: #666666; / 文本次要 / --gray-light: #cccccc; / 边框/分隔线 / --background: #f5f5f5; / 页面背景 */
字体规范
-
标题:微软雅黑 Bold 24px
-
核心数字:Arial Bold 48px
-
正文:微软雅黑 14px
-
图表标签:12px
图表设计
-
配色:单色或双色,避免渐变
-
基准线:虚线样式,灰色
-
数据标注:直接标注,不使用图例
-
气泡图:透明度70%,边框实线
配置文件说明
references/thresholds.json
与 insurance-weekly-report 共享,定义所有阈值。
references/plans.json(可选)
保费计划数据,用于计算达成率。
references/field_mappings.json(可选)
字段映射配置,支持自定义字段名称。
技术栈
-
前端框架:纯 HTML5 + CSS3 + JavaScript(无依赖)
-
图表库:ECharts 5.x(CDN引入)
-
数据处理:Python pandas + numpy
-
模板引擎:Jinja2(生成HTML)
-
样式框架:自定义CSS(麦肯锡风格)
生成流程
Step 1: 数据处理
-
读取数据文件(Excel/CSV/JSON/DuckDB)
-
数据验证和清洗
-
计算聚合指标(分机构、分客户类别)
-
生成JSON数据文件
Step 2: HTML生成
-
加载HTML模板(assets/templates/dashboard.html)
-
使用Jinja2渲染数据
-
嵌入JSON数据到JavaScript
-
生成单文件HTML(自包含)
Step 3: 输出
-
保存HTML文件到输出目录
-
可选:生成配套资源文件夹(图片/CSS分离)
-
返回文件路径供用户下载
输出文件结构
选项1:单文件HTML(推荐)
车险第49周经营分析_四川分公司_20251209.html # 自包含,双击即可打开
选项2:分离式结构
dashboard/ ├── index.html # 主页面 ├── data/ │ └── data.json # 数据文件 ├── css/ │ └── styles.css # 样式表 └── js/ └── charts.js # 图表逻辑
KPI 计算公式
与 insurance-weekly-report 和 kpi-calculator 完全一致:
核心 KPI
-
满期赔付率 = 已报告赔款 / 满期保费 × 100%
-
费用率 = 费用金额 / 签单保费 × 100%
-
变动成本率 = 满期赔付率 + 费用率
-
满期出险率 = (出险件数 / 保单件数) × 满期率
-
案均赔款 = 已报告赔款 / 出险件数
占比指标
-
保费占比 = 三级机构签单保费 / 各机构签单保费之和
-
费用占比 = 三级机构费用 / 各机构费用之和
-
费用占比超保费占比 = 费用占比 - 保费占比
调用示例
场景1:基础用法
用户:帮我把第49周的车险数据生成一个可视化网页
Skill执行:
- 检查 references/ 配置文件
- 识别文件格式(.xlsx)
- 运行:python scripts/generate_html_dashboard.py data.xlsx 49 四川分公司 references/
- 生成单文件HTML
- 返回文件路径
场景2:交互式仪表盘
用户:我需要一个可以下钻分析的HTML报告
Skill执行:
- 确认用户需要交互功能
- 生成包含标签切换和下钻功能的HTML
- 测试所有交互功能
- 返回文件
场景3:多周对比
用户:生成第48周和第49周的对比网页
Skill执行:
- 处理两周数据
- 生成趋势对比图表
- 添加周度对比标签页
- 返回HTML
版本信息
-
版本:v1.0.0
-
创建日期:2025-12-09
-
维护者:Alongor
-
设计风格:McKinsey & Company
-
依赖技能:insurance-weekly-report (数据处理逻辑)
核心特性
✅ 标签页切换 - 5个核心分析维度 ✅ 下钻分析 - 机构/客户类别双维度 ✅ 交互式图表 - ECharts 支持 ✅ 响应式布局 - 适配多设备 ✅ 麦肯锡风格 - 专业视觉设计 ✅ 单文件输出 - 无需服务器部署 ✅ 数据隐私 - 本地运行,无外部请求