记得刚毕业时曾给一家企业实施一个日本的ERP软件,当时问公司管理层,你们的需求计划是如何制定的。他们说是销售部的领导根据前一年的销售业绩,再根据自己的经验制定本年度生产计划。现在想来,这家企业是把销售和生产计划员的职位合二为一了。
对于计划生产的企业来说,生产计划员(Demand Planner)的职位非常重要。计划过多将导致库存的积压,计划过少又无法及时满足客户需求导致客户流失。作为一个生产计划员,应该能够总结和分析前一年甚至前几年的销售业绩,分析其变化规律和趋势,并在考虑公司的经营模式等其它因素的基础上制定未来的生产计划,这并不是一个简单的凭经验就能完成的工作。特别是在大型企业里,产品数量种类众多,销售渠道广,有大量的客户;在这个变化的时代,新旧产品也在不断的更替,这时仅凭经验是远远不够的。
在SAP ECC中有一个很古老的生产销售计划功能SOP(Sales & Operation Planning),这个功能可以追溯到ECC的最早期产品(它的开发者现在是SAP的board member)。它的思想就是用统计学的算法来根据过去的销售历史数据对未来进行生产和销售计划的计算。到现在为止这个非常古老的功能仍然有很多客户在寻求SAP的技术支持。实际上在几年前这个功能就已经停止开发了,它的大部分功能都已经移植到了SAP SCM (Supply Chain Management) APO (Advanced Planning and Optimization) DP (Demand Planning) 中,并且得到了巨大的改进。利用DP,生产计划员可以对公司的产品进行灵活的建模,决定生产计划计算的对象,层次,期间,频率,以及各种特殊的需求。
1. 灵活的计划层次
企业中的每一个产品,除了它所在的地点外,还有很多其它的属性,例如分销渠道,销售区域等等,这些属性在DP中成为特性(characteristic),属性的各种值称为特性值(characteristic value)。每个特性都有许多不同的值。如产品P1可能存在于企业的不同的工厂/分销点里,那么它的地点特性就会有多个值,如分销点L1和L2。这时就会产生两个不同的特性值组合(characteristic value combination):P1 / L1和P1 / L2 。在实际应用中用户可以根据产品特点设置不同的特性,有时可多达几十种。在大型企业中除了巨大的产品数量,各个特性也有很多不同的值,这样一来就会出现大量的特性值组合,有的客户系统中的特性值组合可能达到数百万。由此产生的销售历史数据更是多得惊人。面对这种海量数据,人工进行生产预测已是不可能,即使使用电脑进行智能计算,也需要生产计划员把握好计划的层次,即,生产计划要在哪一层面上进行。
以上述产品P1和地点L1,L2的组合为例,假如过去六个月的销售历史数据如下。
产品/地点 | 04/15 | 05/15 | 06/15 | 07/5 | 08/15 | 09/15 |
---|
P1 / L1 | 10 | 0 | 0 | 5 | 0 | 8 |
P1 / L2 | 1 | 10 | 9 | 6 | 10 | 1 |
总计 | 11 | 10 | 9 | 11 | 10 | 9 |
如果单独看P1 / L1或P1 / L2,感觉销售历史是没有规律可循的,但是如果看二者的合计,其实是一个很稳定的销售数据。如果生产计划预测在“产品/地点”层面上进行计算,得出的结果很可能不如人意,但是如果在“产品”层面上进行计算,再将结果按比例分配到各个地点,就会产生较为理想的预测结果。
在实际应用的经验中,生产预测应该在一个较高的层面上运行,这时历史数据经过整合,能够更好的反应销售趋势。SAP SCM APO的Demand Planning,允许用户灵活的选择数据表示的层次,指定生产计划预测运行的层次。系统会自动对数据进行集计和分解。通过用户指定的分解方法,系统会合理的把上层对象的数据分解到各个底层对象。
例如,产品P1在过去六个月的销售历史和未来三个月的需求预测如下图所示。
如果想知道这些数据在两个分销点L1和L2的分配情况,只需展开(drill down)地点特性值。
2. 灵活的期间结构
生产计划的期间,也是计划的重要一环。对于那些生产周期短,每天都有稳定销量的快速消费品(fast moving),可以以【天】为期间单位进行预测,从而产生每天的需求计划;而对于那些生产周期长的慢消费品,如果以【天】为单位进行预测,就会出现很多没有历史销售数据的期间,影响预测的结果,而且对这类产品生成每天的需求计划也没有必要,这时以【周】或者【月】为单位是比较合理的。除了这些基本的时间结构,系统还支持客户自定义的财务期间(fiscal year period)。
在Demand Planning中,用户可以灵活的选择数据的表示期间,系统会自动对期间进行集计和分解。如上述例子中,如想知道7月份的历史数据在各周的情况,只需改变一下期间设置即可。(注:如果原始数据只有月数据,那么周数据是系统自动算出的。)
细心的小伙伴可能会发现,在这里5周的和是12,而在上面的月次图中7月份的数值是11 。原因何在呢?如果您对时间很敏感,就会知道,5周里包含的天数要比7月份包含的天数多哦。系统分解月次数据后整合成周次数据就得到了这样的结果。
3. 多样的预测模型
SAP SCM APO的Demand Planning提供了多种多样的计划模型,如常数模型(constant model),趋势模型(trend model),季节模型(seasonal model)等等。
如果生产计划员能够很好的把握公司产品的销量,他可以指定生产预测所用的模型。如果不知道用什么模型好,那么就要请出万能的【自动模型选择】功能了。它可以对历史数据进行趋势和季节性的检测,并针对指定的参数范围进行多种预测,然后选择一种误差最小的模型和参数组合。该功能虽然性能较低计算繁琐,却依然受到很多用户的欢迎。
那么我们就来根据前面的历史数据对产品P1进行一下预测吧。下图分别是历史数据,以及常数模型,趋势模型和季节模型产生的预测结果。 (蓝色为历史数据,绿色为需求预测。)
您可能想知道【自动模型选择】会给出什么样的预测结果呢?因为针对这个历史数据,自动模型选择检测不出明确的趋势性或季节性,所以它只能选择常数模型。如果我们只针对分销中心L1的历史数据执行【自动模型选择】,系统就会检测出明显的季节性,从而选择季节模型。下图便是【自动模型选择】针对特性值组合P1/L1做出的预测。
除了上述基本模型外,DP中还有很多其它的模型,另外还有很多针对历史数据的调整功能。喜欢统计学的小伙伴们可以深入研究一下。
4. 支持物料清单(BOM)
历史销售数据多为最终成品,因此生产计划预测多数也是针对成品进行预测。SAP SCM APO的Demand Planning支持将成品的预测数据通过BOM展开映射到半成品或者零部件上,从而得到重要半成品和零部件的预测数据。
例:一个成品有两个BOM,第一个BOM需要6个COMP1和11个COMP2,第二个BOM需要5个COMP1和10个COMP2,那么针对PROD1产生的需求预测,会传递到COMP1和COMP2上。
5. 支持产品生命周期(Life Cycle)
新旧产品的更替是任何企业都无法避免的。新旧产品共存时如何较为合理的进行生产计划,是DP的产品周期计划要解决的问题。
1) 数据重组
简单的新旧产品替换,可以考虑使用数据重组功能,将旧产品的数据直接或者按比例拷贝到新产品上。该功能能够针对新产品生成与旧产品一样的特性值组合,并且根据需要获得旧产品的一些数据。
2) 生命周期计划
生命周期计划通过模拟旧产品从市场淡出(phase-out)和新产品逐渐进入市场(phase-in)的过程来进行需求计划。通过设置生命周期参数,针对旧产品的生产计划会逐步减少,而根据旧产品的历史销售记录产生的针对新产品的生产计划,也会根据生命周期的参数进行适当调整,使之逐步增加到正常值。
在下面的例子中,旧产品将在未来12个月内被新产品取代。由于新产品没有历史销售数据,所以未来的需求计划预测是基于旧产品的历史销售数据进行的。在对新旧产品进行需求计划预测后,将PhaseIn参数应用于新产品,而将PhaseOut应用于旧产品,从而使新产品的需求数量逐渐增加而旧产品的需求数量逐渐减少,而二者的总和仍然维持一个稳定值。
6. 支持促销活动
各种促销活动会对销售产生重大的影响。这里的促销是广义的,它不仅指本公司开展的各类促销折扣或者展示会的活动,还包括其他同行业的竞争对手发起的活动以及其他营销市场的各类活动。受这些活动的影响,历史销售数据可能无法反应真实的销售情况,从而使需求计划失去准确的历史数据。
DP的促销计划功能,可以通过设置促销相关的信息,来调整历史数据,从而消除促销活动对历史数据的影响;另外还可以对已经产生的需求计划设置促销信息,从而调整促销期间的需求计划(如增加需求)。
除了上述主要功能外,SAP SCM APODemand Planning 还有很多非常实用的附加功能,如利用宏(macro)来灵活的操作和修改历史和预测数据,并生成异常警告(Alert)以便通知用户对异常情况进行手工干预;如基于特性值的计划(characteristic based planning),季节性计划(seasonal planning)等其他特殊的计划预测方式等等;新版本的DP还支持与Microsoft Excel的整合,用户可以方便的利用Excel读取和编辑DP的数据。
有人问,计划预测之后,需求计划数据要如何使用呢?如果您不使用APO的其他计划功能,而是希望继续使用ECC系统中的MRP对预测数据进行生产计划的话,只需利用DP的Release功能将这些预测数据传到ECC系统即可。但是更多的客户选择了继续使用APO的其他计划功能(SNP,PPDS)对这些预测数据进行生产计划。APO的强大功能,能够比ECC更加精确和合理的进行生产计划哦。如果您对它们感兴趣的话,请继续关注我们的长文。