简介:本文介绍了Databricks如何帮助零售商从零售行业的痛苦点进行需求和库存预测的需求和库存预测。
作者:Li Jingui Alibaba Cloud开源大数据平台开发工程师
本文介绍了Databricks如何帮助零售商从零售业需求预测和存储产品模型预测的实践证明中执行需求和库存预测,以实现成本控制和收入增长。
本文分为以下四个部分:
1.消费者需求预测对零售业的重要性
2.数据的准备和可视化
3.建立基于DDI-产品模型的单个商店
4.将预测模型扩展到产品的预测
首先,需求预测对于零售商至关重要。如果商店中的商品太多,货架和仓库的空间很紧,产品容易到期,财务资源受库存的约束。零售商不能利用带来的新机会制造商错过了消费者模型的转型。
由于商店中的商品太少,客户无法购买商店购买的需求。不仅会导致零售商的收入损失,但是随着时间的流逝,消费者的失望会促使消费者转向竞争对手。
总而言之,预测消费者需求的准确性和及时性对于零售商非常重要。
在下面,我们使用零售数据来模拟如何使用DDI的笔记本和Facebook先知来建模和预测消费者的需求。
我们现在需要的数据已上传到OSS桶,接下来,我们开始对消费者的需求进行建模和预测。当数据上传到OSS时,可以在DDI的笔记本上分析和建模数据。
这次使用的数据集是从2012年到2017年的10家商店的50个产品的销售数据。数据包含四列。第一列是日期。第二列是商店的ID(1-10);第三列是产品的ID(1-50);第四列是当天商品的销量。
该实验的目的是在未来三个月内预测每家商店中这些产品的销售,并为商店的未来库存准备提供指导。
在默认配置下,由YARN分配的执行者CPU为1核,内存为2G。为了使我们的分析更快,我们可以适度增加CPU的核心数量和分配的内存大小。
通常,在以CSV格式阅读大量数据之前,将提前定义架构。此简单的预处理可以避免SPARK的大量工作来推断数据类型,因此Spark会更快地读取数据。
定义模式后,将培训数据读取到Spark的数据框架中。
阅读数据框后,可以通过熟悉的SQL语句分析数据。您可以使用DataFrame的CreateRreplaceTemPview方法来创建临时视图。
创建视图之后,分析数据框中的数据。首先分析销售数据的趋势。从图表可以看出,在过去的几年中,商店的销售额稳步增加,以及线性增长的总体趋势正在显示。预测明年的销售额时,您可以参考过去几年的增长率。
同时,产品销售通常具有较强的季节性,尤其是服装行业。夏季T衬衫的销售必须高于销售夹克的销售。因此,季节性是预测销售销售时不容忽视的因素商品。
如上图所示,从2013年到2017年,产品销售继续上升。在这一年中,商品的销售表现出了很强的周期性。
在12月或1月,商品的销售到达了山谷。随着月份的持续增长,销售在7月达到顶峰。因此,建模时,月份是重要的特征之一。
在上图中,0代表星期一,1代表星期二...每周销售7天,也显示出强烈的周期性。周日的销量达到最高。
先知是Facebook开源的时间序列预测算法。先知的使用非常简单。您只需要输入已知时间序列和相应值的时间戳,以及需要预测的时间序列的长度。先知可以输出未来的时间顺序趋势。
接下来,预测所有商店和产品的组合。首先选择商店1和项目1进行预测,并熟悉先知的使用。
第一步是为模型训练组装历史数据。预言的模型相对简单,相当于先知的对象。在此对象中,地理定义为线性。
在数据探索阶段,结论是,商品的销售不仅具有本周和一周之间的周期性,而且还具有周期性的周期性。模型。
训练后,您可以使用此模型来预测接下来的90天的趋势。
从上图可以看出,商品的整体销售逐年增加。商品销售受到季节和假期变化的影响。
最后,它在接下来的90天内缝合真实的数据和预测数据。从2017年到2018年1月。从2018年1月至2018年4月的接下来的90天进行预测数据。如上图所示,带有黑点的数据是真实的数据。
通过获得历史数据和预测数据的准确性。可以预测某些精度指标,例如MAE,MSE和RMSE。
接下来,开始建立一个更完整的模型,以预测商店(10家商店)和产品(50个项目)的所有组合。建立模型的第一步是准备数据。
培训数据有四列。相当于每个商店的组合,在特定日期的销售。然后,为这些数据建模。
创建一个先知对象并创建模型。每年和年度设置为真,然后预测接下来90天的趋势。
从预测数据中,提取了一些必需的字段和历史数据。将历史数据和预测数据融合在一起,将存储ID和产品ID设置在结果数据中,然后返回数据集。将每个商店和产品设置模型培训投资组合,并将预测结果写入OSS。
接下来,加载预测导致oss to spark.select时间戳,商店和预测值。选择日期应大于2018年1月1日。按时间和存储组合进行计算。预测的商店销售,如上图所示。
接下来,开始计算每个模型的测试索引。首先,定义用于计算模型的UDF测试指标。获取训练日期,计算组装的训练指标。
上图显示了从10家商店形成50种产品的预测结果。最终,每个商店和商品的组合以及销售模型的建立和预测。
原始链接
本文是阿里巴巴云的原始内容,未经许可就无法重印。
原来的;https://juejin.cn/post/709888888239905243166