1 项目背景
PMC团队在协同工厂生产过程中,基于当前x周生产需求计划,需要提前准备好物料需求,查看生产哪些产品未来可能面临原料缺货。如果一些产品未来面临缺货风险,那修改当前需求计划、或做好协调物料到货准备等措施,希望能做一个物料齐套性计算模型,指导生产。
2 算法模型介绍
一件产品的生产,需要以下流程,这些流程都需要耗时;
①采购:需求阶段要下采购申请单、下推采购订单;一段时间物料到货后,有收料通知单,入仓库等流程; ②仓库管理:物料在在仓库时,可能会发生调拨、入库、出库等业务流程; ③质检阶段:涉及到原料的检测阶段; ④生产阶段:原料到半成品进行生产; ⑤质检阶段:半成品的检测阶段; ⑥生产阶段:半成品到成品的灌包、包装; ⑦质检阶段:成品质量检测阶段;
实际上从原料→半成品的筹备时间大概需要9天,半成品→成品的筹备时间大概需要5天。今天用一个简单模型推演,暂定【原料→半成品前置期】=2天,【成品→半成品前置期】=1天。
以上是物料到成品生产所需流程。我们把这个时间历程反过来看,现在根据一份未来的x周生产需求计划表,结合现有的物料/成品/半成品库存表,来推演未来日期可能缺货的物料、半成品、成品。
当然,最终的物料齐套性,是针对”x周生产需求计划表”中的这些成品,计算未来日期的每天的物料齐套比率。
3 基础数据源介绍
实际业务涉及的表单较多,但最终可划分为四类:排产计划、成品→半成品→物料的BOM拆套、库存、在途库存。以下模型案例就用4张表来演练:排产计划表、BOM拆套表、库存表、在途库存表。
假设今天是 ” 2024/11/28 ”
(1)排产计划表
排产计划表以【工厂+产品编码】的维度,展示了未来连续X周内每天所需要的生产量。 (2)BOM拆套表
如图,分两个步骤:①成品→待包品,成品由3个原料(蓝色)+1个半成品组成(红色),对应各自的“bom量”。②待包品→原料,图中这个半成品由7个原料组成,对应各自的“原料bom量”。
这个BOM表主要用于计算每个成品所需要的原料、半成品用量是多少。
(3)库存表
库存表记录着各工厂每种原料的当前库存数量。这个库存表是每天变化的,在案例演练中,今天是 ” 2024/11/28 ” , 那这张库存表就是2024/11/28当天的库存数量。
(4)在途库存表
在途库存表记录着未来一段时间内,各工厂各原料即将入库的数量。
4 Excel正向模型推演
(1)成品→待包品
这个成品由1个待包品+3个原料组成,已知11/28这天的库存,计划量,推演后面5天的库存、需求量、日结余数量。
11/28日这天,“期初库存”这列,是根据【库存表】进行匹配的数量;“在途(入)”这列,是根据【在途库存表】进行匹配的数量;
每一行代表一直原料,“本日结余”=当前行【期初库存】+当前行【在途(入)】-当前行【计划量】;本日结余,也是下一日的期初库存;“需求量”即当前行【计划量】-当前行【在途(入)】-当前行【期初库存】,需要注意,“需求量”是大于0的数值;
然后按照这种方法,推演其它几种原料的这几列数值。
最终,可以推演出后续5天,待包品的“需求量”。
(2)待包品→原料
待包品到原料这块,主要拆解以下这部分的物料组成。同样地,按照上面推演的逻辑,计算出每天每种原料的“进销存”。
同样,将每日的产品进行扩展,注意,只有11/28日的原料有库存数据。
按照同样地逻辑,推演每个原料每天的【本日结余】【新需求量】
最终,每个物料的每日推演情况如图。
3.1.5 Excel反向模型推演
(1)原料→待包品的实际可满足数量
正向推演下来,可以计算出来每个原料的“实际可满足数量”。
接下来,需要看原料→待包品这个层面,当前原料实际可满足多少个待包品的生产。例如在
第一个日期区间,这个待包品需要用7种原料生产。用原料去生产待包品时,有的可生产74个,有的可生产40个。那在当前日期,这个待包品最多只能生产40个。
最终,原料→待包品的实际可满足数量如下。计算出这个数量之后,就可以对待包品打个标签,是否缺货。
单独筛选待包品,进行去重后,会更清晰。
(2)待包品→成品的实际可满足数量 类似逻辑,可推演出每天每个产品,待包品到成品的实际可满足数量。
单独筛选出成品,去重后看会更清晰。
3.1.6 数据汇总
以上excel推演模型,是基于一个工厂的一个成品,推演未来5天的计划需求是否会发生缺货的情况。
实际计划生产过程中,有x个工厂,y个产品,推演未来z天的计划需求,所以这个数据量会变大,但基本原理不变。后续的BI数据展示,也是基于这些推演的数据。