使用过去几年的销售额预测明年的销售额?

数据挖掘 r 数据 xgboost 预报
2022-03-15 18:08:23

我有一个公司三年来不同产品的销售数据集。我必须预测这些产品明年的销售情况。数据集的一个样本是:

表格片段在这里

在这里,我必须根据每种产品 3 年的销售记录来预测第 4 年的销售额。

NA 出现在特定产品在那一年没有售出的地方。

问题

1.我应该使用哪种算法来预测第 4 年的销售额?我听说过 ARIMA 和 xgboost 用于时间序列数据。你能帮我吗?

2.现在我收到了一个以前没有卖过的新产品。我被要求使用其他产品的销售数据来预测其第 4 年的销售额:

表格片段在这里

我应该如何解决这个问题?

请帮帮我。提前感谢您的时间和支持。如果我的文档或问题很差,我很抱歉。

3个回答

如果您有每日数据,您可以创建一个虚拟时间日历,即您为一周中的每一天创建一个虚拟变量,并包括您公司针对每种产品、圣诞节、复活节、公共假期的促销活动。然后使用 autoarima() 或 nnetar()(或将它们结合起来)来预测您想要的时间范围。这个链接就是一个很好的例子。

另一种可能的方法是使用以下论文的方法:“Hsiang-Fu Yu, Nikhil Rao, and Inderjit S. Dhillon. 2015. Temporal Regularized Matrix Factorization. CoRR abs/1509.08333 (2015)”这篇论文可以帮助你与预测新产品。

或者对于预测新产品,您可以从历史数据中找到可比产品,然后使用这些可比产品的销售数据来预测新产品的性能。

如果你的数据真的像上面那样,我想你可以使用 Hsiang-fu 的论文。这是一个好方法。

对于自回归预测,您可以阅读 Rob Hyndman 的博客。

正如其他人所提到的,信息越多越好。

但是,假设您需要向其他非技术人员解释预测,我建议您使用指数加权移动平均线简而言之,EWMA 将赋予最近的历史销售更高的权重。

我附上了一些R 示例来突出指数平滑

  1. 鉴于过去 3 年的历史,要更准确地生成明年的预测,您将需要更细粒度的数据。至少每月销售,以便预测可以捕捉趋势和/季节性。使用三个数据点,您最多可以生成移动平均预测。这不是很好。如果您有更细化的数据,请使用 R 中的预测包。 Forecast() 函数将根据时间序列模式选择最佳方法。您也不必担心平稳性或异方差性。

  2. 对于新产品,您有两种选择。探索扩散曲线,例如低音。或者,如果与现有产品有共同属性,则将预测曲线基于之前的新产品发布。如果是全新的产品线,请评估市场趋势以生成预测。新产品预测本身就是一个非常困难的问题。