为什么零销售(至少)有两种情况

博客

为什么零销售(至少)有两种情况

在零售业预测中,在训练和应用需求模型时需要特别注意零销售事件。很难事后查明,零销售事件是真的见证了某一天需求的消失(如 "没有人从货架上拿走该产品"),还是预测的产品根本没有上市(如 "该产品甚至没有摆上货架")。值得庆幸的是,通过比较预测的零销售概率和观察到的零销售事件频率,可以检查数据与预测模型的一致性。当这些数据不一致时,即观察到零销售额的次数比预测的多得多或少得多时,就诊断出了一个重大但明确的数据问题。

零是否存在,如果存在,有多少种存在方式?

数字 "零 "在人类的抽象能力中已经消失了很长时间,令人惊讶。不同的古代文化以不同的方式对待 "没有任何东西",科学史家至今仍在争论 "零 "作为一个符号是何时以及如何被发明出来并成为数学主流的一部分。例如,罗马数字中甚至没有零的符号,这可能是因为罗马人将数字用于会计,而不是算术。亚里士多德甚至否定了 "零 "是一个数字的概念--当你不能被它除尽时,它还有什么用呢?公元七世纪,印度数学家和天文学家婆罗门古普塔开始使用和分析书写的 "零",随后,"零 "传入汉语和阿拉伯语,并通过后者传入欧洲文化。

当然,您了解零,并能自如地使用它。因此,让我们把几个世纪以来的数学讨论快进到利用人工智能(AI)和机器学习(ML)应用预测零售需求的阶段。我在此认为,只有一种 "零 "是不够的。要正确描述零售业的销售额,至少需要两个不同的 "零 "概念。其中一个必须保留在训练数据集中,另一个必须删除。

一方面,产品可以上市并向公众提供:商店开着,收银机和其他一切都正常运转,但就是没有顾客愿意购买!在这种情况下,零销售事件反映了实际需求不足,消费者对该产品缺乏兴趣。理想情况下,我们的需求预测模型不会被这个零 "吓到",因为它预测到观察到零的概率并不小,但也是有限的。

真正的需求不足会导致需求为零,我想把它与可用性为零区别开来。后一种 "零 "仅仅是由于无法获得产品而引起的。客户甚至没有得到产品,即使他们想买,也没有机会(我们永远不会知道)。昨天,我并没有以 99 美元的价格卖出一部 iPhone,但这只是一种微不足道的说法,因为我甚至没有向任何人提供任何 iPhone。如果是我出价,我的期望价格适中,会引起相当大的需求,很可能会找到买家。我也没有在网上出售我提供的二手婴儿车--那信息量更大,是零需求。需求为零反映出该物品并不特别受欢迎(说得轻一点),而无法获得为零则与物品的真实需求无关。

买不到的原因有很多:最重要的是,库存可能被消耗殆尽--这时根本就没有东西可卖了。因此,在我们的数据中,有一栏精心策划的早间股票价值是非常好的。然后,我们可以重新使用本博文中介绍的方法。然而,我们遇到的往往不是这样的数据质量天堂:库存信息不可用,或者至少不完全可信。但是,即使整合了可靠的库存值,我们也不能完全确定货架上是否真的有这种产品--它可能被存放在里屋,商店经理可能已经决定今年提供这种产品的时间过早或过晚。

无法提供掩盖了真正的需求:要了解一件商品的需求量,我们需要提供它。我不知道一件带粉色洒花的绿色雨衣会引起多少需求,除非我把它摆上货架,贴上价格标签,然后提供给顾客。如果不提供产品,我只能假设需求,而无法衡量需求。

综上所述,我对 "零 "的概念有以下两种:零需求 "是一种行为良好的需求,它诚实地传达了一个信息(也许是欺骗性的),即货架上的产品并不受欢迎(顺便问一句:有人需要二手婴儿车吗?)和可用性-0,它隐藏了真实需求的所有可能信息--需求可能是 0、1、14 或 2 766。很明显,我们需要将需求量零纳入模型训练,但如果将可用性零误认为需求量不足,就会造成巨大损失。

为您的供应链规划一条清晰的道路

每月通过《供应链指南针通讯》提供全球趋势和行业见解。 

零需求销售的可能性到底有多大?

在零售业中,我们经常会遇到泊松分布的问题(请参阅 "预测少有不同 "第一部分第二部分博文)。对于泊松过程,观察到 0 的概率随着平均率的增加而呈指数下降。也就是说,对于平均比率为 1 的泊松预测(即我们预期平均卖出一件),我们预期在大约 37% 的情况下观察到零--因此,这是很有可能的,而且一点也不奇怪。如果比率为 4,则概率变为 2% --我们预计每隔七周左右就会发生一次。如果预测值为 10,概率将下降到 0.005% ,如果预测值为 20,我们谈论的将是极其罕见的事件,即使发生也会让我们大吃一惊。诚然,泊松预测是一种理想化的预测:现实中的需求预测会更 "宽泛",因为在实践中,远离平均值的销售值比泊松分布预测的销售值更有可能出现。也就是说,我们对零销售的预期比上述数字要高。

如果我们只考虑每天购买约 20 次或更多次的高销量产品,任何出现的零都可以安全地解释为可用性为零。请看下面的售出单位时间模式:

why-zero-sales-come-in-at-least-two-kinds-body-01

 

很明显,在一月中旬的那一周,连续三天没有销售额,这其中一定有什么特殊的原因。真正的需求不可能连续三天如此强劲地下滑,然后再回升到最初的水平。显然,我们有可用性问题,应将其从培训中删除。

不过,在总体销售率并不高的情况下,要确定某一零点是需求零点还是供应零点并不容易:

why-zero-sales-come-in-at-least-two-kinds-body-02

在这种情况下,要判断零销售事件反映的是零需求还是零供应就难得多了。哪些零应该保留在训练中,哪些应该去掉?这个问题对于公正的培训至关重要:包括或不包括零的平均销售额差别很大。

销售额低的例子说明,有必要在转让或上市信息中预先说明某一天的销售额是否可预期。当产品没有供应时,不足为奇且信息量不大的零销售事件就是供应量为零。当产品上市时,零销售事件是需求为零,反映了需求量低。

通过预测零点概率评估一致性

假设我们已经整合了数据,包括列表和可用性信息。我们对观测到的需求(包括需求-零点,但不包括可用性-零点)进行了模型训练,并生成了预测结果。我们怎样才能知道有关零的类型的信息是否正确?对于一个给定的缓慢移动产品的销售事件(如第二幅时间序列图中的表现),我们不可能事后说明零是可得性零还是需求零。不过,我们可以对一组众多的预测和相应的观察结果做出判断:我们可以将观察到的所谓需求 "zeros "的频率与预测的频率进行比较。为此,我们绘制了预期零率与预测值(这只是一条指数递减曲线)的对比图:

why-zero-sales-come-in-at-least-two-kinds-body-03

请注意对数 x 轴,它跨越了从 0.01 到 100 的四个数量级。

现在,让我们将所有预测结果和结果按预测特征分组,例如,所有预测结果介于 0.8 和 1.2 之间,所有预测结果介于 1.2 和 1.5 之间,以此类推。你是否想知道为什么我们按预测而不是按结果分组?答案就隐藏在 " 你不应该总是知道得更好 " 这篇 博文 中。对于每一桶,我们将观测到的零的比例绘制成一个圆圈,圆圈的大小反映了观测数据的数量。在此,我们针对数据质量不同的三组不同预测和结果进行了分析:

why-zero-sales-come-in-at-least-two-kinds-body-04

先看看红圈。在每一轮预测中,观测到的数据零点数都与预测的需求零点数非常吻合。在这种情况下,数据是干净的(至少关于零):我们可以相信,平均而言,数据中的零是真正的需求零。我们永远不会知道出现的零是否真的是需求零,但没有证据可以质疑这一假设。

现在看看绿色数据集:观测到的零的比例总是过大。这说明数据存在系统性问题:当模型预测为 30 时,人们预期没有零,但在数据中却观察到 30% 个零。即使对 30 的预测有很大偏差,我们也不会想到会有这么多零。因此,许多可得性零位被错误地视为真正的需求零位。圆圈汇聚的 "高原 "表明存在一个恒定的可用性水平--zeros 感染了数据。应检查数据并包含上市信息,以确保销售数据中只包含所提供的产品。在产品的单个时间序列中,我们预计会看到类似上图中的假象。

橙色数据集是一种相反误差的例子:对于非常小的预测值,如 0.1,我们预计数据中会出现很多零,但观察到的零却少得多。显然,有些需求量零点被错误地解释为可用性零点,并从数据集中删除。同样,深入研究单个产品也有助于找出造成这种行为的确切原因。

简而言之,类似红色数据的图片可以帮助我们信任数据,而绿色和橙色的图片则可以让我们快速识别需求和可用性方面的失误。根据我们的经验,一旦零问题得到解决,许多其他关键绩效指标(如偏差)也会进入可接受值的范围。

将您的期望量化、明确化,并与观察结果进行比较

我们在这里没有做任何火箭科学的研究,如果我对预期管理不当,请原谅!我们只是向我们的模型提出了一个简单的问题("你平均期望该预测结果为零的频率是多少?"),并将经验观察结果与理论答案进行了比较。通常,模型中的偏差是由于对零销售事件的处理不当造成的。在需求预测项目中,使用类似的图表检查零点状态应该是诊断数据问题的一个标准步骤。

事实上,零这个数字在 ML 应用中仍然经常被误用。因此,没有证据(可用性为零)不应被解释为没有证据(需求为零)。明确这种区别有助于我们有理有据地决定将哪些数据点纳入模型训练,哪些数据点应该删除。