从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

从预测需求到订购–使用Amazon Forecast的自动化机器学习方法可减少缺货,超额库存和成本

这篇文章是More Retail Limited的Supratim Banerjee与Ganit Inc.的Shivaprasad KT和Gaurav H Kankaria的嘉宾联合合作。

More Retail Ltd.(MRL)是印度排名前四的杂货零售商之一,收入约为数十亿美元。 它在印度拥有22个大卖场和624个超级市场的​​商店网络,由13个配送中心,7个水果和蔬菜收集中心以及6个主食加工中心的供应链提供支持。

拥有如此庞大的网络,对于MRL而言,以合适的经济价值提供合适的产品质量,同时满足客户需求并使运营成本降至最低至关重要。 MRL与作为其AI分析合作伙伴的Ganit合作,以更高的准确性预测需求,并构建了一个自动订购系统,以克服商店经理手动判断的瓶颈和不足。 使用的最大残留限量 亚马逊预报 将其预测准确性从24%提高到76%,从而使新鲜农产品类别的浪费减少多达30%,库存率从80%提高到90%,毛利润增加25%。

由于两个主要原因,我们成功实现了这些业务成果并构建了自动订购系统:

  • 实验能力 – Forecast提供了一个灵活的模块化平台,通过该平台,我们使用不同的回归变量和模型类型(包括传统模型和ML模型)运行了200多次实验。 团队采用了Kaizen的方法,从以前不成功的模型中学习,并且只有在成功的情况下才部署模型。 在部署获胜模型的同时,实验还在继续进行。
  • 更换管理层 –我们询问了习惯于使用业务判断来下订单的类别所有者,以信任基于ML的订购系统。 系统的采用计划可确保存储工具的结果,并以训练有素的节奏对工具进行操作,以便及时确定并记录已装满和当前的库存。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

预测新鲜农产品类别的复杂性

由于新鲜产品的保质期短,因此预测新鲜产品类别的需求具有挑战性。 过度预测后,商店最终会出售陈旧或过熟的产品,或者丢弃大部分库存(称为 收缩)。 如果预测不足,则产品可能缺货,这会影响客户体验。 如果客户在购物清单中找不到关键商品,他们可能会放弃购物车,因为他们不想只在少数几款产品中结账。 更复杂的是,MRL在其600多个超市中拥有许多SKU,导致超过6,000个商店-SKU组合。

到2019年底,MRL使用传统的统计方法为每个商店-SKU组合创建预测模型,其准确性低至40%。 预测是通过多个单独的模型维护的,因此在计算和操作上都非常昂贵。

需求预测到订单下达

2020年初,MRL和Ganit开始合作,以进一步提高预报新鲜水果和蔬菜(F&V)的准确性,并减少收缩。

加尼特(Ganit)建议MRL将他们的问题分为两部分:

  • 预测每个商店-SKU组合的需求
  • 计算订单数量(缩进)

我们将在以下各节中详细介绍各个方面。

预测需求

在本节中,我们讨论预测每个商店-SKU组合的需求的步骤。

了解需求驱动力

Ganit的团队首先了解推动商店内需求的因素,从而开始了他们的旅程。 这包括多次现场商店访问,与品类经理的讨论以及与超市首席执行官的节奏会议,再加上加尼特自己在其他方面的内部预测专业知识,例如季节性,缺货,社会经济和宏观经济因素。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

逛完商店后,针对多种因素制定了大约80种假设,以研究它们对F&V需求的影响。 该团队使用相关性,双变量和单变量分析以及统计显着性检验(学生的t检验,Z检验)等技术进行了全面的假设检验,以建立需求与相关因素(如节日日期,天气,促销等)之间的关系。 。

资料分割

该团队强调要开发一种精细的模型,该模型可以准确地预测每天的商店-SKU组合。 销售贡献和易于预测的组合被构建为ABC-XYZ框架,其中ABC指示销售贡献(A为最高),XYZ指示预测容易(Z为最低)。 对于模型构建,第一重点是商店-SKU组合,这些组合对销售额的贡献最大,最难预测。 这样做是为了确保提高预测准确性具有最大的业务影响。

资料处理

MRL的交易数据的结构类似于常规的销售点数据,并具有以下字段:移动电话号码,账单号,商品代码,商店代码,日期,账单数量,实现价值和折扣价值。 该团队使用最近两年的每日交易数据进行模型构建。 分析历史数据有助于识别两个挑战:

  • 存在大量缺失值
  • 某些天帐单级别的销售额极高或极低,这表明数据中存在异常值

价值缺失处理

深入研究缺失值可以确定原因,例如商店中没有可用的存货(没有供应或没有旺季),以及由于计划的假期或外部限制(例如区域或国家关闭或建筑工作)而关闭商店。 缺少的值将替换为0,并在模型中添加了适当的回归变量或标志,以便模型可以从中学习有关任何此类未来事件的信息。

离群值处理

该团队以最细密的账单级别处理离群值,从而确保考虑了清算,批量购买(B2B)和质量差等因素。 例如,账单级别的处理可以包括在一天的级别上观察每个商店-SKU组合的KPI,如下图所示。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

然后,我们可以标记异常高价出售的日期作为离群值,然后更深入地探究那些已识别出的离群值。 进一步的分析表明,这些离群值是预先计划的机构购买。

然后,将这些帐单级别的异常值限制为该日期的最大销售数量。 下图显示了账单级别需求的差异。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

预测过程

团队在选择“预测”之前,测试了多种预测技术,例如时间序列模型,基于回归的模型和深度学习模型。 选择“预测”的主要原因是,比较XY铲斗和Z铲斗的预测精度时,性能存在差异,这是最难预测的。 尽管大多数常规技术在XY铲斗中均提供了更高的精度,但与其他模型相比,仅Forecast中的ML算法提供了10%的增量精度。 这主要是由于Forecast具有学习其他SKU(XY)模式并将这些学习应用于Z桶中高度易变项目的能力。 通过AutoML,预测DeepAR +算法成为获胜者,并被选为预测模型。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

进行迭代以进一步提高预测准确性

在团队确定Deep AR +为获胜算法之后,他们进行了一些具有附加功能的实验,以进一步提高准确性。 他们对较小的样本集执行了多次迭代,并使用了不同的组合,例如纯目标时间序列数据(有无异常处理),节日或商店关闭等回归变量以及商店项目元数据(商店项目层次结构),以了解最佳组合提高预测准确性。 离群处理的目标时间序列与商店项目元数据和回归变量的组合返回了最高的准确性。 这已还原为原始的6,230个商店-SKU组合,以获取最终预测。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

订单数量计算

在团队开发了预测模型后,下一步就是使用它来确定要购买和下订单的库存量。 订单生成受预测需求,现有库存和其他相关店内因素的影响。

以下公式用作设计订单结构的基础。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

团队还考虑了自动订购系统的其他缩进调整参数,例如最小订货量,服务单位系数,最小结余库存,最小展示库存(基于货架图)和填充率调整,从而弥合了机器与人之间的差距智力。

平衡预测不足和预测情景

为了利用缺货和销售损失的成本来优化收缩的输出成本,团队使用了Forecast的分位数功能将预测响应从模型中移出。

在模型设计中,在p40,p50和p60分位数处生成了三个预测,其中p50是基本分位数。 分位数的选择被编程为基于最近的库存不足和商店中的浪费。 例如,如果特定商店-SKU组合在最近三天内面临连续缺货,则会自动选择较高的分位数,而如果商店-SKU出现大量浪费,则会自动选择较低的分位数。 分位数增加和减少的数量取决于商店中缺货或短缺的程度。

通过Oracle ERP自动下订单

MRL通过将Forecast和缩进订购系统与Oracle的ERP系统集成而在生产中部署了Forecast和缩进订购系统,MRL将其用于下订单。 下图说明了最终的体系结构。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。

为了将订购系统部署到生产中,所有MRL数据都已迁移到AWS中。 团队设置了ETL作业以将活动表移至 亚马逊Redshift (用于商业智能工作的数据仓库),因此Amazon Redshift成为将来所有数据处理的唯一输入来源。

整个数据架构分为两部分:

  • 预测引擎:
    • Amazon Redshift中存在的使用过的历史需求数据(1天需求滞后)
    • Amazon Redshift保留了其他回归器输入,例如上次账单时间,价格和节日
    • An 亚马逊弹性计算云 (Amazon EC2)实例是使用自定义Python脚本设置的,用于处理事务,回归数据和其他元数据
    • 数据争用后,数据被移至 亚马逊简单存储服务 (Amazon S3)存储桶以生成预测(所有商店-SKU组合的T + 2预测)
    • 最终的预测输出存储在S3存储桶中的单独文件夹中
  • 订单(缩进)引擎:
    • 将预测转换为订单所需的所有数据(例如,现有库存,已收到的要存储的数量,要接收的最近两天的订单,服务单位因子以及基于货架图的最小期初和期末库存)都已存储并维护在Amazon Redshift中
    • 通过在EC2实例上运行的Python脚本计算订单数量
    • 然后将订单移至Oracle的ERP系统,该系统向供应商下订单

整个订购系统被分解为多个关键部分。 该团队为每个流程设置了Apache Airflow的计划程序电子邮件通知,以在成功完成或失败时通知各自的利益相关者,以便他们可以立即采取行动。 然后,将通过ERP系统下达的订单移至Amazon Redshift表中,以计算第二天的订单。 AWS和ERP系统之间易于集成,导致了一个完整的端到端自动化订购系统,零人工干预。

结论

基于ML的方法为MRL释放了数据的真正力量。 通过Forecast,我们为不同的商店格式创建了两个国家模型,而我们已经使用了1,000多个传统模型。

预测还可以跨时间序列进行学习。 Forecast中的ML算法可实现商店SKU组合之间的交叉学习,从而有助于提高预测准确性。

此外,“预测”允许您添加相关的时间序列和项目元数据,例如根据购物篮中的项目组合发送需求信号的客户。 预测会考虑所有传入的需求信息,并得出一个模型。 与传统模型不同,在传统模型中,变量的添加会导致过度拟合,而Forecast则丰富了模型,并根据业务环境提供了准确的预测。 MRL能够根据货架寿命,促销,价格,商店类型,富裕集群,竞争性商店和商店吞吐量等因素对产品进行分类。 我们建议您尝试使用Amazon Forecast来改善您的供应链运作。 您可以了解有关Amazon Forecast的更多信息 相关信息。 要了解有关Ganit和我们的解决方案的更多信息,请访问 info@ganitinc.com 了解更多信息。

本文中的内容和观点是第三方作者的观点,AWS对本文的内容或准确性不承担任何责任。


作者简介

 从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。素帕蒂姆·巴纳吉(Supratim Banerjee)首席转型官 at 更多零售 有限的。 他是一位经验丰富的专业人员,具有在风险投资和私募股权行业工作的悠久历史。 他曾是毕马威(KPMG)的顾问,并曾与AT Kearney和India Equity Partners等组织合作。 他拥有海得拉巴印度商学院的金融专业MBA学位。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。希瓦普拉萨德 KT联合创始人兼首席执行官 at 加尼特公司 他在美国,澳大利亚,亚洲和印度使用数据科学提供顶线和底线影响方面拥有17年以上的经验。 他曾在沃尔玛,山姆俱乐部,辉瑞,斯台普斯,科尔斯,联想和花旗银行等公司担任CXO的顾问。 他拥有孟买SP Jain的MBA学位和NITK Surathkal的工程学学士学位。

从预测需求到订购 – 使用 Amazon Forecast 的自动化机器学习方法,可减少缺货、库存过剩和成本 PlatoBlockchain 数据智能。垂直搜索。人工智能。高拉夫·H·坎卡里亚(Gaurav H Kankaria)资深数据科学家 at 加尼特公司 他在设计和实施解决方案方面拥有6年以上的经验,可以帮助零售,CPG和BFSI领域的组织制定数据驱动型决策。 他拥有Vellore VIT大学的学士学位。

资料来源:https://aws.amazon.com/blogs/machine-learning/from-forecasting-demand-to-ordering-an-automated-machine-learning-approach-with-amazon-forecast-to-decrease-stock-超额库存和成本/

时间戳记:

更多来自 AWS机器学习博客