本文简介:
标准成本月月在算,月底一比实际成本却差出一大截——说不清差在哪,降本就无从下手。
这篇文章借某消费级激光雕刻机厂商的真实需求(数据已脱敏、模拟打样),把一条完整路径讲透:基准成本怎么定、差异怎么拆成价格差与用量差、怎么归因到五类原因、多工单怎么按完工数量加权,以及瀑布图怎么画才不失真。
文内嵌了一套可以直接点击的差异分析看板 Demo:瀑布图、差异归因、工单下钻全部联动;文末附 Power BI 数据接入方法、常见坑清单与 FAQ。
核心结论速览:一张表讲清口径与链路
先把整套方法的口径浓缩成一张表,后文逐条展开:
| 环节 | 口径 / 公式 |
|---|---|
| 标准成本 | 标准 BOM 用量 × 完工数量 × 基准月最新采购单价 |
| 实际成本 | 实际用量 × 当月实际采购单价 |
| 差异 | 实际 − 标准;正 = 超支(红),负 = 节约(绿) |
| 差异拆解 | 行差异 = 价格差异 + 用量差异(恒等拆解,两类正交) |
| 价格差异 | (实际单价 − 标准单价)× 实际用量 |
| 用量差异 | 行差异 − 价格差异 |
| 差异归因 | 价格 / 用量 / 损耗 / 替代料 / 其他五类,每行一个主因 |
| 多工单加权 | 加权单位成本 = Σ 工单实际成本 ÷ Σ 完工数量 |
| 数据链路 | Power BI 建模 → 导出扁平一维表 → 看板整文件替换 data.js |
说明:本文所有金额均为脱敏模拟打样数据(3 个期间 × 30 张工单、材料明细 925 行,行业设定为消费级激光雕刻机),口径与真实交付完全一致;方法可以直接复用到你家数据上。
客户是谁?这个案例要解决什么痛点?
答案先行:一位消费级激光雕刻机厂商的成本会计(也是我们 Excel BI 课的学员)在一次一对一陪跑里提了四条需求——算基准材料成本、与实际比较得差异、按原因归类统计、下钻到工单,并点名要瀑布图呈现。他原话还有一句很关键:「有的期间有两个以上的工单,所以实际成本要按照完工数量加权。」
把四条需求(外加瀑布图与加权两个形态要求)结构化之后,其实是六个动作:
| # | 需求(客户原话归纳) | 背后的管理动作 |
|---|---|---|
| 1 | 按标准 BOM 与 8 月最新单价测算基准材料成本 | 定基准:没基准就没差异 |
| 2 | 与历史各期实际成本比较,得出差异金额 | 量化问题:差多少 |
| 3 | 统计各类差异原因导致的差异金额 | 归因:差在哪、谁的事 |
| 4 | 下钻到工单的差异 | 落行动:到单、到料 |
| 5 | 做成瀑布图(标准 → 各项差异 → 实际) | 汇报:一眼看懂红绿构成 |
| 6 | 多工单期间按完工数量加权 | 定口径:别被小批量单带偏 |
痛点在哪?ERP 里其实既有标准成本也有实际成本,但月底报表上它们往往只是两行孤立的数字——差异是多少、为什么差、差在哪张单哪种料,全都说不清。说不清,降本会议就只能靠猜。
BOM 标准成本与实际成本的差异,到底怎么算?
答案先行:标准 = 标准 BOM 用量 × 完工数量 × 基准月最新采购单价;实际 = 实际用量 × 当月实际采购单价;两者相减就是差异。关键是把每一行差异恒等拆成价格差异和用量差异:
- 价格差异 =(实际单价 − 标准单价)× 实际用量
- 用量差异 = 行差异 − 价格差异
为什么非要这么拆?因为这两类差异天然对应两个责任部门:价格差异找采购(或市场行情),用量差异找生产(工艺与车间管控)。拆开了,差异才能落到人头上;不拆,就永远是一笔糊涂账。
还有一个容易被忽略的细节:基准单价用基准月(本例为 8 月)最新采购价,而不是账面年初价——料价月月变,基准不同,差异的含义完全不同。基准月换版时只需改一处参数,全链路差异自动重算。
差异怎么归因到五类原因,才能落到降本动作上?
答案先行:每行材料明细给一个「主因」,归入五类之一——价格差异、用量差异、损耗差异、替代料差异、其他差异(返工补料等);工单的主因取金额绝对值最大的一类。这样工单差异 = 明细差异合计 = 五类原因合计,三条数永远对得上。
| 差异类别 | 触发情形 | 通常的责任归属 |
|---|---|---|
| 价格差异 | 采购单价相对基准月有实质行情变动 | 采购 / 市场行情 |
| 用量差异 | 实际用量偏离标准用量(超耗或省料) | 生产 / 工艺 |
| 损耗差异 | 超标准损耗 | 生产管控 |
| 替代料差异 | 用了替代料 | 技术 / 缺料应对 |
| 其他差异 | 返工补料等例外情形 | 质量 / 计划 |
归因做得对不对,靠一个硬校验兜底:任意工单,五类原因金额加总必须等于该工单差异(容差 ±0.02 元)。对不上,就是归因规则有漏项——这比「大概齐」的 Excel 台账可信得多。
打样数据跑出来的全貌长这样(脱敏模拟):
| 期间 | 净差异率 | 差异额 | 价格差异 | 用量差异 | 损耗差异 | 替代料差异 | 其他差异 |
|---|---|---|---|---|---|---|---|
| 2026-06 | +6.00% | +108.4万 | +135.7万(红) | −74.5万(绿) | +0.3万 | +1.3万 | +45.6万 |
| 2026-07 | −5.00% | −92.7万 | −77.5万(绿) | −55.4万(绿) | −0.2万 | +5.1万 | +35.3万 |
| 2026-08 | +7.00% | +134.1万 | +119.2万(红) | −52.3万(绿) | +0.3万 | +10.7万 | +56.2万 |
| 全期 | +2.69% | +149.8万 | +177.4万 | −182.2万 | +0.4万 | +17.1万 | +137.1万 |
注意 6 月和 8 月的形态:价格差异大幅超支(原料上行),用量差异却是节约的(工艺改善省料)——两类差异红绿对冲。只看「差异总额 +2.69%」的人根本看不到这一层;看到了,才知道该去稳料价还是去推工艺。
同一期间有多个工单,单位成本怎么加权才不失真?
答案先行:按完工数量加权——加权单位成本 = Σ 工单实际成本 ÷ Σ 完工数量。简单平均会被小批量试产单严重带偏。
举个例子(数字为脱敏模拟):
| 工单 | 完工数量 | 实际材料成本 | 单位成本 |
|---|---|---|---|
| 量产单 WO-0801 | 950 台 | 171.0 万 | 1,800 元/台 |
| 试产单 WO-T01 | 10 台 | 2.4 万 | 2,400 元/台 |
- 简单平均:(1,800 + 2,400)÷ 2 = 2,100 元/台 ❌
- 按完工数量加权:(1,710,000 + 24,000)÷ 960 = 1,806.25 元/台 ✅
试产单用料浪费大、小批量采购溢价高,单位成本天然偏高——这是真实制造业的常态(打样数据里每期放了 3 张试产单,用料浪费 45%~85%、采购溢价 10%~16%,专门用来检验这个口径)。加权平均才反映「这个月平均每台真正花了多少料钱」,也是和标准单位成本对比的正确基准。
瀑布图为什么不能截断断轴?被客户打回的三次迭代
答案先行:断轴会让首末两根柱悬浮在半空、人为夸大差异的视觉量级——第一版就被客户一眼打回。正确的做法是:0 起点的标准财务瀑布 + 一个「只看差异」的放大小视图,两全解决。
这个案例前后迭代了三轮,每轮都是真实反馈,值得原样讲给你听。
第一轮:断轴版被否。 为了让 5,577.9 万和 5,727.7 万两根大柱之间的「差异」看起来明显,第一版把锚柱等高截断、加了断轴符,让两柱顶部高差等于总差异。客户看版直接否了:起点和终点悬在半空,不是标准瀑布。回退为纵轴从 0 开始的完整瀑布——首根「标准成本」和末根「实际成本」都立在零刻度线上,中间五类差异是浮动桥,虚线标示每级衔接水平。

第二轮:差异柱太小看不清。 0 起点版本诚实了,但新问题来了:全期差异只有 +2.69%,中间五根差异柱小到几乎看不见。这次没有走截断轴的回头路,而是加了一个「只看差异 · 放大楼梯」视图:把「标准成本 = 0」作为起点重画五步台阶,末柱「合计差异」同样立于零刻度线,纵轴只覆盖差异区间,楼梯占满整个图幅。右上角一键切换:完整视图看量级、放大视图读构成。

第三轮:金额读不动。 KPI 上一排「¥18,456,225」没人愿意数零的个数。改法:看板上成本总额一律以万元显示(2 位小数;表格里不足 1 万的金额自动加到 4 位小数,避免出现假 0.00),单位成本以元/台显示。底层数据文件和数据集里一律还是元,换算只发生在展示层——这样 Power BI 替换数据时不用预除以 1 万,口径不乱。

三轮迭代下来就一句话:图表可以放大问题,但不能伪造量级。 瀑布图是拿去开降本会的,第一眼不可信,后面就全白做了。
看板最终长什么样?(文内可直接点)
答案先行:最终版是一个纯展示层的 HTML 看板——顶部 5 个 KPI,中间「差异瀑布 + 差异归因」双图(瀑布支持完整/放大双视图切换),下方工单下钻表和材料明细表,点击瀑布图的任意差异柱或归因条,下方工单与明细直接联动。
下面的就是活的 Demo(脱敏模拟数据),不是截图——你可以直接点:
页面结构从上到下:
| 区块 | 内容 | 交互 |
|---|---|---|
| 期间切换 | 全期 / 2026-06 / 07 / 08 | 一键切期,KPI 与全部图表联动 |
| KPI 行 | 标准材料成本、实际材料成本、差异金额、差异率、加权单位成本 | 成本总额万元、单位成本元/台 |
| 差异瀑布 | 完整视图(0 起点)+ 只看差异(放大楼梯)双视图 | 点击差异柱 → 联动下方表格 |
| 差异归因 | 五类原因的金额贡献 | 点击原因条 → 聚焦该类差异 |
| 工单下钻 | 期间 × 工单号 × 机型 × 数量 × 成本 × 差异率 × 主因 | 点击工单行 → 展开材料明细 |
| 材料明细 | 工单 × 材料 × 标准 / 实际 / 差异 | 从瀑布、归因、工单三个入口联动 |
数据从哪来?Power BI 算好后怎么接进看板?
答案先行:Power BI 负责算,看板只负责展示。 展示层零写死、只吃一份数据文件;Power BI 端建好模型和度量值后导出扁平一维表,按约定格式整文件替换,页面脚本一行都不用改。
| 层 | 内容 |
|---|---|
| 事实表 | 工单 × 材料明细(一行 = 一张工单的一种材料,含标准 / 实际用量与单价) |
| 维度 | BOM 主数据、材料价格(按月)、差异原因映射 |
| 度量值 | 标准成本、实际成本、价格差异、用量差异、加权单位成本等 |
接入只要四步:
- 在 Power BI 里建好模型与度量值,先在矩阵里核对一期数字;
- 导出扁平一维表(列结构 = 工单 × 材料明细),或直接聚合到工单层;
- 按数据文件的 schema 说明拼装,把「模拟数据」标记改为正式(看板上的「模拟数据打样」徽标会自动消失);
- 整文件替换,刷新页面,核对瀑布图首尾柱与 Power BI 数字一致。
三条必须满足的校验:工单差异 = 明细差异合计 = 五类原因合计(尾差容许 ±0.02 元)。这三条对上了,从 Power BI 到看板的整条链路就是闭环的。
这个「算显分离」的分工还有个好处:客户自己在 Power BI 里建模(已购课程,陪跑教到会),展示模板由我们交付——同一套模板换一份数据文件,就是下一个客户的新看板。
上手这套方法,最容易踩的坑有哪些?
答案先行:五个坑,每一个都在这个案例里真实出现过——断轴失真、归因对不上账、多工单简单平均、单位混乱、只看总额不看构成。
| 坑 | 后果 | 正确做法 |
|---|---|---|
| 用截断轴让差异”看起来大” | 首末柱悬浮,图表失真,汇报当场失去信任 | 0 起点完整瀑布 + 「只看差异」放大小视图 |
| 差异原因随手填 | 原因合计 ≠ 工单差异,归因表没人敢用 | 每行一个主因 + 三条校验恒等式兜底 |
| 多工单期间简单平均 | 单位成本被试产单严重带偏 | 按完工数量加权:Σ 实际 ÷ Σ 完工数量 |
| 元 / 万元单位混用 | 汇报口径混乱,Power BI 接数出错 | 底层数据一律元,万元换算只在展示层 |
| 只看差异总额 | 错过「价格超支 + 用量节约」这类红绿对冲 | 瀑布 + 归因联动,看到构成才算看懂 |
另有一个瀑布图的正常形态别当 bug:中间台阶的累计值允许短暂冲过最终实际值(比如先被「其他差异」推高、再被用量节约拉回来)——这是瀑布图的数学性质,不是数据错了。
FAQ:关于 BOM 成本差异分析,读者最常问的五个问题
BOM 标准成本与实际成本的差异怎么计算?
标准成本 = 标准 BOM 用量 × 完工数量 × 基准月最新采购单价;实际成本 = 实际用量 × 当月实际采购单价;差异 = 实际 − 标准,正值超支、负值节约。每一行明细的差异再恒等拆成价格差异与用量差异,便于归因到部门。
价格差异和用量差异怎么拆分?
价格差异 =(实际单价 − 标准单价)× 实际用量;用量差异 = 行差异 − 价格差异。这样拆完两类差异正交:价格差异归采购(行情与议价),用量差异归生产(工艺与管控),责任清晰。
同一期间有多个工单,实际单位成本怎么算?
按完工数量加权:加权单位成本 = Σ 工单实际成本 ÷ Σ 完工数量。不要用各工单单位成本的简单平均——小批量试产单会把平均值明显带偏。
没有 Power BI,用 Excel 能做这套差异分析吗?
能。路径是 Power Query 清洗工单与 BOM 数据 → Power Pivot 建模写度量值 → 透视表或数据模型出数 → 导出后套用同结构看板。Excel BI 的黄金组合足够支撑月度颗粒度的差异分析;等数据量或自动化要求上来,再平滑迁到 Power BI。
这套看板的数据更新麻烦吗?
不麻烦。看板是纯展示层,只吃一份数据文件;Power BI 算好后按 schema 整文件替换,刷新页面即可,页面与脚本无需任何改动。月度更新就是「重算 → 替换 → 核对三条校验」三步。
作者与更新说明
我是汪斌(老汪),制造业财务出身,专注成本核算、业财融合与 Excel BI / Power BI 落地,运营「老汪洞察」。本文来自一个真实的一对一陪跑案例,客户与产品信息已脱敏;文中金额均为脱敏模拟打样数据,口径与真实交付一致。更新于 2026-09。
汪斌带你开公司 | 老汪洞察 | 小微之家会计服务 · www.accunion.cn
想让你家的差异分析也落地?
如果你所在工厂也说不清「标准成本和实际成本差在哪」,可以像这位客户一样从一份需求清单开始:一对一陪跑覆盖需求梳理 → 口径确认 → Power BI 建模 → 看板交付。想自己动手做的,Excel BI 财务建模实战课从 Power Query 清洗一路讲到看板发布。

添加老汪微信(xiaoweihome_ah),聊聊你工厂的成本差异分析











暂无评论内容