论文作者:Hanzhang Qin, David Simchi-Levi, Ryan Ferer, Jonathan Mays, Ken
Merriam, Megan Forrester, Alex Hamrick论文解读者:马玺渊 王艺桦
编者按
本次解读的文章发表于 Production and Operations Management,原文信息:Hanzhang Qin, David Simchi-Levi, Ryan Ferer, Jonathan May, Ken Merriam, Megan Forrester, Alex Hamrick (2022) Trading safety stock for service response time in inventory positioning. https://doi.org/10.1111/poms.13869
文章研究了在线零售环境下需求对服务响应时间敏感的库存布局 (inventory positioning) 优化问题。 该问题的主要挑战是要将由缩短交货时间带来的收益和因库存更接近市场需求而增加的库存成本此二者实现最佳平衡。
为预测服务响应时间变化下需求变化的影响,文章提出了需求预测和弹性模型来量化特定产品类别的需求敏感性。 另一方面,通过将产品库存定位至接近市场需求的位置来缩短响应时间可能会增加库存成本。
因此,文章进一步通过数据驱动的两阶段随机规划方法,来补充上述需求预测和弹性模型。该方法可以最佳地平衡安全库存与服务响应时间,从而增加收益。 文章通过北美一家电子商务零售商提供的数据来说明所提出方法的影响——其可作为供应链工作中的通用决策支持工具,完成库存网络的优化,以便每天为商店、配送中心和仓库生成建议的库存水平。
1 问题介绍
根据联合国贸易和发展会议的数据,电子商务行业在所有零售额中的份额大幅上升(仅 2020年,其从16% 增长至19%), 因此越来越多的在线零售商开始意识到优化供应链网络在提高在线销售渠道数字交易效率的重要性。 这为文章研究提供背景,其主要关注零售商如何在需求对服务响应时间敏感的环境中,利用数据来优化库存布局决策。而在电子商务平台中,大量在线购物者十分注重便利性和效率,因此他们的需求对交货时间高度敏感。 那么,在线零售商面临的一个关键挑战是使其供应链网络能够对需要快速交货的不确定需求做出高度响应,同时保持合理的运营成本水平。
为了进一步说明为配送时间来交割安全库存的想法,文章提供了一个简单的包含两个配送中心 (distribution centre, DC) 的示例。 假设某零售商有两个DC,分别位于A、B两区域,二者需求遵循相同的正态分布,该分布取决于是否有DC直接为零售商提供服务——若有,则需求服从 N ( μ h , σ h 2 ) \mathcal{N}(\mu_h,\sigma^2_h) N(μh,σh2),其中 μ h \mu_h μh和 σ h 2 \sigma^2_h σh2分别为正态分布的期望和标准差;若无,则服从 N ( μ l , σ l 2 ) \mathcal{N}(\mu_l,\sigma^2_l) N(μl,σl2). 假设A区和B区的需求是相互独立的,并且如图1,可通过 μ h > μ l \mu_h>\mu_l μh>μl来反映快速交付的价值。
图1:两区问题中的集中式策略与分散式策略
文章研究方法中所涉及到的库存共享 (inventory pooling) 概念,已被大量文献研究讨论,其历史可以追溯到 Eppen(1979), Eppen(1979)的经典分析描述了使用集中配送中心优势的平方根定律,其中集中安全库存水平仅以零售商数量的平方根的大小增长。之后大量文献针对轻尾需求、重尾需求、分布稳健的环境以及规避风险的决策者等不同情况进行了进一步讨论。针对更复杂的环境,研究者们提出联合地点库存模型 (joint location-inventory model),其中运营配送中心的固定成本和运输产品的运输成本也在配送中心网络设计中考虑。
另一方面,文献表明,快速配送不仅可以提高客户满意度,还可促进在线商店销售,因此,提供快速配送的能力对零售业也具有重大的业务影响。
据此背景,文章提出一种综合方法来优化服务敏感需求的库存配置:首先通过来自匿名零售商的历史交易数据和回归树为不同产品类别开发需求预测模型,进而使用需求预测数据来计算需求的服务水平弹性,并将其作为两阶段随机规划问题的输入,以最大化利润。
为了解服务响应时间潜在变化下的需求敏感性,文章需要开发基于数据的需求模型。 文章所采用的的需求分析方法建立回归树方法 (regression tree method) 和非参数保形等渗回归 (non-parameteric shapepreserving isotonic regression) 基础上。
值得注意的是,库存共享和快速交付的本质上是矛盾的,因为库存共享建议集中备货(以聚集安全库存),而快速交付则建议分散备货(令安全库存更贴近客户) 。 为平衡二者关系,文章提出两阶段随机模型,其中假设需求是从潜在的概率分布中随机抽取的。鉴于需要根据订单数量做出决策以满足产品的随机客户需求,该模型可视为多地点报童问题的广义版本,而新模型的优势在于,其解决了不确定需求(需求取决于 DC 和客户区域之间的距离)在计算上产生的挑战性。
总结来说,文章所关注的问题与解决方法如下。
缩短交货时间带来的收入收益和因库存更接近市场需求而增加的库存成本之间的最佳权衡是什么?
文章通过优化模型,解决了增加收入和管理运营成本之间的紧张关系,该模型能够评估将每个客户区域分配给配送中心的任何可行策略所产生的预期利润。
更具体而言,如图2所示,这种紧张的关系可以重新解释为对于特定产品的库存,倾向于采用分散式策略或集中式策略。因将库存放置在离客户更近的地方,分散式策略最大限度地提高了快速交付服务客户的## 标题能力,进而提高销售额/收入。 然而,由于风险分担效应,集中式策略因为其较低的安全库存水平,往往会节省运营成本。
图2:中心化和去中心化策略之间的关系
2 需求预测与弹性模型
2.1 数据与假设
文章获取了2019年年初到年底的销售交易数据,其中每条数据记录代表零售商网站上带有时间戳的商品销售,包括每个SKU (stock keeping unit) 的销售数量、价格、出发地和目的地邮政编码(共33092个邮政编码)以及承诺和实现的交货时间。 此外,文章还对所售商品进行层次结构分类:将每个商品聚合为一个SKU,SKU聚合形成子类,子类聚合形成类,类聚合形成部门。 在后续预测模型中,为了提高预测准确性,文章选择在子类级别聚合项目,并预测每个子类的需求。
除数据外,在详细阐述需求预测和弹性模型之前,文章列出了整篇论文中对客户需求模型所做的主要假设。
假设1:需求预测和弹性模型是使用仅通过零售商直接面向客户的分销网络发生的销售交易进行训练的。 不包括供应商对客户的销售。
文章只使用反映零售商配送中心直接发货的销售数据的主要原因是,作者们认为,这部分数据真实地反映了作为承诺天数函数的基础销售。 证据显示,从81个产品子类的抽样销售分布中,零售商DC直接履行的销售(不包括保证当日送达的销售)随着承诺天数的增长而减少(如图3)。 具体来说,50%的销售承诺天数少于3天。 然而,供应商履行的销售分布却大不相同——50%的销售承诺天数在7至14天之间,而且整体销售在承诺天数上似乎并不单调。 造成这种显着差异的根本原因主要是由于大多数供应商无法承诺较短的交货时间,因此供应商履行的销售有所删失。
图3:81 个随机抽样产品子类的销售分布,分别由零售商DC(左)和供应商(右)执行
假设2:不考虑全渠道零售带来的替代/互补效应和运营变化。
研究表明,全渠道零售存在替代/互补效应。而文章的目标不仅是提供预测分析,还为零售商提供预测分析,以利用其数据来优化库存布局决策,所以文章建立该假设,以排除全渠道效应。
2.2 使用回归树和等渗回归估计需求
文章作者与零售商供应链分析团队共同开发了需求预测模型的功能如下:
demand = E f ( Price, Promised Days, Population ) + ε . \text{demand}=\mathbb{E}f(\text{Price, Promised Days, Population}) + \varepsilon. demand=Ef(Price, Promised Days, Population)+ε.
模型中,假设任何特定产品的预测需求 Demand 的形式为挂牌价格 (Price)、承诺交货天数 (Promised Days) 和相应区域人口 (Population) 的函数, 加上由于可能的模型规格错误而产生的随机噪声 ε \varepsilon ε. 期望 E [ ⋅ ] \mathbb{E}[\cdot] E[⋅]则根据价格、承诺天数和人口的潜在随机波动而得出。文章假设平均需求函数 f ( ⋅ ) f(\cdot) f(⋅)满足两个保形属性: (1) 对于固定价格和承诺天数,区域人口中的平均需求单调增加; (2) 对于固定价格和区域人口,平均需求在承诺的时间内单调递减。
原则上,可以对需求预测过程应用到任何时间范围。然而文章发现,在实验过程中,设置较长的时间范围通常会产生更稳定的结果,特别是对于不偏好存在大量交易数据的产品。 因此,文章将时间范围设定为整个财年,并计算同一时间范围内的需求弹性。
在估计平均需求函数时施加保形约束主要有两个优点。 首先,所得到的预测器是可解释且直观的,因为人们可以评估由于承诺天数/区域人口的变化而导致的销售的潜在变化,即变化后的预测需求减去变化前的预测需求。 这也作为计算需求弹性的基础。 其次,回归树容易因树生长太大而过度拟合——除了通过交叉验证过程调整树深度之外,文章使用这些形状保持约束作为防止回归树估计器过度拟合的另一种方法训练数据。 但请注意,文章没有施加与价格相关的保形约束,因为在设计库存放置模型时,本质上假设产品的上市价格是外生的,主要原因是许多零售公司的定价决策通常是单独制定的,除了库存布局决策之外。
在此基础上,文章提出估计需求的两阶段回归程序。 首先,通过随机应用 50:50 的训练测试分割来预处理销售交易数据。 对于训练数据和测试数据,按照四舍五入的价格、2 到 10 的承诺天数(承诺天数超出此范围的交易被排除在外,作为异常值)和三位数客户区域(作为异常值)按单位汇总销售额(总共 600 个区域)使用 2010 年人口普查数据。其次,使用训练数据拟合多个回归树模型,一组不同的树深度为 {10, 20, … , 90, 100}。 然后,将使用测试数据评估的具有最高 R 2 R^2 R2值的训练树模型保存为 f ( ⋅ ) f(\cdot) f(⋅). 作为需求估计过程的最后阶段,文章根据形状保持属性对每对(价格、承诺天数)和(价格、人口)对 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅) 应用等渗回归。 我们将结果函数保存为 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅),可视化如图4.
图4:应用或不应用等渗回归的特定子类产品销售的回归树预测
算法1:两阶段法需求预测方法
输入:销售交易数据,包括挂牌价格、承诺日期和目的地邮政编码。
1:数据预处理:随机应用训练-测试分割,并根据训练和测试数据的四舍五入价格、承诺天数和 3 位数客户区按单位汇总销售额。
2:回归树生成:在不同树深度的训练数据上拟合回归树,并将在测试数据上具有最佳 R 2 R^2 R2的模型保存 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅)。
3:等渗回归:将等渗回归应用于(需求,承诺天数)平面和(需求,人口)平面中的 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅)。 将结果函数保存为 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅)。
4:输出:返回 f ~ ( ⋅ ) \tilde{f}(\cdot) f~(⋅)作为估计需求函数。
2.3 计算估计需求的服务水平弹性
文章将服务水平弹性定义为
e ( t ) = D ( t ) − D ( t − 1 ) D ( t ) e(t)=\frac{D(t)-D(t-1)}{D(t)} e(t)=D(t)D(t)−D(t−1)
其中 t t t表示承诺天数的值, D ( t ) D(t) D(t)表示对于某些固定人口规模和价格,承诺天数为 t t t时的估计需求。 结合2.2节中开发的两阶段回归程序来预测需求作为价格、承诺天数和区域人口的函数,文章能够计算任何固定价格和人口规模的服务水平需求弹性。 此外,文章可以将 e ( t ) e(t) e(t)计算为针对价格和人口规模的任何可行组合计算的所有弹性值的平均值。
图5表明了如何使用等渗回归与树估计器计算固定价格和人口规模的 e ( t ) e(t) e(t)(其计算相当于评估不同承诺日期的 f ~ \tilde{f} f~(价格,⋅,人口)的导数)。 随后,文章呈现 324 个随机抽样的不同产品子类(总共 1896 个子类)的 e ( t ) e(t) e(t)平均值,并在产品抽样过程中,首先删除销售交易数据很少的子类。
图5:基于估计需求计算需求服务水平弹性的图示,其中价格和人口规模固定
从图6中,文章观察到大约50%的选定产品子类的平均服务水平弹性在-0.2到-0.4之间,也就是说,如果交货时间每减少一个工作日,从零售商配送中心直接发货的在线销售额平均可能会增加 20 ∼ 40%. 当然,这并不意味着零售商的其他类型的在线销售会因交货时间的缩短而获得如此大的增长;例如,文章没有分析供应商满足的需求的服务水平弹性。
图6:324 个随机抽样产品子类的平均服务水平弹性
还应指出,在使用销售交易数据估计需求时,可能还存在其他潜在的混杂变量尚未考虑。 这可能会使图 6 中的数字过于乐观。 然而,为了让库存配置优化模型能够促进高效的库存配置解决方案,文章实际上主要依赖于相对预测精度,例如,其感兴趣的问题是,在所有列出的产品中,哪个具有最高的弹性? (弹性的相对大小可以帮助对交付速度更敏感的产品类别进行排名。)
为了计算受影响的需求,在承诺天数可能发生变化后,文章首先将未受影响的需求收集为 D ( t ) D(t) D(t), ∀ t = 1 , … , T , \forall t=1,\ldots,T, ∀t=1,…,T,其中 T T T是承诺天数的上限。 假设承诺天数(以天为单位)的减少量 Δ < 0 \Delta<0 Δ<0,则可以通过迭代过程计算受影响的需求,如算法2所示。
3 库存配置优化
在本节中,我们描述了一个通用的联合位置-库存优化模型,涉及单个零售商和多个客户区域,销售单一产品。 优化模型将已开发的预测分析作为输入。 该模型的主要关注点是公司的战略层面决策,即确定持有特定产品子类库存的配送中心数量,以及为配送中心分配不同客户区域的决策。
3.1 用于服务成本分析的数据
文章提供库存持有成本、销售损失惩罚成本、入库运输成本和出库运输成本,所有这些都以单位方式提供(与距离无关)。原则上,运输成本取决于距离,例如,Lim 等人(2017) 在设计零售商供应链网络的敏捷性和邻近性水平时,将运输成本建模为运输距离的函数。 文章在这项工作中进一步指出,由于假设交货时间会影响销售,因此需求模型本质上与客户到配送中心之间的距离相关。
3.2 模型设置
假设某零售商有 I I I个DC, 在编号为 i i i的DFC的单位持有成本为 c i h c_i^h cih. 区域 j j j有 J J J个顾客待服务,单位销售损失的惩罚成本为 c j l c_j^l cjl. 令商品单价为 p p p, 被DC i i i服务的区域 j j j的需求为 D i j D_{ij} Dij. 对DC的需求依赖是由于其对交货时间的敏感性,并且在实践中通常可以使用DC i i i和区域 j j j之间的距离或基于零售商的物流网络的结构来量化敏感性。
文章同时设定需求 D i j D_{ij} Dij是随机的,并有 D i j ( ω ) D_{ij}(\omega) Dij(ω)为某特定的实现,其中 Ω \Omega Ω为相应的样本空间。令 c i i n c_i^{in} ciin表示在DC i i i订购产品的每件入库运费, c i o u t c_i^{out} ciout将产品从DC i i i运送到区域 j j j的每件出库运费。
不失一般性,文章假设所有配送中心在初期的现有库存为零,其可以简单地扩展到现有库存为正的情况。 文章将模型表述为不确定性下的两阶段决策问题。 特别地,
- DC的位置是固定的,不考虑开设新的DC。
- 第一阶段决策:零售商决定每个DC i i i的库存水平( y i y_i yi),即在需求实现之前订购多少,并将每个区域 j j j分配给一个DC i i i来服务( v i j v_{ij} vij).
- 第二阶段决策:每个区域的需求实现,根据DC分配需求( D i j ( ω ) D_{ij}(\omega) Dij(ω)),零售商对每个DC和区域做出履行决策( z i j ( ω ) z_{ij}(\omega) zij(ω)).
决策问题涉及的事件顺序如图7所示。第一阶段决策做出后,将在一段时间内确定配送中心和区域间的分配和库存级别订购决策。 在此期间,假设每个区域的需求分布不会改变或仅缓慢突变。 某种库存配置策略的绩效是通过该期间产生的预期总利润来评价的。
图7:两阶段决策问题中的事件序列
决策问题可以表示为两阶段混合整数随机程序,如下所示:
目标函数第一项代表第一阶段的入库运输成本,第二至第四项分别代表满足已实现需求的预期净利润、预期库存持有成本和预期销售损失惩罚成本。约束1对应第一阶段,即一个客户区只能分配给一个DC。 约束2与3是第二阶段履约决策约束,其中履约数量既不能超过现有库存,也不能超过已实现的需求。 最后域约束指定DC-zone分配变量 v i j v_{ij} vij是二元的,而库存水平变量 y i y_i yi和履行变量 z i j ( ω ) z_{ij}(\omega) zij(ω)都是连续的。
3.3 模型变化和计算问题
文章提供了所提出的随机规划模型的几种可能的模型变体。
- 允许在多个DC上可能分割需求。为允许需求分割,可将 v i j = { 0 , 1 } v_{ij}=\{0,1\} vij={0,1}放宽至 v i j ∈ [ 0 , 1 ] v_{ij}\in[0,1] vij∈[0,1]. 由此,可将每个区域的需求分配给多个DC,其中 v i j v_{ij} vij表示分配给DC i i i的区域 j j j的需求比例。
- 应用仓库容量限制并针对多个产品类别实施联合库存优化。可以通过对 y i y_i yi施加上限来纳入仓库容量约束。 尽管在本节中文章重点关注单个产品类别的库存布局优化,但观察出该模型也可以用于多个产品类别的优化。
为有效计算目标函数,文章采用样本平均近似(SSA,Shapiro, 2001)来求解随机模型。 SAA方法是近似求解随机规划的常用方法,将需求期望替换为历史交易数据中采样需求的平均值。 为了进一步说明,原文附录C提供了模型输出的可视化。
4 实验计算与结果
本节中,文章介绍第3节优化模型的计算结果。
- 描述最佳库存配置策略
根据销售预测和运输成本参数,随着库存持有成本的变化,文章评估了匿名零售商 324 个产品子类的最佳库存配置策略,如图8. 作为零售商广泛使用的经验法则,低/中/高持有成本分别相当于内部运输总成本的 5%/15%/30%。
图8:不同持有成本水平下最优策略使用的DC数量
文章观察到,该模型在低成本场景下更倾向于输出分散策略作为最优解,而在高成本场景下则输出更集中的策略作为最优解。 具体来说,随着持有成本的增加,最优中心化策略(仅使用1个DC)的数量从241个增加到252个(增加 4.3%),而最优去中心化策略的数量(使用所有6个DC位置)从65个减少到52个( 减少 19.2%)。 值得注意的是,最佳库存配置策略并不总是完全集中或分散。
- 对盈利潜力的影响
文章使用324个产品子类的历史数据进行利润潜力分析。 作为分析的关键对象,在给定特定库存配置策略的情况下,每个产品子类的估计利润计算为估计收入减去运营成本,其中收入估计为估计销售时间与产品的平均单价。 然后计算利润潜力,作为从集中策略转向最优策略的利润增益水平的指标。
具体来说,利润潜力是直接根据最优策略(解决 OPT)和中心化策略之间的差异(就估计利润而言)来计算的。 而最优策略中,通常使用多个DC进行服务; 而在中心化策略中,只使用一个DC(我们使用估计收入最大的DC)。 因此,利润潜力衡量的是使用更多DC与仅使用一个 DC 相比的净收入收益。
图9总结了计算出的利润潜力。文章观察到,具有高利润潜力的单个产品类别并不多,因为只有3%的产品类别预计每日利润大于1万美元。 有趣的是,324 个产品类别中的9个类别占总利润潜力的34万美元/42万美元 = 81%。 这就是说,很小一部分的产品类别代表了很大一部分的利润潜力(帕累托原则)。
图9:按每日利润潜力划分的产品类别数量
- 评估不同的库存配置策略
原则上,可以通过解决优化问题获得的相应估计利润来评估不同库存配置策略的绩效。,特别是将最优策略的表现与零售商当前针对某些流行产品类别的策略进行比较。 图10显示了特定产品类别的比较,发现最优解决方案可以使预计利润增加 13.5%; 当仅使用主 DC 进行限制时(DC 3、DC 4、DC 5、DC 6),由于持有成本节省,最优解决方案仍享有 9.3% 以上的预计利润。 有趣的是,与零售商当前的策略相比,最佳解决方案平衡了库存水平,使各个配送中心的库存水平更加统一。
图10:模型解决方案与零售商针对特定产品类别的当前策略
5 主要结论
在这项工作中,文章提出了一种新颖的两阶段随机规划模型,该模型在库存定位问题中以安全库存与服务响应时间进行最佳交易。 该模型以需求预测和弹性模型作为输入,基于混合决策树和等渗回归方法。
目前,文章通过销售交易数据构建需求预测和弹性模型。 会有人争辩销售可能会受到某些因素的影响,例如某些承诺日期的提供频率。 因此,通过使用基于点击的数据来推广文章的方法是值得的,其中模型不是预测实际销售,而是根据在线页面浏览量预测购买的可能性。
此外,文章重点关注需求的预测分析。 将优化模型与研究交付时间变化下需求变化的因果需求模型结合起来也很有趣。 人们可能希望相应地对全渠道需求和库存规划进行显式建模。
最后,文章提到还有空间对库存布局策略的最优条件(例如,分散策略最优的条件)进行更多定量分析,这将为库存计划经理提供额外的管理见解。
参考文献
Eppen, G. D. (1979). Note–effects of centralization on expected costs in a multi-location newsboy problem. Management Science, 25(5), 498–501.
Shapiro, A. (2001). Monte carlo simulation approach to stochastic programming. In B. A. Peters, J. S. Smith, D. J. Medeiros, & M. W. Rohrer (Eds.), Proceedings of the 2001 winter simulation conference (cat. No. 01CH37304) (vol. 1, pp. 428–431). IEEE.