问题定义
零售商为客户提供一组产品。对给定产品的需求依赖于许多因素,包括产品本身的特性如价格或品牌,同类产品竞争对手的价格, 促销活动,甚至是天气。该问题的目标是整合这些因素来构建需求模型并且允许进行假设分析以预测对价格变化的响应,品类的扩充和减少,计算最佳库存水平,并分配货架空间单位。
应用
在本节中我们将讨论需求预测核心问题。这一问题可以被考虑为一个建造模块,该模块要求对影响需求的行为或者库存水平的限制建模:
价格优化,促销活动计划, 以及定向折扣。
品类管理和计划。
库存水平优化。
需求预测模型通常应用在市场营销活动设计中,因为这些模型能够解释需求回归量的影响。例如,一个需求预测模型可以揭示某一产品的价格敏感性(当价格变化时需求有多少变化)与包装大小和和销售区域的人口特性紧密相关,这就暗示了可以在不同的商店使用不同的价格并对不同包装的产品设定不同的单位毛利率。
我们将在后面的章节中把需求预测模型用在价格优化和品类计划问题上。
解决方案
需求预测可以被认为是一个相对简单的数据挖掘问题,只需要建立一个回归模型并用历史数据进行评估。然而,设计回归模型则不是那么简单的事情,因为需求受到很多有着复杂依赖关系的因素的影响。
在本节中,我们将研究文献 [KOK07] 为 Albert Heijn(一家荷兰的连锁超市)构建并验证的回归模型。这一模型基于早期的营销研究如 [BG92],以及时尚零售商如 RueLaLa[JH14] 和 Zara[CA12] 的实践,这些实践中应用了相似的模型。
然而,重要的是要理解不同的优化问题需要不同的需求预测模型并且几乎不可能构建通用的需求模型来整合各种不同的需求影响因子。
我们从以下对一给定产品的需求模型开始:
此处:
V 是在给定时间窗口内顾客到访商店的数量,例如一天。
Pr(purchase | visit) 是客户在逛商店期间购买任意商品的概率。
Pr(j | purchase) 是当客户发生购买时在所有可选项中选择产品的概率。
E{Q | j;purchase} 是当客户选择了产品并购买时购买数量(单位数量)的数学期望。
公式(3.1)中的所有因素都可以用店铺的历史交易数据来估计。需求通常与日期(周几、节假日等)和店铺(大小、邻近区域的人口统计情况等等)相关,所以我们引入下标 t 和 h 来分别表示日期和店铺,而估计的需求就是这些参数的函数。
另外,商店属性,如大小、位置和平均消费者的收入可以纳入模型作为回归。根据 [KOK07],商店访客的数量可以建模如下:
此处 Tt 是天气温度,Wt 是天气舒适度指数(湿度、阴晴等),Bti 和 Eti 分别是表示一天是星期几和公共假期的 0/1 哑变量,H 是公共假期的天数,而 α 是回归系数。
购买事件是一个二值变量(购买/没有购买),所以我们可以用一个标准的建模方法 - 将购买概率用一个 Sigmoid 函数来表达并从数据估计指数参数:
则 x 的回归模是:
此处 Ajht 是哑变量,产品 j 在促销时值为 1 否则为 0,Nh 是所有产品的数量,而 β4 对应的是促销产品占整体销售产品中的百分比。
Pr(j | purchase) 的估计则更为棘手一些。客户选择建模在本质上是计量经济问题,是一个特别的经济学研究分支——选择建模理论。选择建模理论证明了多项 logit 模型(MNL)是有效的方法来对多个选项中选择的概率进行建模。
此处会 i 迭代遍历所有产品,yj 是一个参数变量。类似于购买事件的概率,我们对参数 yj 建立了一个回归模型:
此处系数 Γn+1 和 数 Γn+2 由所有产品共享,Rjht 和 R 分别是单个产品的价格和产品的平均价格,而 Ajht 和 A 是促销哑变量和平均促销率,如上面对购买可能性回归模型描述的那样。
最后,单位产品的平均销售数量可以建模如下:
通过将上述模型代入根表达式(3.1),可以得到完全特别的需求预测模型。 这一模型可以根据零售商的业务用例来调整,这些跳帧个可以通过增加更多的解释性变量如营销事件来完成。