为什么需要考虑销量的随机性?

商品采购是库存管理的重要环节, 它的主要内容是制定商品的需求计划, 向供应商下采购单, 协调相关的资源(供应商, 人力, 车辆等), 最终满足企业在成本, 质量和效率等方面的综合指标. 本文探讨如何在采购时考虑销量的随机性, 从而降低库存管理的风险.

1. 销量预测

销量预测是制定需求计划的重要工具. 常见的做法是预测未来一段时间的 总销量值 作为需求. 因此销量预测的准确度直接决定了库存的风险: 当预测偏高时, 容易造成商品的积压; 反之, 则容易造成缺货. 为了解决商品缺货和库存积压的问题, 我们希望有一套强大的预测工具使得我们能准确知道未来的需求. 但现状却是:

销量预测永远是不准确的.

影响商品销量的因素不仅有商品自身的属性, 例如商品的质量, 品牌, 价格, 颜色等, 还有外在的因素, 例如销售的日期, 天气等. 除此之外, 用户的购买行为本身就是不确定的, 即使我们获取所有的影响因素也无法预知消费者会在哪天购买何种商品.

2. 考虑销量的随机性

我们在采购业务中可能面临如下困境:

  1. 由于运营活动或其它因素的影响, 商品出现积压和缺货的情形时有发生.
  2. 销量预测的准确度已达到瓶颈, 现有条件下无法继续提升效果.

在这种情况下, 我们应该如何库存管理?

我们先回顾之前的采购策略: 根据销量预测值计算需求, 然后计算采购量. 当预测出现偏差时, 我们直接承担由偏差带来的后果, 例如缺货. 下面我们考虑另一种思路: 执行多种预测模型, 并得到了不同的预测值, 根据每一种预测值, 我们计算对应的采购量, 并评估其收益或风险(例如缺货率). 最后, 在所有的可能性中选择收益最大或风险最小的方案. 第二种思路显然优于第一种思路, 因为它枚举了所有可能性, 并选择了使得业务目标达到最优的方案.

为了在实践中考虑销量的随机性并作出最优决策. 我们总结两点:

  1. 明确业务目标. 例如考虑库存成本和缺货率(服务水平). 采购策略必须和业务目标联系起来, 这样才能有效降低由于预测偏差带来的影响.
  2. 预测销量的概率分布. 概率分布的本质是 枚举所有可能性. 它为决策提供基本的输入.

3. 示例问题

考虑管理一个商品的采购. 我们的的业务参数, 目标和约束描述如下:

  • 日销量 给定参数\mu, \sigma, 商品的日销量独立且服从正态分布N(\mu, \sigma^2)
  • 仓库容量 W=100 (初始库存为0)
  • 采购周期 T=7天. 即, 从第一天凌晨开始采购, 每7天下一次采购单.

注意 为了简化计算, 我们不考虑生产排期, 生产和运输时间. 假设下单之后商品自动补满库存(累计不超过采购总量, 且在第7天时必须全部入库).

. 设第1天的采购量为200, 那么当天凌晨的库存为W=100 (剩余入库量100). 设第1天的销量是80. 那么第2天凌晨的库存仍然自动补足W=100 (剩余库存量20). 假设第3-7天的销量为0. 第7天所有剩余库存必须入仓, 此时库存容量为100 + 20 = 120, 因此发生爆仓.

  • 在一个采购周期结束的时刻, 如果库存量大于W, 我们认为发生一次爆仓.
  • 在任意一天结束的时刻, 如果当前的库存量为0, 我们认为发生一次断货.
  • 目标 尽量不要发生断货和爆仓.

Remark 由于商品销量服从正态分布且\mu,\sigma已知. 以"无偏预测"为目标, 我们可以做出最优的预测y_t=\mu (t代表未来任意一天).

4. 简单策略

这种策略不考虑销量的随机性. 直接利用销量预测计算商品的需求, 从而指导采购. 详细步骤如下所述.

  1. 预测未来1到7天的销量, 即y_t=\mu, 其中t=1, 2, \ldots, 7.
  2. 计算未来7天总需求: \sum_{t=1}^7 y_t = 7\mu.
  3. 采购量的计算公式: \max \{7\mu - s, 0 \}, 其中s代表当前库存量.

该策略非常简单直观, 因而在业界广泛使用. 它的缺点是 非常依赖预测销量的准确性. 如果预测值与实际值偏差大, 则会较大概率引发库存问题(即, 造成缺货或爆仓).

Remark 有人可能会说实际中可以考虑安全系数, 安全库存天数, 从而防止缺货发生. 事实上, 对安全系数/天数等参数的调整本质上是调整销量的预测值. 在这个例子中, 由于我们知道销量的分布, 因此我们已经做出"最优"预测(在无偏估计的前提下).

5 优化模型

基本思想是建立一个符合业务目标的数学模型, 然后计算最优的商品采购量. 设Y_7为未来7天的总销量. 由于日销量服从N(\mu, \sigma^2), 因此Y_7服从N(7\mu, 49\sigma^2). 已知当前库存s. 设采购量为x, 缺货的概率为\gamma_1, 爆仓的概率为\gamma_2. 目标是使得缺货和爆仓的概率的平方和最小. 因此我们得到如下数学模型:

\begin{aligned} \min \ & (\gamma_1 + \gamma_2)^2\\ \text{s.t. } & \text{Prob}(Y_7 \geq x + s) = \gamma_1\\ & \text{Prob}(Y_7 \leq x+s-W) = \gamma_2\\ & 0 \leq \gamma_1 \leq 1\\ & 0 \leq \gamma_2 \leq 1\\ & x \geq 0. \end{aligned}

6 实验结果

实验代码(Python3)

实验用到的基础数据如下:

  • 库存容量W=100
  • 采购周期T=7
  • 销售天数 = 180
  • 日销量的均值\mu\in \{20, 21, \ldots, 80\}.
6.1 缺货和爆仓的总天数

给定\sigma, 对所有均值\mu, 我们将会分别计算 简单策略优化模型 造成的缺货和爆仓的总天数.

  • \sigma=10. 实验结果如下图所示, 其中横轴为\mu值, 纵轴为缺货和爆仓的总天数. 蓝色线(naive)代表简单策略, 橙色线(uncertain)代表采购模型.

    Fig. sigma-10
  • \sigma=20.

    Fig. sigma-20

结论

  1. 优化模型明显优于简单策略.
  2. 当销量的随机性比较小且销量远低于仓库容量时(见Fig. sigma-10), 采购模型提升的效果尤其明显.
  3. 当销量的随机性变大, 随着\mu值的增加(见Fig. sigma-20), 采购模型带来的提升逐渐降低. 这个结果是符合我们预期的, 因为销量的不确定性越大, 最终出现爆仓或者缺货的概率也会越大.
6.2 库存变化

固定\mu=20, \sigma=10, 然后观察两种策略下库存的变化情况.

Fig. 库存变化
模型 平均库存 库存标准差 缺货天数 爆仓天数 总天数(爆仓+缺货) 占比
Naive策略 50 31 25 0 25 13.89%
采购模型 71 18 1 0 1 0.56%

从上表的数据我们发现, 采购模型保持了一个较高的库存水平, 因而降低了断货的风险. 通过比较库存标准差, 我们发现采购模型的库存变化比较稳定, 这得益于它考虑了销量的概率分布.

7. 总结

  1. 商品采购需要明确业务目标. 需求预测与业务目标不能分离, 而应该紧密联系在一起.
  2. 考虑销量的不确定性的目的是为了达成业务目标, 从而降低由预测偏差带来的影响.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容