端到端供应链优化案例研究:需求预测 + 库存优化(十二)

本篇文章聚焦于供应链中的库存优化,技术亮点在于通过机器学习改进预测精度,成功将预测误差降低25%,并在六个月内实现库存过剩减少40%。该方法适用于需要优化库存和提升服务水平的商业场景,特别是制药行业,帮助企业在降低库存的同时保持高服务水平(>95%)。


文章目录

  • 1 项目背景
    • 1.1 业务情况
    • 1.2 我们的端到端解决方案:需求预测与库存优化
  • 2 需求预测
    • 2.1 需求预测的问题
      • 2.1.1 需求行为不稳定
      • 2.1.2 缺乏数据
        • 2.1.2.1 有限的历史数据
        • 2.1.2.2 缺乏需求驱动因素
        • 2.1.2.3 无产品生命周期数据
      • 2.1.3 缺乏缺货数据
    • 2.2 SupChains 解决方案
      • 2.2.1 预测指标
      • 2.2.2 机器学习预测引擎
      • 2.2.3 结果
    • 2.3 预测期内的结果
  • 3 库存优化
    • 3.1 库存问题定义
    • 3.2 SupChains 的库存模型
      • 3.2.1 数据要求
      • 3.2.2 库存模型
    • 3.3 业务成果


1 项目背景

在这个两部分的验证性概念项目中,SupChains 和 DragonRitter(一个预测即服务平台)帮助一家医药分销商在优化其服务水平的同时减少库存。该概念验证项目显示,在六个月内,预测误差减少了 25%,预期库存过剩减少了 40%,同时确保了更高的服务水平(高于当前 80% 的 95%)。此外,该模型还为客户提供了一份滞销库存清单,以便他们立即采取行动。

基于这些初步结果(于 2022 年 11 月公布),客户决定从 2022 年 12 月起使用我们的预测引擎,并从 2023 年 1 月起根据该模型规划其采购。

1.1 业务情况

我们的客户是一家活跃于拉丁美洲的医药分销商,拥有十几个活跃仓库和约 10,000 种独特产品。2021 年,他们报告的总收入为 10 亿美元,雇佣了超过一千名员工。

与全球许多供应链一样,他们同时面临滞销库存和短缺:尽管库存相当于 45 天的销售额,但他们在 2022 年仅实现了60% 的满足率(在我们用于概念验证的仓库中高达 80%)。他们寻求 DragonRitter(一个预测即服务平台)和 SupChains 的帮助,以提出一个联合的端到端解决方案。

我们客户的目标是提高其服务水平,同时减少其总库存。

1.2 我们的端到端解决方案:需求预测与库存优化

为实现库存减少和服务水平提高的双重目标,SupChains 建议采用两步法:

  1. 提高预测质量:通过实施机器学习预测引擎。
  2. 计算适当的库存水平:[捕捉需求和供应的可变性],以达到所需的服务水平目标。

由于我们的客户没有合适的预测引擎,我们通过开发一个利用我们机器学习专业知识的定制预测引擎来启动该项目。

2 需求预测

2.1 需求预测的问题

为了支持其供应链决策,分销商需要针对未来 26 周的每个仓库、产品和每周的准确预测。这代表着大约 100,000 种组合。(概念验证项目侧重于单个仓库。)

我们可以访问历史销售数据(按客户渠道划分)——这是主要要求。但输入模型的信息可以通过促销、积压订单、短缺、产品信息、价格等进行丰富。不幸的是,这个项目数据集呈现出两个主要困难:不稳定的需求行为和缺乏丰富数据。让我们详细讨论这两点。

2.1.1 需求行为不稳定

该数据集尤其偏斜,平均每周销售量为 30 个单位,但中位数为 0 个单位(见下图)。

图 1 超过 50% 的观测周期销售量为零。

此外,99% 的销售观测值低于 400 个单位,但剩余的 1% 在单周内销售量高达 80,000 个单位。

图 2 99% 的销售观测值低于 400 个单位,但有些产品在单周内销售量高达 80,000 个单位。

为了说明这种不稳定的需求,您可以查看下图所示的他们最畅销产品之一的匿名需求模式。这种模式极不规律:平均订单数量是中位数的四倍——需求变异系数约为 150%(而通常情况下,畅销产品享有更稳定的需求模式)。

图 3 即使是畅销产品也显示出不稳定的需求模式(匿名数据)。

2.1.2 缺乏数据

机器学习模型特别适合处理丰富需求数据集(包括需求驱动因素,如促销和定价;以及额外信息,如历史短缺)。不幸的是,正如以下段落所详述的,我们在此次概念验证中无法访问这些额外信息。

2.1.2.1 有限的历史数据

客户的 ERP 系统仅允许保留长达 3.5 年的历史销售数据。这种限制在供应链中不幸地司空见惯,是实现最佳准确性的一个重大缺陷。

2.1.2.2 缺乏需求驱动因素

机器学习模型特别适合从各种需求驱动因素(定价、促销、短缺)中收集洞察力,以生成准确的预测。

对于这个具体案例,我们只能收集历史价格。

2.1.2.3 无产品生命周期数据

不幸的是,在这个最初的概念验证中,我们没有机会访问产品生命周期数据。如下图所示,标记产品生命周期是一个至关重要的最佳实践,它将始终导致更高的预测准确性和更适合新产品的库存目标。

图 4 — 类似产品的旧版本和新版本的组合。组合数据将用于预测未来销售(数据:化工厂)。

我们强烈鼓励所有供应链从业者尽可能多地保留历史数据,并以清晰、一致的方式存储。

2.1.3 缺乏缺货数据

我们的客户,像任何供应链一样,正在遭受短缺。在短缺期间,他们的客户(零售商和药店)将不会下订单。这意味着,如果您使用历史订单数据来预测未来需求(参见下图中的示例),您将因这些短缺而使您的时间序列出现零期

图 5 短缺对销售额的影响(数据:在线零售商)。

不幸的是,我们没有获得关于历史短缺的精确数据。(对历史库存水平的严格分析将在 2023 年晚些时候完成。)

总而言之,这个数据集和预测设置尤其具有挑战性,因为需求模式不稳定,而且我们缺乏丰富数据(需求驱动因素、短缺、产品生命周期)。

2.2 SupChains 解决方案

2.2.1 预测指标

由于数据集不稳定,我们选择了平均绝对误差(MAE,或图中的简单“预测误差”)和偏差的简单组合来评估我们预测的质量。这种组合的优点是易于解释,同时兼顾准确性和偏差。

2.2.2 机器学习预测引擎

我们开发了一个基于树的机器学习模型。该模型利用最新技术(CPU 多线程和 GPU 计算)在 5 分钟内使用笔记本电脑生成预测

2.2.3 结果

如下图所示,我们的机器学习模型与基准(12 周移动平均线)相比,提供了超过 25% 的预测附加价值我们将附加价值计算为评分指标(MAE 和偏差的组合)的百分比减少。

图 6 我们的机器学习模型与基准相比,实现了 27.9% 的 FVA。由于需求模式不稳定,基准的绝对误差远高于 100%。

尽管缺乏丰富数据,我们仍能提供这惊人的 25% 附加价值。如果数据集能够通过需求驱动因素(营销和促销)、生命周期信息(前身和继承者)以及短缺数据进行丰富,我们可以取得更好的结果

2.3 预测期内的结果

如下图所示,我们的机器学习模型在 26 周的预测期内提供了准确的预测。我们的模型每周损失约 0.5% 的准确性,而基准损失约 0.25%。从偏差来看,机器学习模型提供了稳定的结果——正确捕捉了长期趋势、周期和季节性。

这种差异可以通过偏差的演变进行机械解释:当偏差较低时,绝对误差通常会减小。由于基准在长期预测中实现了较低的偏差,因此它也受益于减小的绝对误差。

3 库存优化

3.1 库存问题定义

这是供应链优化项目的第二部分。本部分重点关注库存优化。

在这个由两部分组成的概念验证项目中,SupChains 和 DragonRitter(一个预测即服务平台)帮助一家制药分销商在优化服务水平的同时减少了库存。该概念验证显示,在六个月内,预测误差减少了 25%,预期过剩库存减少了 40%,同时确保了更高的服务水平(>95% 相比目前 80%)。此外,该模型为客户提供了一份滞销品清单,以便他们立即采取行动。

基于这些初步结果(于 2022 年 11 月提出),客户决定从 2022 年 12 月起使用我们的预测引擎,并从 2023 年 1 月起根据模型规划其采购。

为了实现减少库存和提高服务水平的双重目标,SupChains 建议采用两步法:

  1. 通过实施机器学习预测引擎来提高预测质量
  2. 计算适当的库存水平,捕获需求和供应变异性,以实现所需的服务水平目标。

在这个业务案例的第一部分,我们介绍了我们的预测解决方案及其结果——预测误差减少了 25%(尽管数据很少)。

让我们继续讨论库存优化引擎。从业务角度来看,我们的目标是评估需要多少库存才能达到所需的满足率。一旦我们有了这个目标,我们就可以评估当前的_库存质量_以及它将如何根据我们的建议(库存目标和预测)演变。从数学角度来看,我们需要为每个产品-仓库组合评估最佳库存水平,基于所需的安全库存(以达到服务水平目标)和预期周期库存(基于供应策略)。

库存质量。实现所需服务水平实际所需的总库存百分比。从技术上讲,我们将库存水平分为周期库存、安全库存和过剩库存,并计算质量比率,即:库存质量 = (周期库存 + 安全库存) / 过剩库存

为此,我们将:

  1. 分析历史预测误差。
  2. 使用我们的库存模型计算库存目标(基于历史预测误差、满足率目标和提前期)。
  3. 将这些目标与当前的实际库存水平(和即将到来的交货)进行比较。
  4. 仿真系统中模拟 26 周,以查看库存质量将如何随时间演变。

让我们详细说明我们创建模型所采取的步骤。

3.2 SupChains 的库存模型

3.2.1 数据要求

创建高级库存模型需要大量信息:

  • 历史预测误差。为了生成这些误差,我们使用我们的预测模型生成了两年的历史预测。
  • 预期供应提前期和供应商可靠性。
  • 当前库存水平和预期交货。
  • 满足率目标。
  • 未来预测以模拟未来库存水平。

我们使用我们的预测引擎计算历史和未来预测,而客户提供了其他信息。

3.2.2 库存模型

我们创建了一个_动态库存_模型,旨在基于_自定义预测误差分布_,直接在每个产品的_风险范围_内计算_满足率_。

让我们逐一详细说明这些概念:

  • 动态目标。我们的模型能够根据预期需求适当调整其目标:更高的预测通常意味着保持更多安全库存是健康的。反之,如果预测较低(或下降),模型将减少其库存目标。
  • 预测误差。模型不着眼于每个时期的需求偏差(并假设需求呈正态分布),而是着眼于历史预测误差来估计未来误差。

关注历史需求偏差而不是预测误差是一个典型的错误,应该避免。换句话说,你不应该关注需求变异性(或 COV),而应该关注可预测性。

  • 自定义预测误差分布。模型不假设预测误差呈正态分布。相反,它为每个产品-仓库组合创建自定义误差分布。

请注意,我们不建议使用泊松分布,因为它不能正确描述低销量不规则产品。此外,它不适用于预测误差(预测误差可以是负数——而泊松分布严格为正)。

  • 风险范围。我们不着眼于每周(每个产品每个仓库)的预测误差,而是着眼于每个产品整个_风险范围_内的误差(传入供应提前期加上其订单评审期)。[1] 例如,如果一个产品有 3 周的提前期,每周下订单,我们将着眼于连续四周的预测误差分布。换句话说,对于每个产品,我们着眼于在整个风险范围内容可能发生的情况。

风险范围。你需要等待收到订单的最长时间。在此期间,你的库存有耗尽的风险。该术语在 [Inventory Optimization: Models and Simulations]_ 中创造。

图 1 衡量每周预测误差与衡量风险范围内的累积误差。

  • 满足率。模型的目标是_满足率_,而不是通常的_周期服务水平_(大多数软件供应商和通常的安全库存公式都使用周期服务水平。不幸的是,周期服务水平与业务绩效[相关性不佳]。

即使具有这些多重特性和改进,该模型仍然可以在几分钟内在笔记本电脑上运行。

3.3 业务成果

使用我们的优化引擎,我们运行了一个仿真系统,在 6 个月的范围内重现了 MRP 行为(见下图)。我们可以评估:

  • 实现目标服务水平需要多少库存,以及该水平如何随时间波动。
  • 当前的_库存质量_以及它未来将如何演变(随着过剩库存缓慢消耗)。

图 2 6 个月库存模拟。

模型首先补充所有缺失的货物(参见 11 月中旬的交货高峰)——直接效果是产品短缺和销售损失基本停止(假设供应不受限制)。

然后,过剩库存随着时间的推移而减少,因为它被预测缓慢消耗(从大约 700,000 单位到大约 425,000 单位)。部分过剩库存可以被认为是滞销品:在可预见的未来,自然消耗永远不会消耗当前的库存。相反,你可能需要与销售团队合作来处理这些产品。

从库存质量来看,它开始时较低,为 37%(换句话说,只有 37% 的初始库存是实现所需服务水平实际需要的)。六个月后,库存质量应达到 60% 的高水平。

如下图所示,我们还可以预测总库存天数将如何随时间演变。请注意,所需库存与实际库存之间的差距正在随着时间的推移而缩小(随着过剩库存的耗尽)。

最后,这项分析帮助团队发现了滞销品(即六个月后仍会过剩的产品),以便他们可以立即开始采取行动。


文章来自:An End-to-End Supply Chain Optimization Case Study: Part 1 Demand Forecasting
以及
An End-to-End Supply Chain Optimization Case Study:
Part 2 Inventory Optimization

手动推荐关联文章

作者Nicolas Vandeput、SupChains技术团队、供应链相关文章还有:

  • SupChains技术团队零售产品销量预测建模方案解析(一)
  • SupChains技术团队回答:模型准确率提高 10%,业务可以节省多少钱?(二)
  • SupChains团队: 衡量Forecast模型结果在供应链团队内的传递质量(三)
  • SupChains团队:供应链数据的异常特征管理指南(四)
  • SupChains技术团队:需求预测中减少使用分层次预测(五)
  • SupChains团队:全局机器学习模型在需求预测中的应用(六)
  • VN1 供应链销量预测建模竞赛技巧总结与分享(七)
  • SupChains团队:供应链新品预测建模的一些策略(八)
  • 供应链团队设置安全库存的五层境界(九)
  • 供应链项目中产品的ABC XYZ分类法弊端(十)
  • 供应链项目中库存管理与优化指南(十一)
  • 端到端供应链优化案例研究:需求预测 + 库存优化(十二)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/92471.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/92471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Harbor 企业级实战:单机快速上手 × 高可用架构搭建 × HTTPS安全加固

文章目录一、建立项目二、命令行登录harbor(配置在客户端即可)三、给本地镜像打标签并上传到harbor四、下载harbor的镜像五、创建自动打标签上传镜像脚本六、修改harbor配置七、实现harbor高可用7.1 安装第二台harbor主机7.2 新建目标,输入第…

进程管理、系统高负载、cpu超过800%等实战问题处理

进程管理与高负载实战:CPU 飙到 800% 时的分析与处理 在生产环境中,系统高负载和 CPU 异常占用是运维工程师最常面对的场景之一。 这篇文章将从进程管理基础讲起,到高负载问题定位,再到CPU 占用 800% 的实战处理,帮助你…

控制建模matlab练习12:线性状态反馈控制器-①系统建模

此练习,主要是使用状态空间方程来设计控制器的方法和思路: ①系统建模; ②系统的能控性; ③极点配置; ④最优化控制LQR; ⑤轨迹追踪; 以下是,第①部分:系统建模&#xff…

bytearray和bytes

bytearray和bytes不一样的地方在于,bytearray是可变的。 str 人生苦短,我用Python! bytes bytearray(str.encode()) bytes bytearray(b\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!) str bytes.d…

护网行动之后:容器安全如何升级?微隔离打造内网“微堡垒”

护网行动刚刚落下帷幕,但这场没有硝烟的攻防演练,留给安全行业的思考却从未停止。当“横向移动”成为攻击方屡试不爽的杀手锏时,一个过去可能被忽视的角落——容器网络安全,在本届护网中被推到了前所未有的高度。面对云原生时代容…

一动鼠标就锁屏,设备活动监控方案的技术实现与应用

摘要:本文探讨基于本地化监控机制实现设备操作追踪的技术方案,重点解析其触发逻辑与隐私保护机制。方案适用于需要监控设备使用场景的技术人员。一、核心功能实现原理触发监控机制键盘钩子:通过系统级键盘事件监听(AltL组合键激活…

从零开始学习:深度学习(基础入门版)(1天)

(一) opencv和opencv-contrib的安装(1.1)在桌面地底部的搜索栏,搜索命令提示符,点击并打开命令提示符(1.2)依次输入命令并按回车:pip install opencv-python3.4.18.65 -i…

SimpleMindMap:一个强大的Web思维导图

在信息爆炸的时代,如何高效地组织、记忆和表达复杂信息成为一项关键技能。思维导图作为一种强大的可视化工具,能够帮助我们理清思路、激发创意并提高学习效率。最近在逛github的时候发现了一个开源的思维导图工具SimpleMindMap,和家人们分享下…

正确使用 JetBrains

来自穷鬼的 marker !关键也不是全靠它吃饭,所以……请鄙视我就对了!2023.2.6 和 MybatisX 1.7.3 兼容性好像有些问题,会报错。想一想降级 MybatisX 不如升级一下 Idea。So, do this.官方下载安装包并装之。然后解锁无需下载文件、…

0_外设学习_ESP8266+云流转(no 0基础)

1、环境要求 2个ESP8266模块、2个USB转ESP8266,通过ESP8266_A-->(阿里云)云流转-->ESP8266_B,实现ESP8266_A发布话题,ESP8266_B订阅该话题。 2、阿里云云流转配置 1、基础要求: 添加1个产品&#xf…

AI漫画翻译器-上传图片自动翻译,支持多语言

本文转载自:AI漫画翻译器-上传图片自动翻译,支持多语言 - Hello123 ** 一、AI 漫画翻译器的核心定位 AI 漫画翻译器是专为漫画爱好者设计的智能翻译平台,通过深度学习技术实现漫画文本的精准识别与本地化转换。它能在保留原图排版和艺术风格…

有效介电常数

有效介电常数:如果导体的横截面被介质完全包裹,位于导体之间的电力线(如带状线)就会感受到相同的介电常数。然而,对于微带线、双绞线或共面线,导体周围的介质不是均匀的,所以一些电力线穿过空气,而另一些则穿过介质。图…

51c视觉~合集16

自己的原文哦~ https://blog.51cto.com/whaosoft/14117000 #港大成立计算与数据科学学院,计算机统计双剑合璧 刚刚,港大成立新的计算与数据科学学院,由计算机科学系和统计学系合并。马毅教授被任命为学院首任院长。 马毅教授官宣…

惯量时间常数 H 与转动惯量 J 的关系解析

惯量时间常数 H 与转动惯量 J 的关系解析 在电力系统稳定分析、旋转机械动力学等领域,惯量时间常数(H) 和 转动惯量(J) 是描述旋转体惯性特性的两个核心参数。二者虽然出发点不同,但在数学和物理层面具有紧…

DeepSeek-V3/R1 架构深度剖析:国产大模型的创新突围之路

本文深入解析 DeepSeek-V3/R1 的核心架构设计,揭示其如何在模型效率、推理性能与知识处理等维度实现突破,成为中文大模型领域的标杆之作。 引言:大模型竞技场中的"中国速度" #mermaid-svg-9Kk7tHp57CilWIFU {font-family:"trebuchet ms",verdana,arial,…

【从0到1制作一块STM32开发板】5. 整体布局

在之前的学习中,我偏向的多是嵌入式软件开发的工作,如果想要自己diy一款具备特定功能的嵌入式工具的话,还需要具备画板子的能力。但由于我目前还没学模电,故我打算直接找个b站的学习视频先跟着画个板子出来,简单理解各…

nflsoi 8.8 题解

感觉这把难,不过今天状态比较差,头昏昏的。怎么后面几道蓝题别人光速切掉了?不过赛后再来看感觉也不算特别麻烦的题目。 C.#11698 双循环锦标赛 / TopCoder 10687 The Basketball Div One 题意 约翰与布鲁斯对团体体育赛事颇有研究&#xff0…

面向真实场景的定制化图像降质模型设计方案

面向真实场景的定制化图像降质模型设计方案 1. 核心思路:从真实图像中学习退化模型 1.1 问题定义:合成数据与真实数据的域差距 在超分辨率(Super-Resolution, SR)算法的实际应用中,一个核心挑战源于训练数据与真实测…

计算机网络:一个 IP 地址可以同时属于 A 类、B 类或 C 类吗?

一个IP地址不可以同时属于A类、B类或C类。A类、B类、C类IP地址的划分有明确的规则,通过网络位的最高几位即可唯一确定其类别,不存在重叠的可能。 IP地址分类的核心规则(针对IPv4) IPv4地址由32位二进制数组成,通常分为…

利用哥斯拉(Godzilla)进行文件上传漏洞渗透实战分析

利用哥斯拉(Godzilla)进行文件上传漏洞渗透实战分析本实验通过DVWA靶机环境演示如何利用哥斯拉工具进行文件上传漏洞的渗透测试,最终获取目标服务器控制权限。实验环境 攻击工具:哥斯拉(Godzilla) v4.0.1靶机地址:http://192.168.3.101/dvwa目…