返回 Skill 列表
extension
分类: 数据与分析无需 API Key

预算深度分析

深度预算分析技能:对比"历史实际数据"与"预算表",逐科目校验数据、交叉验证逻辑,输出Excel分析表格+Word深度分析报告。 当用户上传包含预算表或经营报表的Excel文件,并要求做"预算分析"、"经营分析"、"对比分析"、"同期对比"、"收入成本利润分析"时,必须使用此技能。 同样适用于用户说"帮我分析这个报表"、"做一份财务分析报告"、"预算vs实际对比"、"利润率分析"、"费用分析"等场景。 即使用户只说"分析一下"、"看看这个数据"而附件是财务/预算类Excel,也应触发此技能。 输出物为:① 一份精美Excel对比分析表(含多工作表) ② 一份专业Word深度分析报告(含结论与建议)。

person作者: user_f6f07394hubcommunity

预算深度分析技能

基于真实案例提炼的端到端工作流,从读取原始Excel数据到输出专业Excel+Word分析报告,确保数据零错误、逻辑自洽。


一、工作流总览

1. 读取数据  →  2. 结构识别  →  3. 全量提取  →  4. 交叉验证  →  5. 深度分析  →  6. 双格式输出

每步都有明确的质量检查点,禁止跳过步骤。


二、Step 1:读取与结构识别

1.1 读取所有工作表

import pandas as pd

all_sheets = pd.read_excel('file.xlsx', sheet_name=None, header=None)
print("所有Sheet:", list(all_sheets.keys()))

1.2 识别"实际数据表"与"预算表"

常见命名模式:

  • 实际数据表:上期经营数据实际数据YYYY年经营数据历史数据
  • 预算表:预算表预算数据BudgetYYYY年预算

确认两张表后,检查列结构

s_actual = all_sheets['3、上期经营数据(这份开始做)']
s_budget = all_sheets['6、预算表']

# 标准结构:col0=科目, col1=科目定义, col2-13=1-12月, col14=年合计, col15=月平均
print("实际表Header:", s_actual.iloc[2].tolist())
print("预算表Header:", s_budget.iloc[2].tolist())

三、Step 2:全量数据提取(关键!)

2.1 标准行提取函数

def get_first_row(df, label):
    """按科目名称取第一条匹配行(收入/成本/毛利等存在同名多行,取第一行=收入行)"""
    for i, row in df.iterrows():
        if str(row.iloc[0]).strip() == label.strip():
            months = [float(row.iloc[j]) if pd.notna(row.iloc[j]) else 0.0 
                      for j in range(2, 14)]
            total = float(row.iloc[14]) if pd.notna(row.iloc[14]) else sum(months)
            avg   = float(row.iloc[15]) if pd.notna(row.iloc[15]) else total / 12
            return months, total, avg
    return [0]*12, 0.0, 0.0

⚠️ 重要:同一科目名称可能出现多次(如"销售客服-陈旎"在收入区和成本区均有),必须按科目定义(col1)或行顺序区分,不要混用。

2.2 必须提取的科目清单

收入类:

  • 主营业务收入(及各销售人员/渠道分项)

成本类:

  • 主营业务成本、物流费

毛利:

  • 主营业务毛利

费用各小计:

  • 管理费用(小计)、营业费用(小计)、营销费用(小计)、固定费用(小计)、财务费用(小计)

费用明细(管理费):

  • 总员工工资、固定工资、浮动工资、销售工资、办公人员工资、仓库人员工资
  • 员工特别奖励、员工餐费、员工福利、培训费、差旅费、咨询费、招待费、办公费、零星费用

费用明细(营业费):

  • 水电费、低值易耗品、包装纸箱、打包带

费用明细(营销费):

  • 平台使用费、平台抽佣、平台推广费、服务市场软件

费用明细(固定费):

  • 租金、入企辅导费、长期待摊费用、电梯维保费等

财务费用:

  • 开票费用、税费、刷卡费、利息支出

汇总:

  • 费用合计、利润

人员:

  • 总员工人数、各岗位人数

四、Step 3:交叉验证(禁止跳过!)

这是防止报告出错的核心步骤,所有验证差额必须 < 0.01:

# 验证1:收入-成本=毛利
assert abs((rev - cost) - gp) < 0.01, f"收入-成本≠毛利,差额={(rev-cost)-gp:.2f}"

# 验证2:毛利-费用=利润
assert abs((gp - fee) - profit) < 0.01, f"毛利-费用≠利润,差额={(gp-fee)-profit:.2f}"

# 验证3:各费用小计之和=费用合计
fee_sum = mgmt + biz + mkt + fix + fin
assert abs(fee_sum - fee) < 0.01, f"费用分项之和≠费用合计,差额={fee_sum-fee:.2f}"

# 验证4:各分项收入之和=总收入(适用时)
rev_sum = sum([v_chen, v_zhang, v_wang, v_pan, v_new, v_lin, v_other])
assert abs(rev_sum - rev) < 1, f"分项收入之和≠总收入,差额={rev_sum-rev:.2f}"

关键率指标必须从合计倒推计算,不得直接使用表内的率字段(表内率字段可能是月度累加非年度值):

cost_rate  = cost / rev           # 总成本率
gp_rate    = gp / rev             # 总毛利率
profit_rate = profit / rev        # 利润率
fee_rate   = fee / rev            # 费用率
mgmt_rate  = mgmt / rev           # 管理费用率
# ... 以此类推

五、Step 4:深度分析维度

完成数据提取和验证后,必须覆盖以下分析维度:

5.1 收入分析

  • 总收入增幅及月均对比
  • 各销售渠道/人员拆分:绝对额、占比、增幅、增长策略(定率/定额)
  • 收入集中度风险(主力占比超80%需预警)

5.2 成本与毛利分析

  • 总成本率变化(提升为正)
  • 毛利率变化(提升为正)
  • 物流费占收入比变化

5.3 费用结构分析

  • 各类费用小计:增减额、增减幅、占收入比、占总费用比
  • 逐科目分析变化原因
  • 标注异常项(增幅>50%或新增科目用⚠标识)
  • 识别驱动因素(如财务费用爆增必须溯源到具体科目)

5.4 利润分析

  • 利润绝对额增减
  • 利润率变化(精确到小数点后2位,用计算值而非表内值)
  • 费用增速 vs 收入增速对比(费用增速>收入增速=压力信号)

5.5 人员分析

  • 各岗位增减人数
  • 工资费用率变化(人效判断)

5.6 月度趋势

  • 旺淡季特征
  • 利润率最低月预警
  • 异常费用月识别

六、Step 5:Excel输出规范

必须包含的工作表(建议顺序):

  1. 核心指标对比 — 收入/成本/毛利/费用/利润的年度对比,含增减额、增减幅、占比变化
  2. 收入分解 — 按渠道/人员拆分,含占比和增长策略
  3. 费用明细 — 全科目费用对比,含说明列和风险标注
  4. 月度预算 — 12个月收入/成本/毛利/费用/利润及率指标

颜色约定:

  • 风险项/增幅>100%:背景 FFF0F0(浅红),字体 CC0000(红)
  • 正向项/下降项:字体 009900(绿)
  • 小计/汇总行:背景 E2EFDA(浅绿),加粗
  • 隔行:F0F7FF(极浅蓝)/ 白色交替
  • 关键汇总行标题:背景 1F4E79(深蓝),白色字体
  • 分段标题:背景 2E75B6(中蓝),白色字体

必须有★标注列:

对费用明细表,新增一列标注关键变化项("★"),帮助读者快速定位。


七、Step 6:Word报告结构规范

报告必须包含以下章节:

一、核心摘要
  1.1 正向亮点(✓绿色bullet)
  1.2 风险警示(⚠红色bullet)

二、核心经营指标对比(含表格)

三、收入预算分析
  3.1 收入分解(含表格)
  3.2 分析要点

四、成本预算分析
  4.1 主营业务成本
  4.2 毛利分解

五、费用预算深度分析(含全科目表格)
  5.1 最大风险项(单独章节)
  5.2 管理费用
  5.3 营销费用
  5.4 固定费用

六、人员规划分析

七、月度预算分析(含月度表格)
  7.1 季节性规律
  7.2 异常月份

八、综合结论与建议
  8.1 总体评价
  8.2 具体建议(按优先级排序)

报告写作原则:

  • 数据引用必须来自Step3验证后的数值,禁止使用未经验证的表内数字
  • 每个分析点必须有具体数字支撑,不写泛泛结论
  • 建议部分必须具体可行,不写"加强管理"之类空话
  • 用红色标注异常项

八、常见陷阱与解决方案

| 陷阱 | 现象 | 解决方案 | |------|------|---------| | 同名科目多行 | 销售客服-陈旎同时出现在收入区和成本区、毛利区 | 始终用get_first_row取第一行(收入行);成本/毛利区用第二/三次出现 | | 表内率字段≠年度率 | 年合计列的率字段是月度率累加,数值畸大(如总成本率显示9.28) | 所有率指标必须从合计倒推:rate = part / total | | 固定费用归零科目 | 入企辅导费从188,000变0,导致固定费用下降 | 明确说明"几乎100%由入企辅导费到期贡献",不能笼统说"规模效应" | | 新增科目比较 | 零星费用2025年为0,增幅无法计算 | 标注"新增",不显示增幅百分比 | | 报告数据与交叉验证不一致 | 报告写的数字和验证结果对不上 | 报告所有数字必须从验证通过后的变量直接引用,禁止手动输入 |


九、质量检查清单(输出前必过)

□ 所有交叉验证差额 < 0.01
□ 所有率指标用"合计倒推"而非表内字段
□ Excel中增减幅>50%的项目有颜色标注
□ Word报告每个数字可追溯到源数据
□ 财务费用暴增等异常项有专段分析
□ 建议部分有具体数字支撑
□ 月度分析识别了最低利润率月份
□ 文件已保存到 /mnt/user-data/outputs/
□ 已调用 present_files 展示给用户

十、参考文件

  • references/data-extraction-patterns.md — 常见Excel财务报表结构模式及取数代码示例
  • references/report-templates.md — Word报告段落模板与措辞规范