计划评审会上最容易出现的一种场面:销售说“PIR 早就发你们了”,生产计划说“MPS 还没冻结,我怎么排”,车间主任说“DPS 排到第三天就全乱了”。三个人说的其实不是一回事,但会议室里没人觉得有分歧,散会后各自按自己的理解干,两周后库存和交付一起出问题。MPS、DPS、PIR 这三个缩写在制造业计划语境里分别指主生产计划、日(详细)排产计划、计划独立需求,是三层完全不同的东西——颗粒度不同、责任人不同、变更频率不同、连“错了会怎样”都不同。这篇内容就是把这层窗户纸捅破:先把三个缩写的层级关系摆正,再逐项拆开讲每个东西管什么、参数怎么定、系统里落在哪、出了偏差怎么查。做过生产计划、物料计划、供应链或者正在上计划系统的人可以直接照着对号入座;刚入行看得懂字但对不上号的,也能从里面的类比和数字例子找到感觉。
1. 三个缩写为什么总被混着叫
1.1 混用的根源:层级没定,名字就飘
缩写混用从来不是记性问题,是层级问题。制造业的计划体系是一条从“想要什么”到“具体哪台机几点做”的链路,链路上每一层的输入、输出、时间单位、决策人都不一样。PIR 在最上游,回答的是“我们预计客户会要多少”;MPS 在中间,回答的是“我们打算生产多少、什么时候产完”;DPS 在最下游,回答的是“明天上午一号线先做哪个单”。这三件事的时间单位从“月/周”一路收到“天/班次/小时”,决策权从销售与计划部门一路交到车间调度手里。
名字之所以飘,还有个现实原因:不同系统厂商、不同咨询团队、不同企业的历史叫法互相打架。同一个东西,有的地方叫日计划,有的叫车间作业计划,有的叫排产单;同一个词,在这家指周计划,到那家指月计划。我去过一家做五金件的厂,他们的“日计划”其实是把月计划按天平均摊开,根本没有考虑设备和模具约束,然后车间自己在 Excel 里再排一遍——两层都叫“日计划”,实际上一个是摊派表,一个是真排产。这种情况下你讨论“DPS 准不准”毫无意义,因为双方说的不是一个东西。
所以讨论这三个缩写之前,必须先做一件事:把层定下来。层的定义不统一,后面所有的参数、指标、系统配置全是空中楼阁。
1.2 一句话定位与最常见的三种认知错位
先给一版最粗糙但够用的定位,后面章节再逐个展开:
| 缩写 | 全称含义 | 一句话定位 | 时间颗粒度 | 主要责任人 |
|---|---|---|---|---|
| PIR | 计划独立需求 | 需求侧对未来的期望量,是计划的起点 | 月/周 | 销售、需求计划 |
| MPS | 主生产计划 | 对关键成品的生产承诺,是供给侧的骨架 | 周/日 | 主计划员 |
| DPS | 详细(日)排产计划 | 把周计划落到设备、班次、顺序上 | 天/班次/小时 | 车间调度、排产员 |
三种最常见的错位,我几乎每个项目都能碰到一两个:
第一种,把 PIR 当订单。有人一看系统里有一堆需求行,就以为货已经卖出去了,直接拿去排产。PIR 是期望,可以改、可以撤、可以因为一场促销活动翻倍,它没有法律约束力。真正的承诺是销售订单。
第二种,把 MPS 当排产表。MPS 只到周(有的企业到日),它不管某台机器上午做还是下午做,也不管换型顺序。有人拿着 MPS 去问车间“为什么昨天没做完”,这是拿地图去质问司机为什么没赶上红灯。
第三种,把 DPS 当 MPS 的明细展开。DPS 不是把 MPS 除以工作日那么简单,它要处理设备能力、模具数量、人员班次、物料齐套、工序先后等一堆硬约束,很多时候排出来的结果跟 MPS 的设想差得很远,然后反过来倒逼 MPS 调整。这两层是双向的,不是单向的。
2. MPS:管“做什么、做多少、什么时候要做完”
2.1 对象边界:为什么它只盯关键物料和关键产品
很多刚接触 MPS 的人第一反应是“那把所有产品都放进去不就行了”。不行,而且是有明确理由的不行。MPS 的核心价值是稳定,它要给采购、给车间、给物料计划一个相对可靠的锚。覆盖范围越宽,这个锚就越容易被日常波动带偏——今天这个型号临时加单,明天那个型号客户改配置,MPS 天天在动,下游所有环节跟着一起抖。
实际操作里,MPS 通常只覆盖成品或产品族里的一部分:销售额占比高的、共用瓶颈资源的、采购提前期长的、换型成本大的。我见过的做法是把成品按 ABC 分类,A 类(大概占销量七成、品种两成以内)进 MPS,B 类按产品族汇总进 MPS,C 类干脆不进 MPS,直接由 MRP 按订单驱动。一家做小家电的厂,成品型号三百多个,MPS 里只放了 12 个型号族,剩下两千多个零件全部交给物料需求展开去算,跑得又快又稳。
注意:MPS 的对象不是“物料”,而是“计划对象”。同一个成品,在不同工厂可能有不同的计划策略,有的按库存生产进 MPS,有的按订单生产根本不进 MPS。别拿一张物料清单去套所有工厂。
这里还有个容易忽略的点:MPS 计划的对象必须有独立的物料编码和独立的需求来源。如果一个产品是靠配置组合出来的,几十种选配组合各有各的编码,那 MPS 层面通常要先归到产品族,否则光维护计划参数就能把人耗死。
2.2 时间颗粒度与冻结区:MPS 的“稳”从哪里来
MPS 的时间桶一般是周,节奏快的企业用日。桶的长度不是拍脑袋定的,要跟两类提前期对齐:采购提前期和总装提前期。桶太细,计划天天变,采购来不及反应;桶太粗,交付响应慢,客户等不起。
比桶更长重要的是计划时界,也就是大家常说的冻结区。典型的三段式划法:
- 冻结区:未来 1~2 周,原则上不接受插单,除非走特批流程。这一段的任务是“保执行”,让车间和采购有个不受打扰的窗口。
- 半冻结区:未来 3~6 周,可以调整,但要走变更评审,评估对物料和在制的影响。
- 自由区:6 周以后,随便调,这时候调整成本最低。
冻结区长度怎么定?我的经验公式是:冻结区周数 ≥ 关键长周期物料的采购提前期 ÷ 7,再往上取整。如果某个进口件的采购提前期是 45 天,那冻结区至少 7 周,否则你冻了 2 周等于没冻,物料照样断。另一头看换型成本,换型一次要停线四小时、报废一批料的,冻结区就往长了设;换型十分钟搞定的,短一点也无妨。
冻结区最怕的是“名义上冻结,实际上天天特批”。特批一多,冻结区就成了摆设,车间不再相信计划,自己留余量,最后变成层层加码、库存虚高。这个毛病靠制度解决,不靠系统。
2.3 粗能力平衡:MPS 不做细排,但必须看得出瓶颈
MPS 不排机台,但它必须回答一个问题:这个计划量,关键资源扛不扛得住。这一步叫粗能力平衡,做法是把 MPS 的计划量按工艺路线折算到几张关键资源清单上,看负荷率。
关键资源清单一般不超过十项,选的是瓶颈设备、稀缺模具、特殊工种、外协产能这几类。负荷率的红线我一般设在 85%~90%,超过就要预警:不是不能干,是没余量应对异常。有家做注塑件的厂,把六台大吨位注塑机列进关键资源,MPS 一算发现第 8 周负荷 118%,回头一看是三个新品同时导入,最后把其中一个的上市时间往后推了两周,问题就消了。
粗能力平衡的精度不需要高,它的作用是提前四周发现“这周根本干不完”,而不是精确算出每台机几点空闲。指望 MPS 阶段就把产能算准,属于用错工具。
3. DPS:把“周”拆成“天、班次、机台”
3.1 约束条件比 MPS 多一个数量级
MPS 面对的是“总量够不够”,DPS 面对的是“怎么塞进去”。两者约束条件的数量差一个数量级。DPS 要处理的典型约束包括:
- 设备能力与可用时间(含保养、点检、清洗窗口)
- 模具与工装的套数和可用状态
- 人员班次、技能矩阵、多能工配置
- 换型时间,而且往往是非线性的——同色换深色和浅色换深色完全不是一回事
- 物料齐套情况,缺一个螺丝也开不了工
- 工序先后与最小批量、最大批量
- 客户交付窗口与运输班次
MPS 阶段通常是无限能力假设,或者只做粗平衡;DPS 必须是有限能力排产,排出来的每一分钟都要能落到具体资源上。这也是为什么 DPS 的结果常常和 MPS 的设想对不上:MPS 说这周做 5000,DPS 一排发现只能做 4300,缺口就得回到 MPS 去协调。
3.2 排产优先级怎么定:给规则排个序,别给规则打分
排产规则最忌讳的是一堆权重拍脑袋。我见过一张打分表,交期权重 40、换型权重 30、齐套权重 20、客户等级 10,看着挺科学,实际跑出来没人服气,因为权重是拍的,谁也说不清为什么是 40 不是 35。
更靠谱的做法是分层过滤,先硬后软:
- 硬约束过滤:物料不齐套的、设备不可用的、工序前置未完成的,直接排除,不参与排序。
- 交期红线:已经进入交付预警窗口的订单,强制置顶。
- 换型聚类:在剩余订单里,按同族、同色、同模具聚类,减少换型次数。
- 交期微调:在聚类结果内部按交期先后排。
这个逻辑可以写成一个非常朴素的排序骨架,实际系统里当然更复杂,但思路是一致的:
待排订单池 = 全部未排订单 可用资源池 = 通过可用性校验的资源 for 资源 in 可用资源池: 候选 = 待排订单池 中 满足(物料齐套 且 工序前置完成 且 资源兼容) 的订单 候选 = 候选 按 (是否进入交付预警) 降序, (换型族是否与当前资源末位一致) 降序, 交期 升序 依次装入资源时间轴, 每次装入后更新资源末位属性与占用时间 剩余订单回退到待排订单池 输出 排产结果 与 未排清单(附未排原因)关键在于最后那个“未排清单附原因”。排不进去不是问题,排不进去还说不清为什么才是问题。车间最需要的不是一张完美的甘特图,是一句“这单为什么排到周四”。
3.3 滚动重排与锁定量:别让车间每天面对一张新表
DPS 是滚动的,但滚动的范围要锁。常规做法是锁定未来 24~48 小时已下发部分,这段时间内除非设备故障、物料断供、质量异常,否则不重排;48 小时到一周的部分允许小幅调整;一周以外可以大改。
锁定量的意义在于建立信任。如果车间每天早上打开系统看到的都是完全不同的一张表,他们很快就会放弃系统,转回自己的白板。我见过最极端的情况是排产员每小时跑一次自动排产,理由是“要反映最新状态”,结果一个月内车间投诉了七次,最后系统被停用。后来改成每天固定两个时点跑,锁定量 48 小时,投诉立刻降到零。
4. PIR:需求的源头,不是计划本身
4.1 PIR 是什么、谁产生、怎么进系统
PIR 是计划独立需求,本质是需求侧对未来的期望量,与具体客户订单无关。它通常由需求计划岗基于历史出货、季节性、促销计划、渠道库存、新品导入节奏来编制,按月或按周分桶,按版本管理(比如初版、修正版、锁定版)。版本管理这一条经常被忽略,导致“上个月给的是哪个版本”这种争吵反复出现。
PIR 有三个属性必须讲清楚,不讲清楚下游一定出问题:
第一,它是期望,不是承诺。客户随时可以不要,销售也随时可以改口。所以 PIR 的准确率天然比订单低,用订单的标准去考核预测,只会逼着大家把预测做成订单的样子,失去预测的意义。
第二,它有粒度。是按型号还是按产品族?按区域还是按渠道?粒度和准确率成反比,型号级的月预测准确率能到 70% 已经不错,产品族级能到 85%。选择粒度时要问一句:下游拿这个数据干什么?用来驱动 MPS 的,至少要到产品族;用来做长周期物料备货的,可以更粗。
第三,它要能被消耗。这是最容易被漏掉的一环,下一节专门说。
4.2 消耗逻辑:订单来了,预测怎么冲掉
如果预测和订单各算各的,系统就会把同一份需求算两遍,结果是库存堆积或者产能虚占。所以要有消耗(冲销)机制:销售订单进来后,按规则冲掉对应时段和之后时段的预测。
消耗规则主要看两个参数:消耗方向(向前、向后、双向)和消耗窗口(几天或几周)。举个具体例子。
某型号 5 月预测分桶如下:第 1 周 300、第 2 周 300、第 3 周 200、第 4 周 200,合计 1000。5 月 8 日(第 2 周内)来了一张 400 的订单。
- 只向后消耗,窗口 2 周:先冲第 2 周的 300,剩 100 冲第 3 周的 200,第 3 周剩余 100。全月净需求 = 第1周300 + 第4周200 + 第3周100 = 600,加上订单 400,合计 1000,不重复。
- 只向前消耗:先冲第 2 周 300,剩 100 冲第 1 周的 300,第 1 周剩 200。净需求同样是 600。
- 窗口设成 0 周(只冲当期):第 2 周预测 300 冲完还剩 100 无处可去,系统可能会把这 100 单独挂着或者丢弃,具体看配置,容易造成需求漏算或重复。
两种方向的差别在于业务含义:向前消耗假设“客户提前拿了后面的量”,适合订单经常提前的行业;向后消耗假设“客户晚拿了前面的量”,适合订单经常延后的行业。选错了不会立刻出事,但会持续制造“某几周预测莫名清空”的怪现象。
提示:消耗窗口不要设得太长。窗口过长,一张大单能把未来两个月的预测全冲光,导致后面几周的计划凭空消失,采购看到的是需求断崖,实际是被冲掉了。
4.3 PIR 的三个常见病
第一个病是版本混乱。多个部门各自维护一份预测表,开会时对不上数。解法是只认系统里一个版本,线下表格一律作废,版本切换要有明确时点和通知。
第二个病是粒度太粗。全年按季度给四个数,然后让计划部门自己拆到周,拆出来的东西跟实际客户分布完全对不上。这种“数字到位、信息缺失”的预测,价值接近于零。
第三个病是只做不管。预测发出去就没人回头看准不准。我的建议是每月做一次复盘,算两个数:预测偏差率(|实际-预测|÷实际)和偏差方向(系统性高估还是低估)。连续三个月同一方向偏差超过 20%,说明预测方法本身有问题,不是某个月的偶然。复盘不需要长,半小时看一张图就够,但必须固定节奏。
5. 三者联动:一条需求怎么变成车间的一张工单
5.1 数据流动的完整路径
把三层串起来看,一条需求从预测走到工单,大致经过这些环节:
| 环节 | 输入 | 输出 | 颗粒度 | 更新频率 |
|---|---|---|---|---|
| 需求编制 | 历史出货、季节、促销、渠道库存 | PIR | 月/周,型号或族 | 月 |
| 需求净算 | PIR、销售订单、库存、在途 | 净需求 | 周 | 周/日 |
| 主计划 | 净需求、粗能力、策略库存 | MPS | 周/日,成品 | 周 |
| 物料展开 | MPS、物料清单、库存、提前期 | 采购计划、生产工单 | 物料级 | 日/周 |
| 详细排产 | 工单、工艺路线、资源状态、齐套 | DPS | 天/班次/机台 | 日/班次 |
| 执行反馈 | 报工、报废、停机 | 实际进度、偏差 | 工序级 | 实时/班次 |
这张表最有用的地方不是看流程,是看责任人。每一行对应一个岗位,出了偏差先定位在哪一行,比在会上互相甩锅高效得多。
5.2 三个缩写放在一张表里对照
| 维度 | PIR | MPS | DPS |
|---|---|---|---|
| 本质 | 需求期望 | 供给承诺 | 执行排序 |
| 回答的问题 | 客户可能要多少 | 我们打算产多少、何时产完 | 哪台机、几点、按什么顺序做 |
| 时间颗粒度 | 月/周 | 周/日 | 天/班次/小时 |
| 对象范围 | 型号或产品族 | 关键成品或族 | 工单/工序 |
| 能力处理 | 不涉及 | 粗能力平衡 | 有限能力排产 |
| 变更频率 | 月度为主 | 周度,冻结区外 | 每日甚至每班 |
| 典型系统模块 | 需求计划 | 主生产计划 | 详细排产 |
| 主要指标 | 预测准确率、偏差方向 | 计划达成率、冻结区遵守率 | 排产准点率、换型次数、设备利用率 |
| 出错后果 | 库存积压或断货 | 全链条节奏紊乱 | 交付延迟、现场混乱 |
5.3 三种典型的层间错位症状
症状一:MPS 被日订单驱动。表现是 MPS 每天改,改的原因全是当天来的订单。这说明订单没有经过 PIR 消耗和净算这一层,直接穿透到了主计划。后果是采购天天改单、供应商怨声载道、加急运费飙升。解法是把订单先接到需求层做净算,只有净需求变化才往下传。
症状二:DPS 拿着未冻结的 MPS 排产。表现是排产表一出就被推翻,排产员成了背锅侠。根子在 MPS 没有冻结区,或者冻结区形同虚设。解法是先立冻结区制度,再谈排产优化。
症状三:PIR 长期不消耗导致双倍需求。表现是系统里的需求总量明显大于实际出货,库存却还在涨。查的时候发现预测和订单都在算,消耗规则没配或者配错。这个症状最隐蔽,因为它不会立刻报错,只是慢慢把库存推高。
6. 同名不同义:换行业别急着对号入座
6.1 PIR 在另一个语境里完全是另一回事
做硬件或者搞智能照明的朋友看到 PIR,第一反应肯定不是计划独立需求,而是被动红外。这是人体感应模块里最常见的技术路线,原理是热释电材料感受到人体红外辐射引起的温度微变,转换成电信号,再经过差分比较和延时逻辑输出开关信号。
它的几个关键设计点值得说清楚,因为很多人调试时会踩坑:
- 双元探测与差分:传感器里通常有两个探测元,串联反接。人体移动时两个元先后感受到变化,产生差分信号;环境温度整体缓慢变化时两个元同时变化,差分抵消。这是抑制误触发的核心机制。所以人站着不动,感应灯会灭,不是坏了,是原理决定的。
- 菲涅尔透镜:负责把探测区域分割成明暗交替的条纹,人走过时交替触发,提高灵敏度。透镜的选型直接决定探测距离和覆盖角度,换透镜等于换了一个产品。
- 延时与灵敏度:延时太短会频繁开关,太长会让人觉得“人走了灯还亮”。常见做法是延时 30 秒起步,配合光照度阈值,白天不触发。
这些参数和计划体系里的 PIR 没有任何关系。之所以提,是因为跨领域搜索时这两个词经常撞在一起,搜出来的结果互相干扰。判断方法很简单:看上下文有没有“设备、班次、工单”这类词,有就是计划;有没有“探测、感应、延时”这类词,有就是传感器。
6.2 DPS 与 MPS 的其他常见所指
DPS 在别的圈子里至少还有两种高频含义:一是游戏里衡量输出能力的每秒伤害,这是玩家之间评价配装和操作的常用指标;二是工程领域的分布式电源系统,指的是把供电单元分散布置、就近供电的一套架构。MPS 除了主生产计划,也常被用作某类电源管理器件或传感器品类的代称。
| 缩写 | 计划语境 | 其他常见语境 | 快速判别线索 |
|---|---|---|---|
| PIR | 计划独立需求 | 被动红外感应 | 有无“探测/延时/感应” |
| DPS | 详细(日)排产 | 每秒伤害、分布式电源系统 | 有无“机台/班次”或“配装/供电” |
| MPS | 主生产计划 | 电源管理器件、传感器品类 | 有无“周计划/冻结区” |
6.3 快速判断口径的三问法
碰到一个陌生缩写,别急着查词典,问三个问题基本能定位:
一问行业。制造业计划口,八成是计划体系那套;消费电子或安防,PIR 多半是传感器;游戏社区,DPS 就是伤害。
二问上下游。看这个词连接的是什么。连着“销售预测”的,往上走;连着“工单、机台”的,往下走;连着“电路、信号”的,是硬件。
三问时间颗粒度。月和周的是需求与主计划,天和班次的是排产,毫秒级的是硬件响应或者游戏帧。
7. 实操踩坑与排查清单
7.1 症状速查表
| 症状 | 可能根因 | 排查动作 | 处理方向 |
|---|---|---|---|
| 系统需求总量远大于实际出货 | PIR 未被订单消耗 | 查消耗规则、消耗窗口配置 | 补齐消耗参数,校验净算结果 |
| 某几周预测莫名清空 | 消耗窗口过长,大单冲光后续预测 | 抽查大额订单的消耗范围 | 缩短窗口,改为双向消耗 |
| MPS 天天变 | 订单穿透到主计划,无冻结区 | 统计 MPS 变更来源 | 建立冻结区与变更评审 |
| 排产表每天全推翻 | 无锁定量,重排频率过高 | 查排产任务调度频率 | 固定时点跑,锁 24~48 小时 |
| 排产结果交期普遍超 | 关键资源负荷过高 | 看粗能力负荷率 | 提前调整 MPS 或增加班次 |
| 车间不执行系统排产 | 排产结果无法落地(缺料/换型不合理) | 抽查未排原因清单 | 补齐齐套校验与换型矩阵 |
| 换型次数居高不下 | 排产规则未做聚类 | 统计连续工单换型族 | 引入同族聚类 |
| 预测准确率长期偏低 | 粒度太细或方法单一 | 分型号看偏差分布 | 改为族级预测+人工微调 |
| 库存高但缺货也多 | 需求被重复计算 | 核对预测与订单是否双算 | 修正消耗逻辑 |
| 计划达成率好看但交付差 | 指标口径偏向内部完工 | 核对达成率定义 | 改用交付准点率考核 |
7.2 几条不那么“官方”的经验
PIR 别一次给十二个月还带小数。见过一份预测表,某型号某月预测 1234.56 台。这种精度传递的信号是“我们没认真想”。预测到十位、百位就够了,多出来的小数位只会让人误以为它很准。
冻结区长度跟着采购提前期走,不跟着老板的耐心走。老板希望随时能插单,这是合理的商业诉求,但插单的成本必须被看见。我的做法是每次特批都记一笔账:加急运费、停线损失、报废金额。跑三个月,把账摆出来,插单自然就少了。
DPS 别追求全局最优。排产是 NP 难问题,真实场景里永远有临时状况。把目标定成“比人工排得好、且能被车间执行”,而不是“理论最优”。我见过一个团队花了半年优化算法,排产结果的理论指标提升了 3%,车间执行率下降了 15%,因为排出来的顺序不符合操作习惯。
给车间留缓冲,别把产能排到 100%。经验值是留 5%~10% 的弹性产能应对插单和质量异常。排到满负荷的计划,一场设备故障就能把整个月的节奏打乱。
指标要看一对,不看单个。计划达成率高但交付准点率低,说明在按自己的节奏生产而不是按客户节奏;设备利用率高但在制品也高,说明在用库存换效率。单看一个数一定会被带偏。
7.3 落地顺序:先统一口径,再谈系统
如果这三层要重新理顺,我建议的顺序是先易后难,而不是先上系统。
第一步,统一名词。把公司内部所有涉及“预测、主计划、日计划”的叫法列一张表,逐条对应到 PIR/MPS/DPS,谁有异议当场讨论。这一步不需要任何系统,一张纸就能干完,但收益最大。
第二步,把 PIR 的消耗规则和版本管理立起来。这是所有下游数据的源头,源头脏了,后面再精致也没用。
第三步,给 MPS 定冻结区和变更流程。这一步会触碰到销售和生产的权力边界,需要管理层拍板,但绕不过去。
第四步才是 DPS 的有限能力排产。有了前三步,排产的输入才是干净的;输入干净,排产算法的效果才能体现出来。反过来,一上来就买排产引擎,把脏数据喂进去,大概率得到一张谁都不信的表,然后系统被弃用,所有人都觉得“这东西不适合我们”。
我在实际推进中发现,真正难的从来不是算法和参数,是让销售、计划、车间对“预测可以不准但要诚实、计划可以变但要提前说、排产能调但要有边界”这三句话形成共识。共识没到,工具帮不上忙;共识到了,Excel 都能跑得不错。