分析 P2 已上线 L0

本量利与盈亏平衡

算单位边际贡献与盈亏平衡销量,售价为 0 或边际贡献为负就明说无解,固定成本缺失不按 0 处理

技能 slugcvp-analysis
所属栏目分析 成本 / 预算 / 经营
交付阶段P2 P2 长尾 · 长尾与进阶分析,按 P0/P1 数据裁剪
版权© 2026 律令科技(深圳)有限公司开发 · 财友云(caiyouyun.cn)发布
这个包已上线。复制到本地即可离线运行;正文与用法以下方随包 SKILL.md 为准。

技能正文(随包 SKILL.md)

> **本地运行,零网络、免 API Key、数据不出电脑。**
> 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。

# 本量利与盈亏平衡

一句话问「这台机器卖到多少件才不亏」,得先有单位边际贡献、固定成本,再算平衡点。
但这条路上有三个坑,踩了就会得到看似合理、实际错误的数字:

- **售价填 0 或空缺**:边际贡献率的分母为 0,平衡点算不出,硬算只会得到一个荒唐的负数
- **变动成本高于售价**:每多卖一件亏得更多,平衡点根本不存在——不是「算出来是负数」,是「无解」
- **固定成本没填**:按 0 处理能算出一个漂亮的平衡点,但那个点毫无意义

本包的处理:**能算的给出算式与数字,不能算的写清楚为什么**,并且每一行都带
「通过 / 部分不可计算 / 不可计算」状态。

## 输入 / 输出

### 输入:1 个本量利表(.xlsx / .csv)

| 列 | 必须 | 说明 |
|---|---|---|
| 编号 / 产品 | 建议 | 用来给每行取名;缺省用 Excel 行号 |
| 销量 | 建议 | 缺了只影响「边际贡献合计」,不影响平衡点 |
| 单价(单位售价) | **必须** | 缺了整行排除;为负整行排除 |
| 单位变动成本 | **必须** | 缺了单位边际贡献算不出 |
| 固定成本 | **必须** | 缺了平衡点算不出;不按 0 处理 |
| 目标利润 | 可选 | 缺了「目标利润销量」按盈亏平衡销量列示,并注明 |

表头不认得时本包会直接拒绝并告诉你缺哪一列,不会替你猜。

### 输出:四件套(进 `_out/`,源文件一个字节都不动)

| 文件 | 内容 |
|---|---|
| `cvp_主表.csv` | 每行:单位边际贡献 / 边际贡献率 / 边际贡献合计 / 盈亏平衡销量 / 平衡销售额 / 目标利润销量 + 状态 + 原因 |
| `cvp_异常表.csv` | 被排除的行 + 高风险复核项(带风险等级、原始行号) |
| `cvp_校验表.csv` | 计算口径、合计口径、勾稽差异、金额守恒 |
| `fin-log.jsonl` | 处理日志(追加) |

## 用法

```bash
PY="<python 3.8+ 路径>"   # 纯标准库,无需 pip install
"$PY" <skill目录>/scripts/cvp.py 本量利.xlsx --execute
```

常用参数:

```bash
# 指定输出目录 + 记录操作人
"$PY" cvp.py 本量利.xlsx --out-dir _out --operator 张三 --execute

# 先预览、确认无误再落盘
"$PY" cvp.py 本量利.xlsx
```

**默认不写盘**——不加 `--execute` 只打印预览,确认无误后加 `--execute` 才真正落盘。

## 真实输出样例

实测(自造的本量利表,含 8 种边界情形):

```
方案:cvp_本量利_好表.xlsx(9 行数据,8 列)

--- 本量利结果(主表)---
  编号                 销量         单价       单位边际贡献        边际贡献率         盈亏平衡销量         目标利润销量
  A             5000.00      50.00        20.00       40.00%        1000.00        5000.00
  B              500.00     120.00        50.00       41.67%         300.00         500.00
  C              200.00       0.00       -20.00                          无解              —
  D               80.00      40.00       -15.00      -37.50%             无解              —
  E              300.00      60.00        15.00       25.00%             无解              —
  G              400.00      90.00        40.00       44.44%           0.00         400.00
  H              250.00     100.00        40.00       40.00%        -125.00         250.00
  I                          80.00        30.00       37.50%         800.00        1600.00

  主表 8 行,其中「部分不可计算 / 不可计算」4 行

--- 异常表(8 条)---
  [高] C          单价为 0:卖一件收不回变动成本,盈亏平衡无解
  [高] C          变动成本高于售价,边际贡献为负(-20.00),每多卖一件亏损更多,盈亏平衡无解
  [高] D          变动成本高于售价,边际贡献为负(-15.00),每多卖一件亏损更多,盈亏平衡无解
  [中] E          固定成本缺失,盈亏平衡与目标利润销量均不可计算(不按 0 处理)
  [高] F          单价缺失或不是数字,本行算不出边际贡献与盈亏平衡,已排除在合计之外
  [中] G          固定成本填的是 0:盈亏平衡为 0 件,通常意味着变动成本即全部成本,请复核成本口径
  [中] H          固定成本为负(-5000.00),算出的平衡点落在 0 件以左,请复核成本口径
  [低] I          销量缺失,本行的边际贡献合计未纳入汇总
```

校验表里这几行是重点:

```
勾稽差异(边际贡献 − 固定成本 − 目标利润),0.00(仅在「单位边际贡献 > 0 且固定成本、目标利润齐全」的 4 行上核算)
合计口径加权平均单位边际贡献,24.55 元/件(勾稽口径 4 行,边际贡献合计 / 销量合计)
合计口径盈亏平衡销量(近似),1221.86 件 = 勾稽口径固定成本合计 30000.00 / 加权平均单位边际贡献
金额守恒(收入 = 主表 + 异常),392200.00 = 392200.00 + 0.00,差异 0.00
```

失败路径实测(坏数据一律「算不出」,不给假数):

```
【算不出】表里找不到「固定成本」列,盈亏平衡无解
建议:固定成本缺失时不按 0 处理 —— 按 0 算出的平衡点毫无意义,请补固定成本后重跑
```
```
【算不出】找不到文件:_out/nope.xlsx
建议:确认路径是否正确
```

## 拒绝权:什么情况下拒绝执行

| 情况 | 本包做法 |
|---|---|
| 表里没有「单价」列 | 拒绝:算不出边际贡献 |
| 表里没有「单位变动成本」列 | 拒绝:算不出边际贡献 |
| 表里没有「固定成本」列 | 拒绝:不按 0 处理,平衡点为 0 毫无意义 |
| 某行单价缺失 / 不是数字 | 整行进异常表,不参与任何合计 |
| 某行单价为负 | 整行进异常表(多半是方向填反或红字冲销) |
| 单价为 0、变动成本 > 售价 | 平衡点与目标利润销量写「无解」,并给出原文说明 |
| 固定成本为负 | 按公式列示平衡点并标「业务含义异常,请复核」 |
| 文件不存在 / 表为空 | 拒绝并提示 |

**本包不会输出任何替代值**:不用 0 代替固定成本,不用「上期数」代替缺失数,
也不会把一个无解的平衡点算成负数交给你。

## 关键设计

1. **「无解」和「算出来是负数」是两件事**。边际贡献为 0 或负时,数学上 固定成本 ÷ 边际贡献
   确实会算出负数,但那个负数没有任何业务含义——所以本包直接写「无解」。
2. **缺失 ≠ 0**。固定成本留空的行,平衡点与目标利润销量都标「不可计算」,
   固定成本合计里也不计入它,并在校验表注明「%d 行可算」。
3. **勾稽只对同一批口径的行做**。只有在「单位边际贡献 > 0 且固定成本、目标利润齐全」的行上,
   边际贡献合计 − 固定成本合计 = 目标利润合计 才成立;其余行无解或缺项,不参与勾稽,
   避免把无解行的数混进来导致「差异不为 0」。
4. **三个维度的合计别重复加**。三个维度(员工 / 部门 / 费用类别)各自之和都等于总金额,
   但把三个维度加在一起会变成三倍——本包在每个维度内独立汇总,不在跨维度上再求和。
5. **金额守恒口径**:收入合计 = 主表收入 + 异常表收入,差 0.01 元以内;
   单价缺失被排除的行,其销量不计入边际贡献合计,并在校验表单独列出。

## 人工复核(必读)

- 单位变动成本必须**只含随产量变动的那部分**(直接材料、直接人工中的计件部分、变动制造费用),
  把固定的折旧、摊销算进来会让边际贡献虚低、平衡点虚高
- 固定成本要是**期间的固定成本总额**,不是「单位固定成本」;本包按总额口径处理
- 盈亏平衡点是「销量」,实务里常用「销售额」沟通;本包两个都给,注意别混
- 本表通常不含税。含税价直接代进去会让平衡点偏高,先看「计算口径」列
- 「合计口径盈亏平衡销量」是把各家加权成平均边际贡献后的近似值,仅作整体量级参考,
  逐家判断请以主表每行数字为准

## 相邻路线转交

| 用户要做的事 | 转交给 |
|---|---|
| 成本怎么分摊到部门 / 项目 | `cost-allocation` |
| 毛利率、净利率等结果指标 | `financial-ratio` |
| 预算 vs 实际的差异 | `budget-execution` |
| 部门费用排名与人均 | `dept-cost-analysis` |
| 管理层一页摘要 | `exec-summary` |

## 可直接复制的说法

```text
把这张本量利表跑一遍:单价、单位变动成本、固定成本都给我,
算单位边际贡献、边际贡献率、盈亏平衡销量和销售额,还有达成目标利润需要的销量。
固定成本那一列空着的行,直接说「固定成本缺失,不按 0 处理」,不要按 0 帮我算一个平衡点。
如果单价是 0 或者变动成本比售价还高,明说「边际贡献为负,每多卖一件亏损更多,盈亏平衡无解」,
不要给我一个负数平衡点。算不出来的行单独列出来并写清原因,不要混进合计里。
```

## 做完怎么算完成

- [ ] 主表「计算状态」列已逐行看过,「不可计算」的原因都能在原表里对上
- [ ] 所有边际贡献为负、单价为 0 的行已逐条追到根因(定价错?成本口径错?)
- [ ] 固定成本口径已确认是「期间总额」而非「单位固定成本」
- [ ] 校验表的「勾稽差异」为 0.00;不为 0 时已确认是目标利润口径差异
- [ ] 校验表的「金额守恒」差异为 0.00
- [ ] 已确认 `--execute` 已加,输出进了 `_out/`,原表没动

---

本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。

版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。
本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。

允许个人及企业内部免费使用、复制、修改,包括内部生产环境。
未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。
各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。

相邻技能

分析 规划中P1 在建 已上线

成本归集与分摊

按工时/产量/面积/收入等动因分摊,输出分摊过程表

L0 · 成本 / 预算 / 经营
分析 规划中P1 在建 已上线

多维度毛利分析

按产品/客户/区域/月份拆解毛利与贡献边际

L0 · 成本 / 预算 / 经营
分析 规划中P1 在建 已上线

应收账龄与坏账准备

账龄分段、坏账计提测算、客户风险排序

L0 · 成本 / 预算 / 经营
分析 规划中P2 长尾 已上线

预算执行差异分析

预算 vs 实际的额差率差与预警清单

L0 · 成本 / 预算 / 经营
分析 规划中P2 长尾 已上线

经营分析素材生成

月度经营分析的数字、结论与图表数据源一次产出

L0 · 成本 / 预算 / 经营
分析 规划中P1 在建 已上线

费用报销汇总

按部门/项目/费用类型三维汇总,本期-上期-变动额-变动率,未审批与缺发票不入正式汇总,超预算单列

L0 · 成本 / 预算 / 经营
分析 规划中P1 在建 已上线

进销存差异检查

理论期末=期初+入库-出库,与系统/盘点/账面三方比对,负库存与异常单价优先,按影响金额排序

L0 · 成本 / 预算 / 经营
分析 规划中P2 长尾 已上线

部门费用与降本分析

按部门/项目/供应商汇总增长贡献,区分一次性与持续性费用,识别单价上涨/重复采购/供应商集中

L0 · 成本 / 预算 / 经营
分析 规划中P2 长尾 已上线

管理层一页摘要

一句话结论+5 个核心指标+3 个关键变化+风险影响+待决策事项,事实/假设/建议三段分开,每个结论带数据依据

L0 · 成本 / 预算 / 经营
分析 规划中P1 在建 已上线

客户盈利分析

按客户算收入成本毛利毛利率,亏损客户与成本缺失单列标高风险,不按 0 成本算毛利

L0 · 成本 / 预算 / 经营
票证 规划中P0 计划 已上线

发票查重

按发票号码+代码+金额+日期组合查重,拦住重复报销与重复入账

L0 · 发票 / 票据
票证 规划中P0 计划 已上线

发票台账

进销项发票台账,按月/客户/税率汇总,导出 CSV

L0 · 发票 / 票据
本页内容由本地构建生成于 2026-09-27。技能正文以随包 SKILL.md 为准。