引言

本文内容包括零售业中的多个常见问题,如响应建模推荐系统需求预测价格差异促销活动规划类目管理财务影响等。

其中涉及的资源分配优化问题、个性化推荐、定向广告等业务问题,超长2万字干货,完整版阅读大约需要两个半小时,TalkingData移动观象台强烈建议先收藏分享!

零售是数据科学和数据挖掘重要的商业应用领域之一。零售领域有着丰富的数据和大量的优化问题,如优化价格、折扣、推荐、以及库存水平等可以用数据分析优化的问题。


全渠道零售,即在所有线上和线下渠道整合营销、客户关系管理,以及库存管理的崛起产生了大量的关联数据,大大增强了数据驱动型决策的重要性和能力。


尽管已经有许多关于数据挖掘在营销和客户关系管理方面的书,如 [BE11, AS14, PR13 etc.],但绝大多数书的结构更像是数据科学家手册,专注在算法和方法论,并且假设人的决策是处于将分析结果到业务执行上的中心位置。


在这篇文章中我们试图采用更加严谨的方法和系统化的视角来探讨基于数据分析的经济学模型和目标函数如何使得决策更加自动化。在这篇文章里, 我们将描述一个假想的收入管理平台,这一平台基于零售商的数据并控制零售策略的很多方面,如价格、营销和仓储。



我们专注在将经济学框架和数据挖掘方法的组合有以下两个主要的原因:


  • 我们可以从经济学教科书上找到上百个与零售有关的经济学模型,因为关于市场、折扣、竞争等问题在上个世纪得到了深入的研究。然而,许多模型都是高度参数化的(即严格的由带有有限参数的公式所定义)并且不能足够灵活而精确地对现实世界的问题建模。


    但数据挖掘提供了很多非参数建模技术,可以帮助创建灵活而实用的模型。在最近十年里,也有许多成功的平衡抽象模型和机器学习技术的文章和案例研究已经发表。

  • 快速的数据循环使得在现代零售业中可以使用相对简单的模型做出更加准确的预测,因为小规模增量式的预测一般而言要比大决策更加容易。


    例如,因为对于一个新的颠覆性产品在消费者心中的感知价值是未知的,要计算它的最优价格是很困难的。但是根据需求和库存水平实时调整促销价格则是相对容易的。有一些成功的商业解决方案对价格优化就几乎丢弃了经济学模型,简单的根据销售闭环的反馈情况来决定价格的上升和下降 [JL11]。


以上两点意味着在零售业自动化决策和动态优化具有很高的潜力,因此我们专注于研究这个领域。本文很大篇幅用于综述零售业者和研究人员发表的成果,这些成果都是他们在综合应用抽象经济学模型和数据挖掘方法构建实际的决策和优化系统中产生的。


特别的,本文主要受到 3 个案例研究的启发,分别出自 Albert Heijn [KOK07],荷兰最大的连锁超市,Zara [CA12],一家国际服装零售商,以及 RueLaLa [JH14],一家创新在线时尚零售商。我们同样综合了来自 Amazon、Netflix、LinkedIn 和许多独立研究者和商业项目的结果。同时,我们避免使用那些缺乏实践支持的学术结果。


我们的研究主要着眼于与收入管理相关的优化问题,包括营销和定价等问题。更加特殊的数据挖掘应用,如供应链优化和欺诈检测, 数据挖掘过程实现的细节(如模型质量的验证)则不在这我们研究的范畴内。


本文剩余部分组织如下:


  • 我们首先引入一个简单的框架将零售商的行为,利润和数据联系在一起。此框架将作为更统一的方式来描述分析问题。

  • 本文的主体部分探讨了一系列与零售业相关的优化问题。我们将在不同章节逐个介绍这些问题。每个章节会简要描述问题,并提供一组业务案例和应用,以及详细介绍如何将问题分解成经济学模型和数据挖掘任务,使得可以通过数值优化方法来解决业务问题。

  • 然后,我们会有一个章节专门讨论这些方法在实际应用中的可期的经济收益。 

  • 最后,总结部分会对这些问题之间的依赖关系进行讨论,从而阐明一般的原则和关键点。


优化框架


本文介绍了 6 个主要与营销和定价相关的优化问题,这些问题都能够应用数据挖掘技术来解决。尽管这些问题非常不同,但我们尝试建立了一般性的框架来帮助设计求解所需的优化和数据挖掘任务。


该框架的基本思想是用一个经济指标,例如毛利率作为优化目标,并将这一目标作为零售商行为(如营销活动或者分类调整)的函数。


同时计量经济学目标也是数据的一个函数,即计量经济模型应该被零售商的特性参数化,从而在其输出中产生一个数值,如毛利率。


例如,某零售商在计划一个邮件营销活动。可行的行动空间可被定义为一组对于每个客户发送/不发送决策集合,而活动的毛利率则决定于营销动作(有些人会接受激励而另一些人不会)以及给定客户的期望收入和邮件成本。这一方法可以更形式化的由如下公式表达:



此公式里 G 是可用于分析的数据,是零售业者行为和决策空间, 是计量经济模型函数,其参数是 d 和 A,而 A是最优策略。这一框架由文献 [JK98] 整理提出。


模型 G 的设计十分依赖于问题本身。在大部分情况下,对毛利率建模和优化都是合理的。但是,有些情况下其他的目标也是有可能的,就如下一章探讨的响应建模。同时需要注意的是优化问题(1)也跟时间有关系,因为环境会随着如新产品的上架、竞争对手的行动等因素变化,零售业者自己的行为也会产生影响。


数据挖掘在这一优化问题中的角色是非常重要的,因为计量模型 G 通常都比较复杂且必须基于数据通过回归等数据挖掘技术学习确定。


在某些情况下因为复杂性太高(如用户的行为很难精确预测)或者因为无法将现有数据做外推(如对于完全新的服务),模型是无法完全确定的。这时,可以用 A/B 测试和问卷调查来获得额外的数据来改进模型的精度。


问题 1: 响应建模


问题描述


在广告或者特价优惠活动中,需要决定将一些资源投放给一些客户。而这些资源都是有成本的,如邮寄印制商品的目录的资金成本,或者一些负面效应(如使得用户取消邮通知订阅)。


同时, 这些资源将会影响用户的决策,如促使他们更多地消费或者购买更高价值的产品。其目标是找到一组最靠谱的候选客户,对他们投入资源后能够使得业绩最大化。


投入的资源可以是同质的(如所有参加的客户都得到同样的激励)也可以是个性化的。在后一种情况下,零售业者将对每个不同的客户提供不同的激励如不同产品的优惠券来最大化总体的收益目标。


应用


响应建模被广泛的应用在营销和客户关系管理上:

  • 确定特定的折扣、优惠券和特价,需要识别出客户对这些激励的反应。

  • 有这对性的邮件促销、活动和赠品(如 4S 店提供的免费太阳眼镜)通常需要识别出最优价值的客户来降低营销费用。

  • 客户挽留计划需要识别出那些可能会离开但可以通过激励来改变主意的客户。例如,电商可以向那些放弃购物车或者离开搜索会话的客户发送特价优惠。

  • 在线目录和搜索结果可以根据客户对某些商品的的喜好来重新调整。

  • 响应建模帮助优化了电邮促销来避免不必要的垃圾邮件,这些垃圾邮件可能会让客户取消邮件订阅。


求解


基于以上的讨论,我们现在可以认识到这个问题就是资源分配的优化问题,而优化问题由一个目标函数驱动。一个最基本的方法是根据每个客户的响应概率和期望净价值来对促销活动的整体利润建模。



这里 Pr(R│u;I) 是给定客户 u 对激励 I 的响应概率,g(u|R)) 是这个客户响应的激励的净价值,而 c 则是激励的成本。公式中第一项是响应从响应用户获得的净收益,而第二项则是对应在没有响应的客户上的期望损失。目标是通过找到一组最有可能响应活动并能贡献高利润的客户子集来最大化 G。因为公式 (1.1) 可以约简如下:



这里 E{g|u;I} 表示对给定客户在假定他会接受激励的情况下的毛利率的数学期望,而客户的选择标准则要符合以下条件:



同时,最优的客户子集 U 可以定义为最大化毛利率的子集:



我们也可以以随机分配激励为基准的净值最大化。为此,我们假设参与该次营销活动的客户数固定为 |U|。首先,我们将公式 (1.2) 展开,显示的包括对于随机选取的 |U| 个客户的营销活动的期望毛利率。



此处 E{g|I} 是所有客户上的平均净价值。这一平均净价值是常数,因此在 |U| 确定的情况下在目标函数中可以被略去。因此,公式(1.2)在固定 的情况下同样可以得到(1.3):



然而,文献 [VL02] 提出这一模型存在一定的缺陷,因为该模型偏向于易于接受激励的客户,而没有考虑那些有没有激烈都会贡献同样利润的的客户。为解决这一 缺陷,我们需要根据以下四种情况来计算客户集合 U 的毛利率:


  • G1 - 根据公式(1.2)选择 U 并向中所有客户发送激励

  • G2 - 随机选择 U 并向 U 中所有客户发送激励

  • G3 - 根据公式(1.2)选择 U 但是不发送任何激励

  • G4 - 随机选择 U 但是不发送任何激励


公式(1.2)是最大化 之差即相较于随机投放的提升度。另一种方法是优化,这一目标函数不仅仅度量相较于随机投放的提升度同时还考虑去除掉在同样的客户集合上不做任何激励的提升度。在此情况下,公式(1.2)变为如下形式:



此处最后一项对应的是未被激励的客户的期望净价值。这一方法被称为差分响应分析或者提升度建模由文献 [BE09] 提出。


值得注意的是,公式(1.2)和(1.4)都不是通过最大化营销费用来优化的。考虑如下情况,每个响应的用户可以贡献 100 美元的净利润,而激励费用为 1 美元。如果一个客户组有 100 万客户,其中有 0.5% 的潜在响应者,则花费最大的营销活动是对每个客户都做触达则最终将损失 50 万美元(总的响应者贡献的 50 万美元净价值减去活动费用 100 万美元)。


公式(1.4)对于各种类型的价格折扣特别重要(优惠券、临时价格折扣、特价)。考虑如下问题:“一个零售商应该向每天都买苹果的人提供苹果优惠券吗?” 根据公式(1.2),回答是肯定的。因为这个人很有可能会使用优惠券。


然而,更可能的是这个客户用更低的价格购买了同样数量的苹果,根本上这会降低零售商的利润。公式(1.4)考虑了默认的客户行为从而消除了这一问题。我们在下一节将继续讨论价格区分问题因为这一是个复杂的问题远超了公式(1.4)范畴。


公式(1.2)和(1.4)中净收入的数学期望能够基于过去客户对激励是否接受的历史数据用分类或者回归模型来确定。这一问题可能是非常有挑战性的,特别是当需要评估的激励与过往出现过的都存在某种程度上的差异。


在这种情况下,全规模的活动上线之前需要在一个客户测试组上进行测试。另外,对于零售业者而言毛利率并非唯一的关键指标。在公式(1.2)和(1.4)中使用的毛利率度量关心的是第一次付款后即时的汇报,从客户关系管理的角度看这是非常简单的视角。


零售业者还会关心其他不同的度量,度量上的多元性是如此巨大以至于有一门专门研究这个问题的经济学分支 - 倾向性建模[SG09, LE13] - 这一学科发展了不同的模型来预测用户未来的行为。最重要的倾向性模型包括:


  • 生命价值预测。生命价值模型是估计一个客户在其生命周期内可以贡献的收入或者利润总额。这一指标对于那些目标为获取新客的营销活动而言是很重要的。

  • 钱包份额预测。钱包份额模型用来估计用户对于某些类型商品,如杂货或者服饰,在某一零售商及其在各竞争对手那花钱的比例。这一度量能够揭示哪些客户具有贡献高收入的潜力,因为这一模型能够用在忠诚计划和提升使用的营销活动中。

  • 类型扩展倾向。该模型估计首次购买某一类型的商品后,从休闲产品转换到奢侈品的可能性。这一模型能够帮助设计目的是获得使用扩展的活动。

  • 流失倾向。这一模型估计客户从给定零售商流失并转换到竞争对手的可能性。如果客户具有较高的流失倾向则可以定向进行挽留活动。例如,一个零售商可以识别出那些放弃了在线购物车或者退出了搜索会话但是提供一定折扣或者赠品后会改变主意的客户。

  • 购物习惯改变倾向。每个客户的购物习惯最终确定了其对一个零售商的价值,即客户的购买频率、购买什么产品、购买什么类型的产品等等。这些习惯通常是稳定的,一旦零售商改变一个客户的分层,这个分层将会持续。


因此,零售业者通常对找到那些对改变习惯比较开放的客户感兴趣, 如那些从一个城市迁移到另一个城市的人群, 从学校毕业的学生, 刚刚结婚的人群等等。一个典型的例子是预测客户是否在怀孕早期 [DG12] 因为新生命的诞生会显著的改变客户的购物行为。


以上模型都能够嵌入类似公式(1.4)的公式来代替毛利率目标。我们在后面的小节中将针对讨价格差异化的情况下对折扣的响应倾向建模的情况仔细探讨倾向性建模。关于倾向性建模的更多细节可以参考 [FX06] 和 [SG09] 两本书。


这一框架也能够扩展到在多个可能的激励方案中选择最优的方案。例如,一个零售商可以估计对于两个激烈方案 A 和 B(例如巧克力冰激淋和香草冰激淋)的期望表现然后对于给定的用户可以根据以下标准[WE07]来选择最优的选项:



最后,值得注意的是响应建模是与客户分群紧密耦合的:


  • 响应建模能够用来检验通过聚类行程的客户分群的可行性。一个分群应该对特定的营销计划有持续的响应。

  • 倾向性模型是基于客户数据训练得到的回归和分类模型。客户分群可以参考对于主要回归量的分析结果。另一方面,从聚类结果中也可以发现合理的倾向性模型。


问题 2:推荐


问题说明


一组激励中的每一项激励对应着一个产品或者其他目录项目。展示这些激励并不直接与费用成本相关,但是只有有限数量的激励能够展示给用户。从这个角度来说,每个激励的展示都会占用一定的屏幕空间或者客户的注意力,所以给客户提供的某个激励的负面激励能够被机会成本的损失来度量。


在这样的目标下就需要将激励的子集对于每个客户而言都是个性化的(如网站上的推荐)从而最大化群体的购买表现。


应用


该问题最典型的应用有推荐系统, 个性化搜索结果, 和定向广告。 此外还有一些其他重要的应用:


  • 厂商赞助折扣可以归为这类问题,因为零售商对激励的成本不关心(由厂商覆盖这部分成本), 他们仅关心有效的定向。厂商赞助的活动被广泛的应用在很多零售细分领域,如杂货店或者百货商店,因为这些厂商市场份额的提升有很重的依赖。

  • 交叉销售的营销能也够从推荐模型中获益,因为一些推荐技术能够揭示出客户画像中的隐含维度,如生活方式。这些能力对于跨类之间的推荐是特别有用的,可以基于客户服饰方面的消费行为向客户推荐家居或者厨具。

  • 推荐系统可以将用户的购买和浏览历史概括为心心理学画像,因此乏味的着装品味或者运动型的生活方式能够量化测量。同样的技术也可以根据竞争者销售产品的来对竞争者画像,就像根据客户购买来对客户画像。

  • 一些推荐算法能够基于文本描述来区分产品的心理维度,如生活方式等。所以商家可以利用它们来评估产品描述,也可以用来获得关于产品定位的适当措辞的建议。


特别需要注意的是尽管推荐通常被认为是线上服务特有的,但其所产生的基本原则和技术对于零售业的许多方面也是非常重要的。因为这些技术致力于揭示客户对产品兴趣的隐含关系。而这是零售商最基本的任务。


解决方案


推荐系统在过去20年是非常受关注的研究领域,[JZ10, RR10] 两本书提供了对几十种在各种论文,演讲和白皮书中提出的推荐算法和技术的系统化视角。


某种程度上,推荐技术的高度多样性在于一些实现推荐时遇到的挑战,如客户评分的稀疏性,计算的可扩展性,以及缺乏新物品和客户的信息。


显然,我们无法在本节中综述哪怕一下部分方法和算法,而且在此处探讨这些也没有太多的意义,因为这样的综述俯拾皆是。相反我们将关注于驱动设计推荐系统的目标和效用函数而基本上忽略这一问题的算法和技术侧的细节。


从计量经济学的观点来看,推荐系统问题与电商和全渠道商业在很多零售领域的兴起带来销售品类的快速扩张是紧密相关。大的平类增加了很多非畅销产品,每一个产品的销售量和贡献的收入都是很少的,但是这个“长尾”的总体贡献是非常显著的。



传统推荐技术如推广最畅销的商品不能有效利用非畅销商品的潜力,这就需要更巧妙的推荐方法在数百万他或者她从未探索过的产品中对其进行引导。


因为我们主要关注模型对客户在产品上的偏好的描述,我们将从根据效用函数的复杂性从简单到负责来介绍使用最广的推荐技术。 我们将依据如下图所示的推荐技术层次分类图。这个层次分类综合了推荐系统的常用分类,但也不是完全一致:



单一目标


让我们从单一目标推荐任务的基本定义开始,这一定义被广泛的应用在推荐系统的文献之中。零售商向用户群体 U={u_1,...,u_m } 销售物品 J={j_1,...,j_n }。评分函数 R:J×U 表示一个用户对一个物品的观点从负面(“不喜欢”)到正面(“喜欢”),通常使用数字来表示。


一些用户和物品对的评分值可以基于用户的评分或者通过分析购买历史,网站访问记录来估计。推荐任务则可以被定义为对给定用户-物品对 (u,j) 评分值  ̃r_(u,j) 的预测。


有两种方法可以解决评级预测问题:通过查找与特定用户过去喜欢的项目相似的项目来独立估计每个用户的评分; 也可以通过对来自与给定用户类似的用户的评分进行平均来估计评分。这两种方法分别被称为内容过滤和协作过滤。


内容过滤


内容过滤的主要思想是基于对用户过往对于产品的偏好,行为和购买。尽管不可以对内容过滤做不同的解释, 我们选择将其作为分类问题 [PZ07] 来强调数据挖掘的应用:


  • 每个用户可以被视作一个对物品预测评分的回归模型。一个特殊的例子是可以用二分类将物品分为两个类别 - “喜欢”和“不喜欢”。

  • 一个用户的画像就是上面介绍的回归模型的一个实例。这一模型使用该用户的已知评分(显示评分,购买历史等等)来训练。

  • 给指定用户的推荐物品列表是通过对所有目录物品采用该用户对应的回归模型预测评分然后选择那些估计评分最高的物品子集来获得的。


尽管以上的过程似乎是是比较直接的,但是实际上确实非常挑战的。因为用户和物品是根本不同的实体,而且要找到一种可以直接将物品转换成回归模型可以使用的用户偏好这种微妙的东西。


最主要的问题是存货属性诸如品牌、物品名,或者价格对于衡量物品对用户的效用是根本不够的。尽管一些客户能够被满足忠于某品牌或价格取件的特征,但是需要更多微妙而有信息的维度如生活方式或者品味来描述观察到的模式和共性。


这些隐式的维度对于如电影、书籍、音乐,甚至是如服饰这样的有形物品都是非常重要的。零售商可以用如下的方法基于标准的分类技术来对带有隐含维度的物品打标签 [GH02]:


  • 例如,服装可以用诸如时髦、保守、运动等标签来标识。 

  • 标准产品属性(如文本描述)旨在向客户提供特定的营销信息,因此它们隐含地包含了一些无形的属性。因此,人工评分项目的物品子集可以用于构建将从产品属性映射到隐含维度的分类模型。例如,可以使用贝叶斯分类方法来估计描述在隐含属性值出现时词出现的条件概率 Pr(词项描述 | 隐含属性值)。

  • 物品然后可以通过计算后验概率 Pr(隐式属性值 | 项目描述)来自动分类没有人工评分的商品。


一般化的来看,内容过滤和物品建模实际是信息检索任务,所以许多的为恩本挖掘和搜索技术(例如,[MA08] 的综述所提到的)可以被用来构建推荐系统。我们在此略过这些细节,因为从计量经济的角度来看这些都不是最重要的部分。


协同过滤. 前面部分提到的隐含维度的问题具有重要意义,此问题可以引导我们了解推荐技术的第二个系列。这个问题源于根本无法严格的对人的口味和倾向建模。


协同过滤是一种自然的,也许是唯一不需要对系统进行很多人工工作的解决方案 - 推荐决策中对"人的因素"的需求通过其他用户的反馈来满足。


最基本的协同过滤模型 [RE04, BR98] 直接由用户之间的相似度度量来定义:



此处  r_u,j 为用户 u 对 j 物品的评分,U 是所有用户的集合或者启发式选取的给定用户的邻近用户,λ 是规范化系数,sim(u,v) 是两个用户之间的相似度度量, 而 ¯r_u 是戈丁用户的平均评分:



假设 J_u 是一组用户评分过的物品。公式 (2.1) 使用的平均用户评分概念来建模用户比其他用户在打分倾向上是偏高还是偏低,因为他们有的要求高有的要求低。虽然不是绝对必要,这一修正在实践是上非常重要并在最开始实现协同过滤时就被广泛应用了。


一般用余弦距离或者皮尔森相关系数来计算评分向量 J_u 和 J_v 之间的相似度。此外,文献 [ER98, SU09] 介绍了很多对于此基本相似度度量进行调整的多种方法来改进使用中的性能。


模型(2.1)存在一些显著的缺陷,首先这一模型的计算复杂性(与物品和用户数量成正比)很高,其次用户的评分是非常稀疏的。评分的稀疏性是指每个用户都只会对很小一部分物品进行评分,所以在计算向量 J_u 和向量 J_v 的相似度时经常会出现没有重合的元素,这会降低推荐的质量。


例如,众所周知 Amazon[SA01] 和 Netflix[YK08] 的评分矩阵中的评分缺失率达到 99%。为了克服这一限制,基于用户的模型(2.1)在通常被概念上非常相似的基于物品的模型 [SA01, YK08] 所取代:



其中物品之间的相似度度量是基于那些在两个物品上都有评分的用户的基准评分 ¯r_(u,j) 来计算的。基准评分同时考虑了用户偏差(用户的平均评分值相较于整体评分的偏差)以及物品偏差(物品的平均评分相较于整体评分的偏差)。


值得注意的是,有一简单的方法来实现公式(2.2),此方法通过寻找频繁项集(被频繁一起购买的物品)并基于在频繁项集的同现来计算相似度。这一方法因其简单被视为“穷人的推荐引擎”[RE03]。


模型(2.1)和(2.2)属于所谓最近邻模型,这些模型通过分析相似的用户或者物品的邻居来估计他们的评分。这一系列的算法也包括很多变种的技术 [SU09] 通过使用跟紧凑的概率模型或者其他近似方法来取代计算开销昂贵的检查邻居的方法。


尽管最近邻模型是一种被诸如亚马逊等领先的零售商验证过的推荐技术。但在根本上这些技术还是在根本上具有在内容过滤中就有的隐含维度所带来的问题。前面考虑的用户之间和物品之间的相似度度量对于揭示用户和无偏之间的复杂关系,其能力是有限的。


这与信息检索里面的同义搜索和多义搜索棉面临的问题是类似的,要揭示搜索者的实际意图,并将其意图翻译成文本和查询之间的相似度是非常挑战的事情。


为了解决这一问题,一种被称为隐含语义分析的的技术被提出来 [DR90]。该方法被提出来 10 年后被用来设计推荐系统 [SA00],并开创了一类新隐含因子模型。


隐含因子模型主要的思想能够被描述如下:评分函数 R 能够被表达成 m×n 矩阵(m 是用户数,n 是产品数), 其中的元素是评分值。这可以被当作一个线性空间问题。


推荐任务则可以被重新定义为用其他评分向量的组合来计算用户评分向量。实际上,公式(2.1)自然的就是一种权重由相似度函数定义的评分制的线性组合。然而,问题是评分矩阵缺失评分而稀疏,因偏见和随机因素通常带有噪音,而且基于物品维度则限制了揭示用户品味的能力,而品味通常是与一组物品相关而不是与单个物品相关。


换句话说, 被散落在巨大的低密度矩阵中并混有一定程度噪音的信号智能通过研究隐含模式才能显示出来。隐含因子模型的思想是用低维度的基来近似一个高维线性空间。这有助于达成以下目标:


  • 较少的维度能够帮助把信号的能量集中,则每个基向量对评分估计的贡献都是显著的。它通过丢弃简单的不适应这些较小的基啊的波动来减少噪声。

  • 基本的计算过程可以被设计来产生有着最少依赖的基向量,从而有效的揭示用户品味的主要倾向,这些倾向每个对应一个基向量。例如,Netflix 用这一方法来预测电影评分 [YK08, YK09] 时, 系统产生的维度清晰的对应着诸如喜剧,男女等坐标轴。



集合中的每个点沿着 R_1 和 R_2 维度都有着很大的坐标值并显示出数据的复杂而不规则的结构。然而,在另一个坐标系 B 中则揭示了数据可以被维度 B_1 有效描述,而维度 B_2 则并不重要,这暗示了这是一个一维的隐含因子模型。


某种程度上,隐含因子模型能够与离散余弦变换 (DCT) 相比较,离散余弦变换被用在图像压缩算法诸如 JPEG 中来用少量的谐波来近似图片。


以上的思考链引导我们到如下的隐含因子的形式化模型。首先选择维数 b≪n,m 并将每个用户和物品都当作该维度空间中的一个向量。我们将用户 u 的向量标识为 p_u∈R^b, 物品 j 的向量标识为 q_j∈R^b。这些向量是基于评分举证计算 R 得到的,计算过程中通过某种办法让向量 b 的个分量都对应到上面所述的一个隐含维度。


因此,用户和物品都可以在同样的主题下进行编码,同时评分可以通过计算两个向量的内积,即将向量的维度两两对应相乘然后求和得到:




有许多不同的方法来计算用户和物品的隐含因子向量 p_u 和 q_j。最直接的方法就是用奇异值分解 (SVD) 对评分矩阵 R 进行分解。然而,基于计算稳定性和复杂性的考虑,在实践中一般使用迭代的梯度瞎讲优化方法 [YK09]。


下图展示了卷积(2.1)和(2.3)之间的区别。左边对于给定物品的稀疏的评分向量与稀疏度相似的给定用户做卷积得到评分估计。而在右边,评分是通过计算两个降维后且能量密度很好的向量的卷积得到的。




多目标


以上讨论的推荐方法本质上都是由一个单一目标驱动,这一目标是提供最好的语义匹配或者预测偏好评分。然而,推荐精度并不是推荐系统设计的唯一考虑,零售商可能有兴趣对综合多个有冲突的目标在一起给用户提供推荐。


例如,食品杂货商可能有兴趣提升具有较短货架期的易腐食物的销量,时尚商店可能希望推广赞助品牌或当季款,更多的零售商可以从推荐较高利润率的产品或考虑产品库存水平避免以避免缺货来获得更好收益。


文献 [JW10] 提出了多目标推荐系统并在 LinkedIn[RP12] 中做了大规模验证。在 LinkedIn 的例子中, 其主要的目标是给候选人推荐语义上匹配的工作机会,其次是显示找工作的行为。[RP12] 描述了该方法,将推荐任务定义为如下的优化问题:



此处:


  • ¯r 是由底层推荐系统基于语义匹配和相关性产生的原生推荐向量,¯r 中的第 j 个元素表示的是第 j 个产品的相关性分值(或排序)。

  • ¯f 是二级特征值向量,¯f 中的第个元素对应的是第 j 个产品在次要目标上对应的分值。例如,这一向量可以产品的毛利率。

  • R(·) 是组合排序函数其综合了 ¯r 和 ¯f 形成一个新的物品排序平衡了两个目标。

  • g(·) 表示度量推荐系统性能的整体效用函数。

  • E{⋅} 对所有推荐效果的平均。

  • (·)_(1...K) 表示的是前 K 个具有最高分数的元素,这里 K 是给用户推荐的物品数。例如,如果 ¯r  中包括在册的所有 n 个产品的推荐分,则 ¯r_(1..K) 对应的是 K 个最值得推荐的产品。

  • dist(·) 是度量两个推荐向量之间的差异的距离函数,而 c 是这一差异的限制阈值。根据 [RP12], 一个合理而实际的距离度量是两个分值向量直方图的平方误差和。



上述优化问题的主要事项是是增加混合了次要目标的相关度分值的综合推荐的效用,但是对原声的相关性推荐结果和综合推荐结果的差异做惩罚来保证不会为了最求次要目标而完全牺牲相关性。


函数 R(·) 的设计需要包括可调整的参数来调节两个目标的权重并决定哪个是主要的优化目标。这一方法可以直接的扩展到多于两个目标的情况。


我们能够使用大量的例子来展示上述优化模型是可以适配到实际的问题中去的。首先,考虑零售商要将收入目标整合到推荐分值里的情况。


整体的效用函数可以被期望毛利率定义,设 m(p)∈[0,1] 为物品 p 的规范化毛利率,而被购买的概率则由排序位置的倒数表示(即在推荐列表里排序越低的的物品,其转化概率越低)。



此处是概率规范化常数。综合排序函数可以被定义为如下:



其中 β 是一个控制相关性和选取高毛利率产品之间的权衡的参数。这一参数决定了优化问题(2.4)的主要目标。


根据次要目标重新排序的另一个例子是促销特色商品,如打折产品或易腐货物。效用函数可以指定为特选产品在有 K 个推荐项的推荐列表中的平均个数。



此处 F(·) 是特选标志当物品是特选时为 1,不是则为 0。综合排序函数组合了相关性分值和特选标志,通过参数 β 来权衡哪个是主要的优化目标。


以上的排序函数能够直接扩展到整合多个分离的特征,每个特征对最终排序分值的贡献尤其对应的权衡参数(所有参数需要联合起来优化):



关于问题(2.4)的数值优化算法的细节可以在 [RP12] 中找到。


问题 3: 需求预测


问题定义


零售商为客户提供一组产品。对给定产品的需求依赖于许多因素,包括产品本身的特性如价格或品牌,同类产品竞争对手的价格, 促销活动,甚至是天气。该问题的目标是整合这些因素来构建需求模型并且允许进行假设分析以预测对价格变化的响应,品类的扩充和减少,计算最佳库存水平,并分配货架空间单位。


应用


在本节中我们将讨论需求预测核心问题。这一问题可以被考虑为一个建造模块,该模块要求对影响需求的行为或者库存水平的限制建模:


  • 价格优化,促销活动计划, 以及定向折扣。

  • 品类管理和计划。

  • 库存水平优化。

  • 需求预测模型通常应用在市场营销活动设计中,因为这些模型能够解释需求回归量的影响。例如,一个需求预测模型可以揭示某一产品的价格敏感性(当价格变化时需求有多少变化)与包装大小和和销售区域的人口特性紧密相关,这就暗示了可以在不同的商店使用不同的价格并对不同包装的产品设定不同的单位毛利率。


我们将在后面的章节中把需求预测模型用在价格优化和品类计划问题上。


解决方案


需求预测可以被认为是一个相对简单的数据挖掘问题,只需要建立一个回归模型并用历史数据进行评估。然而,设计回归模型则不是那么简单的事情,因为需求受到很多有着复杂依赖关系的因素的影响。


在本节中,我们将研究文献 [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),可以得到完全特别的需求预测模型。 这一模型可以根据零售商的业务用例来调整,这些跳帧个可以通过增加更多的解释性变量如营销事件来完成。


问题 4: 价格差异


问题定义


零售商向客户提供一组产品时,针对每个用户都制定不同的价格来最大化整体的收入。另外,该问题可以重新定义为提供定向折扣从而在基线价格上改变价格。


应用


价格差异被广泛的应用在零售业并且存在非常多种显性和隐性的形式:


优惠券,店铺级价格分区,和折扣都是价格差异的例子。


价格区分与通过数量折扣来提升销售是相关的。

动态定价能用价格差异的原则和模型来增量的调整价格。


尽管我们在问题的定义中暗示了是细粒度的个体定价方式,但是这是非常极端的情况更多常见的方法是对大的客户分群设置不同的价格。


解决方案


价格区分是最基础的经济和营销问题 [SM11],因此




此处 G 是利润,Q 是销售数量,P 是单位价格,V 是可变的单位成本(大致相当于零售商拿到的批发价格),而是固定成本如管理成本。公式(4.1)中的价格和销量是互相依赖的,因为随着价格的提高需求会下降,反之亦然。价格和销量的关系通常可以用一个线性函数来逼近,这一函数具有一个一般被称为需求弹性的系数:




换言之, 需求弹性是需求量的百分比变化与价格的百分比变化的比率。公式(4.1)和(4.2)可以可视化如下:




需求曲线是一条由需求弹性和零售商利润定义的斜线,数值上等价于(Po-V) · Q0,此处 P0 是由零售商设定的单位产品价格。一方面,当价格接近可变成本时利润趋近于 0,虽然销售量很高。


另一方面,高价格将导致销售量下降,结果利润也会变得很小。这基本上意味着价格服从于一个数值优化问题,并且零售商可以用统计技术来估计需求弹性并找到使得公式(4.1)最大化的最优价格。


这一方法,即所谓计量价格优化的实用性是比较有限的 [SM11] 因为又公式(4.1)表达的模型过于简化了市场行为并丢弃了在竞争市场中一些重要的影响价格-数量关系的因素。例如,价格大幅度下降可能会引发竞争对手降低整个行业价格的对称反应,所以所有的市场参与者最终都会处于一个销售量和利润都较低的状况。


尽管计量价格优化有很多局限性,但公式(4.1-4.2)揭示了价格差异的本质。对于任意一个价格, 无论它有多优化,这一价格都是一种折衷。因为一些客户会因为这一价格太贵而放弃购买,尽管他们可能愿意以更低的在 P0 和 V 之间的价格(依然对两种利润是正向贡献)购买该产品。


此外,一些客户可以容忍高于 P0 的价格,尽管他们产生的销售量会相对较小。在这两种情况下,零售商无法获取位于需求曲线和可变成本线围成的三角区域之中的额外利润。


价格差异是一种自然的方法来克服单一常规价格的限制,通过根据客户的付款意愿将客户分群并向不同的客户群体提供不同的价格。考虑一个这种策略的特殊情况,在前一图表的常规价格外补充了一个较高的溢价(注意与单一价格策略相比利润区域如何增加):




这一考虑带来了零售商如何把相同的产品以不同的价格卖给不同的客户这一挑战性问题。一般而言,这需要在具有不同付费意愿的客户之间设置区隔以使得高付费意愿的客户不能以为低付费意愿客群设定的价格来付费。零售商可以使用如下几种区隔机制:


  • 店铺区域:连锁零售商店一般都位于不同的社区内,这些社区具有不同的平均家庭收入、平均家庭规模、最近竞争商店距离等人口属性和竞争性因素。这就自然对客户的价格敏感性以及寻找替代供应商的能力或者意愿做了区分。这使得零售商可以在店铺的级别上在不同区域设置不同的价格。


  • 包装大小:诸如软饮料或化妆品之类的快速消费品(FMCG)具有较高的周转率,消费者自然可以选择是频繁购买少量产品或者储存大量的产品。这种权衡也受到诸如家庭规模等人口因素的影响。这一机制通过购买大型或小型包装的意愿来创建区隔,并为不同包装尺寸设置不同的单位边际价格。买一送一(BOGO)优惠也与此机制有关。


  • 促销活动:客户可以根据他们是否愿意等待较低价格还是以正常价格立即购买来区分。此种客户分群方式被广泛应用于服饰领域,在该领域季节性促销是主要的营销机制之一。


  • 优惠券:许多客户不会愿意以常规价格来购买某一产品,但是当有折扣价时却会考虑购买。因此零售商可以从折扣中获得额外的客户,尽管他们贡献的毛利率相较于那些以正常价格购买的产品的客户较低。另一方面,向太过广泛的受众提供折扣可能是有害的,因为那些愿意以正常价格购买的客户也会使用折扣(当没有折扣的时候)。前面章节中讨论过的响应建模技术有助于解决这一问题。然而有一种 19 世纪就存在的传统解决方案——优惠券。优惠券代表需要付出一定努力才能赚取或兑换的价格折扣(例如,客户必须在报纸上找到它,剪下来并在商店出示),这就通过花费时间和精力获得折扣的意愿区分了客户。


  • 销售渠道:不同的销售渠道自然代表不同的区隔,因为客户对购买渠道的选择与他们的支付意愿密切相关。例如,与在杂货店购买相同葡萄酒的顾客相比,酒类商店顾客的价格敏感性一直较低 [CU13]。


尽管这些技术已经应用很久了,但是要建立一个完整的折扣优化模型是非常挑战的。并且,据我们所知,所有现有的模型都有这样或者那样的局限性。在本节剩下的部分我们考虑两个价格差异模型,这两个模型是根据美国超市(特别是 Safeway 在芝加哥子公司的数据)的数据设计并在这些数据上做过验证的。


基于数量和地点的差异


文献 [KJ05] 提出了这一模型,该模型的目标是联合优化基于包装大小的数量折扣和店铺级别的区域价格。这一模型与我们在需求预测章节中讨论的模型非常相似,只是该模型引入了更多的包装大小和折扣参数。


让我们考虑这样一种情况,一个零售商运营多个店铺,销售的某种产品也有几种品牌,产品的规格也有几种,例如可口可乐和百事可乐分别有 2 听装、4 听装和 6 听装。目标是优化每种包装的单位产品价格,这里假设单位产品价格是可以根据产品规格和店铺来调整。我们从标准的多元逻辑特模型(multinomial logit - MNL)开始,这一模型在前一节需求预测中讨论过。



它表示顾客在时间 t 在商店 s 购买产品 j 的概率,J 是产品的数量(所有品牌的所有规格加上)。时间以相对较长的时间间隔(如周)进行测量。参数变量 x 可以使用以下回归模型进行估计:



此处 zj 是产品规格,Pjts 是价格,djts 是折扣力度(单位美元),ruts 整合了诸如最近竞争商店等竞争性因素,而 fjts 则整合了环境变化因素如天气。因此, 回归参数 αk 基本上对应着客户对品牌、规格的偏好、对价格的敏感性、对折扣的响应度、对竞争者的偏好、对变化因素的敏感性,以及折扣对价格敏感性的影响等等。


文献 [KJ05] 认为促销案例中的价格敏感性回归模型应该比以上仅用一个回归量来表达价格敏感性更复杂,因为客户会有囤积产品的情况,这就使得过去的促销会提高其对当前产品价格的敏感性。这一方面可以通过将相应的回归器分解为两个部分来建模,如下所示:



以上公式中 α3 是平均敏感度而第二项则表示记忆效应。其中 W 是表示历史深度,即过去的周数,p0 表示常规价格,而 p 是实际的折后价格。类似的,也有观点认为对促销的敏感性也与最近的促销有关:



此处 wj 是最近的促销活动过去的周数。促销敏感性对 wj 依赖基于以下假设,两次促销之间的周期越长,则对促销的响应度越高。


公式(4.3)允许我们预测销售量,所以价格优化问题能够根据公式(4.1)分时间周期来定义:



以上公式中 cjt 表示批发价格,而 Qjt 表示预测的销售量。此处的优化约束条件是为了避免由市场竞争或者客户行为等主要因素的变化引起的剧烈的价格变化和偏移。


文献 [KJ05] 提出了这一特殊的约束条件,这一约束要求优化后的产品份额加权平均价格(表示产品的市场份额)不会超过优化前的份额加权平局价格(表示原始价格)。这一优化问题(4.4)可以在店铺水平上得到求解,这意味着在规格和地点上都可以做差异化,或者仅在连锁店级别上来差异化数量折扣。


个性化折扣和优惠券


尽管上面的模型在店铺层面做价格差异也隐含了客户层次上的价格差异,但是这一模型不是为单个客户的折扣优化来设计的。接下来我们考虑文献 [JT13] 提出的另一种模型,这一模型是为了专门优化个性化折扣和优惠券的。这一模型的主要优势是它不仅是优化折扣的粒度,同时也尝试为指定用户提供折扣的最优时间和折扣的最优有效期。这些时间属性上的优化思想来自于以下假设:一个客户购买的概率不是随时间恒定的,而是会随着时间变化的,因此对每一个用户而言都存在最优的折扣时间窗口。


这一模型的主要缺陷是其只能对特定品牌如厂商促销来进行优化,而不能用于品类管理。你为了对折扣的时间属性建模,假设对产品的折扣力度为 d,我们将客户 u 在时间 t 购买产品的概率分解为购买产品的概率和客户在在时刻 t 购买的概率乘积:



对给定产品的购买概率密度函数能够用公式(4.3)中用过的 MNL 的模型来估计。在时刻时购买的概率密度函数在文献 [JT13] 中由厄兰分布来建模:



此处参数变量 yu 可以用回归模型来估计,该回归模型与公式(4.3)中用来估计参数变量的类似,会用一个回归量来描述折扣力度,因此之后可以对其进行优化。


上面定义的购买概率使得我们能够对给定客户的销售量 Qu 作为折扣力度(以美元为单位)、折扣起始时间、和折扣周期的函数来建模:



以上推导可以使得我们导出如下毛利率优化问题:



这里 m 是在正常价格下的毛利率。以上公式中的第一项对应着收入,收入由三个方面组成(促销前的收入、促销期间的收入和促销后的收入);第二项对应着营销活动的成本。下图描述了这一优化问题:



顶部的第一个图显示了客户 u 购买的概率密度函数曲线,此图中对于给定产品在正常价格时的销量对应着 S0 区域。一个固定的永久折扣增加的销量对应的区域为 S1,因此总收入和促销成本(如中间的图所示)是与 S0 和 S1 成正比的。


时间优化的促折销使得收入与 S0+S2 成正比, 其成本与 S02+S2(如底部的图所示)。固定折扣促销和时间优化的促销之间的这种差异表明在概率密度函数具有某些数量性质时存在利用时间优化来改善毛利率的潜力。


问题 5:促销活动规划


问题定义


零售商向客户提供一组产品时,针对每个用户都制定不同的价格来最大化整体的收入。另外,该问题可以重新定义为提供定向折扣从而在基线价格上改变价格。


零售商准备一次促销活动,即对某个或者一组特定商品进行有时限的折扣。对促销活动的规划需要估计到下列有关的值:


  1. 哪些产品的库存需要避免在活动结束前缺货?

  2. 什么样的价格会最大化收入?价格可以考虑是一个恒定值或者是一个从活动开始到结束不同时间段的函数。


我们将考虑库存水平是预先确定的,零售商试图计算最优价格这种情况。这是时尚零售商在处理季节性清仓和款式翻新 [JH14, CA12] 中遇到的典型问题。这一问题可以以不同的方式来定义,如将需求预测和价格优化作为独立的问题来处理,也可以同时优化库存水平和价格,总之其目的是最大化收入。


应用


促销活动的规划在零售中有如下的应用:


  • 清仓和季节性促销是时尚零售业中的主要应用。

  • 某些商业模式如快闪零售(也被称为弹出零售)只有促销活动一种销售方式。

  • 快消品和易腐品的零售商可以使用促销活动策划来调整销售节奏与产品保质期同步 。


解决方案


动态需求预测和价格优化是经济学中所研究的基础问题,被称为收入管理。收入管理的理论在书籍如 [TA05] 中有很好的阐释和系统化的介绍。在服务业中的预定服务,如机票、体育场座位、酒店房间、租车等等场景中可以找到收入管理自动化的最先进和最有效率的例子。要理解这些技术可以如何在零售领域中使用,我们来考察由 RueLaLa(一个时尚零售商)提出来的方法论。


我们假设一个零售商计划对 N 个产品或者产品组(产品组中的产品价格相同,如不同口味的酸奶,或者不同花色的 T 恤)进行打折。设 P 为价格集合,该集合包含每个产品可以设定的价格。在实践中,P 通常是根据业务规则组成的比较小集合。例如,价格下限可以根据零售商的盈利水平定义为 29.90, 价格调整幅度根据心理价格可以设定为 5 美元,则 P=$29.9,$34.9,$39.9,$44.9,$49.9。


假设促销活动中的所有产品或者产品组都有某些共同点,例如同属于相同的类目“女鞋”或者“平安夜食品”,因此对一个产品的需求潜在的依赖于其他可替代产品的价格。


通过引入变量 S,其等于所有参与促销活动的竞争产品(产品组)的价格之和,而对某一产品估计的期望需求则为数学期望 E{Q | i,pj,S},此处 Q 是表示需求量的随机变量,i=1,2,……,N 是产品的索引,而 j =1,2,……,|P| 是单个产品或产品组的价格。既然 Q 与产品价格 S 和都相关,这就隐含地包含了产品价格与可替代产品的评价价格的比值对需求和其弹性都是有影响的。


现在我们可以在假设 S 为固定的并对所有可能的 S 求解这一优化问题 [JH14]:



当产品 i 的价格为 pj 时,二值变量 δi,j∈0,1 为 1,否则为 0。上述优化问题中的目标函数可以自然地表达为促销活动的收入。第一项约束保证每个产品的价格都在 P 之中(原文可能有问题),而第二项约束保证所有产品的价格之和为 S。其他关于库存水平的约束也可以加入到优化问题中来。


以上的优化问题需对需求 E{Q | i,pj,S} 做估计,这可以用前面章节中做需求预测和价格分群的技术来解决。然而,需要非常注意到缺货(而且是可取的)是促销活动中非常典型的情况,因此对很多产品的需求预测建模所要用到的历史数据都是被截断的。


正如 [JH14] 中所建议的那样,可以通过使用在此前促销期间没有缺货的产品的数据为不同产品类别构建画像来解决此问题,并使用这些画像来调整相应类别的需求曲线。


问题 6: 类目管理


问题定义


零售商根据类目销售产品。一个类目表示一组相对内聚的产品,这些产品有很多共同点(如"甜点"、“女式牛仔”等),所以客户有可能在他们的首选产品因某些原因缺货时愿意用另一产品来替代。


产品缺货的主要原因有永久性的品种减少(如因为有限的货架空间)和暂时的性的售罄。类目管理的目标是利用替代效用用优化方法计算出一个产品子集,这一子集在满足物理约束如可用的货架空间的情况下可以最大化毛利率。


应用


品类管理是一项相对专业化的工作,但是当目标是优化一个产品类目的整体收益而不是一个单一产品的收益时,它也会涉及到在促销优化问题中存在的替代效应问题。零售商一般情况下对类目的整体收益的关心程度远胜于对单个产品的优化,因此在本节中讨论的方法可以被用在很多不同的应用中以实现最优解决方案。本节研究的模型可以直接应用于以下类目管理方式:


  • 仓库的产品库存水平优化。一个特别重要的应用是对易腐产品的库存管理,这需要考虑到保质期和过去产品造成的潜在损失。

  • 优化货架的布局来调整相关产品的份额。

  • 类目规划(在类目中加入或者移除哪些产品)


解决方案


从计量经济学的角度来看,类目管理问题是由收益递减规律引起的。或者更具体地说,收入和成本与类目的规模关系是不同的,总的趋势是消费者购买能力在某个时候达到饱和,同时由于店铺面积和其他运营成本的增加,成本持续增长:



这一趋势引出了类目优化问题。这是一个非常具有挑战性的问题,因为它需要对整个类目中所有产品之间的相互依赖关系建模。然而,尽管面临这些挑战,在 [KOK07] 中已经提出了一种切实可行的类目优化模型,并在荷兰的连锁超市 Albert Heijn 中应用。在研究这一方法之前,我们先引入下列符号:


  • N={1,2,……,J} - 零售商给用户提供的一个类目下面的最大产品集合,即所有品类。

  • fi∈{0,1,2,……} - 产品 j 的库存水平。零售商通过选择 f 为 0(产品不出现在品类中)或者非 0 来优化品类。

  • F0 - 统一库存单位度量下的库存总容量。这里有个假设是所有产品的库存水平之和不能超过 F0。库存总容量可以由仓库或者店铺的可用货架空间所约束。

  • Nh ⊂ N - 店铺 h 的品类,是总品类的子集。

  • dj 表示产品 j 的原始需求率(当所有 N 品类都展示给客户时有多少顾客会选择该产品)

  • Dj - 观察到的产品的需求率(每天因为原始意愿或者替代效应而实际选择产品 j 的数量)。对给定产品观察到的需求与原始需求和其他产品的可获得性(替代效应)有关系,其可以被视为函数:


Dj({f1,……,fJ},{d1,……,dJ})


使用上述符号,品类优化问题可以形式化如下:



其中毛利率 Gj 是给定产品和其对应的观测需求的函数。这一函数很大程度上与零售商的商业模式有关,所以我们下面介绍一些通用的函数模板,基于这些模板可以根据实际的使用情况来定制毛利率函数:



公式(6.2)将观测需求乘以毛利率 m,这是对毛利润最简单的建模方式。该公式隐含假设了补货及时而没有缺货的情况。杂货这样的快消品正是属于这种情况,但是在其他领域如服饰则必须如公式(6.3)那样考虑缺货的情况。销售易腐货物的零售商还要考虑货损,公式(6.4)通过引入单位损失变量 L 来对此进行建模。


为讨论方便,后面我们假设所有产品的补货都是及时的,所以缺货是不可能或者是可忽略的。因此我们可以将 j∈{0,1} 作为二值变量来表示产品是否在类目中。更复杂的处理缺货的模型可以在 [KOK07] 中找到。


要解决(6.1)中的优化问题,我们需要定义观测需求函数。在无缺货假设下,需求函数可按照下面公式来建模:



其中 αk-j 是产品 k 被产品 j 替换的概率。上述公式是比较自明的:第一项是原始需求,而第二项是所有被从类目中移除的产品的累计替代需求。


公式(6.5)需要估计替代概率 αk-j 和原始需求率 dj。为了做这些估计,我们假设下列变量是已知的(我们已经在本文的前面章节讨论过需求预测):


  • Qjh,j∈Nh – 每个客户在店铺对产品的需求。假设 Kh 是一天内进过店铺 h 的客户数量, 则 Dj = Kh * Qjh。

  • Q0jh,j∈Nh - 每个客户在店铺 h 具有全品类产品时的需求(假设商店的品类是全的)。因为品类齐全所以不存在替代效应,因此 Q0jh 就是原始需求。


估计替代率 αk-j 是比较困难的事情因为产品集合 J 中有多达不同 J2的替代率。不过,[KOK07] 找到了下述客户行为的简化模型,在实践中这一模型有足够的精度并仅需要用一个而不是 J2 个变量:如果产品 k 买不到,客户会选择其第二选择产品来替代的概率为 δ,这一概率对一个类目下的所有产品都是一样的,则客户不买任何东西的概率为(1- δ)。这一模型引出了如下替代率的简单公式:



为了估计 δ, 我们将给定店铺的总需求定义为Qjh(可由历史数据来估计)之和,



另一方面,该值也可以根据公式(6.5)估计如下:



现在 δ 可以通过最小化总需求的实际值和预测值之间的差异来估计:



求解优化问题(6.1)的下一步是计算公式(6.5)中使用的原始需求率。我们首先注意到店铺 h 对 N 中所有产品的总需求可以按如下方式计算:



其中 Vh 是每天到访店铺 h 的客户总数。在公式(6.10)中,所有 Q0jh 之和乘以 Vh 表示在给定全品类时的的总需求。然而的值时针对拥有全品类的店铺估计得的,其值时与给定店铺相关(如地点,店铺面积等等)而没有被建模的。这可以通过公式(6.7)估计的类目需求和从公式(6.8)预测的需求比值来补偿调整。


在一个品类有限的店铺,总需求是以下两个部分的和:对给定店铺品类中存在的商品的需求和对中其他产品的需求。两部分的比率可以由表示如下:



自然的,Th * rh 表示对品类中存在的产品的需求分额,而(1- Th * rh)则表示对不在品类中的产品的需求份额。最后,我们对单一产品的需求可以当作是总需求的一部份来计算:



所有公式(6.12)和(6.9)中的系数都可以根据数据来估计,因此我们可以把所有公式展开到原始优化问题(6.1)中,则这个问题可以使用 [KOK07] 提出的数值方法来求解。


公式(6.1)将为每个产品都产生一个假定的最有库存水平 fj。这些库存水平值可以用来调整库存和优化货架布局。值得注意的是该模型使得零售商可以做假设分析来评估对品类和库存水平的改变会如何影响毛利率。


例如,零售商可以画出毛利率根据给定产品或者产品组的库存水平变化的函数曲线。这些曲线对易腐产品尤其具有描述性,因为毛利率是凸函数,当库存水平为 0 时函数值为 0,而当库存水平过高时毛利率因为产品过期造成的损失也会为 0,毛利率的最优值是在两种极端情况之间。


问题 7:财务影响


如果缺乏上述被讨论的优化方法的财务表现方面的数据,我们对这些方法和对应的数据问题的概述将是不完整的。尽管这些数据是不难获取的,但对此我们仍然需要谨慎对待,因为财务表现与零售商的商业模型机密相关,并且事实上我们无法隔离其他环境因素如市场增长或者竞争对手的行动对优化问题的影响。


除此之外,这些数字可能因很多因素而有很大的差异,所以本文中我们的目标只是提供一些基准,使得读者可以对优化的潜在幅度有所了解。以下列表收集了一些关于这些优化方法对财务影响的实例:


响应模型广泛用于整个营销过程,从零售到推广活动 [EP13]。经常有报道称,与随机投放相比,响应模型可以将推广活动的收益率提高 20-30%,而提升模型可以带来 15% 左右的实质性提升或在其他方法都不起作用的困难的情况下实现盈利 [PS08]。


在 RueLaLa 的实践中对 [JH14] 中提出的营销活动优化进行了全面评估,得出的一般结论是,综合优化模型比之前使用的启发式算法能提高约 10% 的收入。 [CA12] 中提出的并经 Zara 验证过的事件优化模型声称可提供 5.8% 的收入增长。


类目管理框架已在 Albert Heijn 进行了验证,以优化 37 个商店中 25 个子类别的分类。发现在这 25×37 = 1295 个情况中,使用传统方法有 701 个不理想,在使用了新的类目管理方法进行优化后可以提高约 6.2% 的毛利率。


最后,值得注意的是,大多数这里讨论的优化方法不会显著的影响零售商的成本,因此收入的提升大概率的直接带来净利润的提升。


结论


在前面的章节中我们概述了一些零售相关的计量经济学问题,给出了其应用和用例,并且阐述了可以应用到这些问题上的数据分析方法和优化模型。在最后的一节中,我们将把上述这些模型联系起来以提供一个全景式的总结。


由点到面


本文的主要目的是描绘完全依赖于数据挖掘和数值优化的决策自动化框架。因此,将这个框架可视化为一个消费数据并产生可执行动作和决策的管道是合理的。


首先,我们可以将数据探索和知识发现流程放入一个单独的层级中,该层级主要使用无监督学习算法,并且主要依靠人为因素来评估数据挖掘结果,例如客户群或者是购买产品的频繁项集。


虽然这些过程在实践中非常重要,但它们很难集成到自动优化过程中来,因为模式的发掘通常依赖于手工流程而且通常相比于增量式优化它对战略决策更有用。不过这一层的输出可以配置到下游的过程中,例如,新发现的客户群可用于定义新的倾向模型或引入并优化专属折扣。


接下来的两层分别与建模和优化有关。广义而言,建模层的基本目标是提供一个全面的消费者模型,定量描述他或她的价格敏感性,对活动和折扣的响应倾向,用一种产品替代另一种产品的意愿,对推荐的接受度,等等。


但是在实践中建立这样一个全面的模型是非常困难的,所以我们使用多种专用模型来处理不同的问题。然而,需要指出的是,这种想象中的消费者模型涉及到所有类型的优化问题,因此获取有关客户行为各个方面的全面数据至关重要。


优化层的主要挑战是多目标的联合优化。联合优化对计算来说是一个严重的挑战,而且最重要的是联合优化受到底层预测模型能力的限制,所以几乎所有的优化技术都只能处理一个或两个目标。


我们把这些层都放到下图中。组件之间存在许多可能的依赖关系和相互作用,因此我们仅展示了一个与响应建模相关的样例程流,以免图变得过于混乱。



定价的重要性


在这些不同的问题和目标中,我们需要非常重视定价决策以及所有于定价有着直接或间接关系的的优化问题。让我们用一个经典例子来说明定价决策的重要性。会议一下企业利润的基本公式:


G = Q · (P - V)- C


其中 Q 是销售量,P 是价格,V 是可变成本,而 C 表示固定成本。假设一个服装零售商每月以 40 美元的单价销售 10 万件服装,假设每件服装的批发价是 25 美元而固定成本为一个月 50 万美元。我们可以计算销售量、价格、可变成本和固定成本在变化百分之一的情况下是如何影响利润的:



在这个例子中,我们可以看到定价对利润的影响比其他变量大得多。尽管这是一个过于简单和任意的例子,这一模式在众多不同行业的不同企业中存在。这使我们得到如下结论:零售商应特别关注与定价(折扣、个性化价格、动态定价等)有关的优化方法以及支持这些方法的数据挖掘流程。


我们也注意到全渠道零售可以给自动定价优化带来新的机会。既然价格差异是最有力的定价技术之一,则定价优化的理想环境是为每一个客户提供显示或隐式(折扣)的个性化价格,而且所有的价格是可以动态调整的。数字渠道恰好提供了这些条件,其中每个客户都有自己独立和动态的对零售商的视图。


隐含维度的重要性


如我们已经提到的,许多零售业中的优化问题与用户的行为模型是内在相关的。在个人客户层面建立这种模型的能力是数据挖掘技术带来的最重要的好处之一,也是一对一营销的关键推动力。


客户建模的最复杂的例子可以在推荐系统中找到,这些系统通常使用隐式维度的概念来捕捉客户和产品的心理特征。这一概念非常的重要,它可能远远超出推荐系统的范围,但据我们所知,它并没有如期望的那样在其他应用中被广泛应用。这使我们得出这样一个结论,即整体的优化系统可以将推荐领域的最先进的技术应用到那些不常见的应用中而受益。


展望


在零售业中实现完全的自动化决策是极具雄心的。甚至可以说,在实践中想要衡量这些优化方法的表现几乎是不可能的,因为观察到的收益提升可能与市场趋势,竞争对手的行动,顾客品味的变化以及其他因素相关。


这个问题在经济学教科书中被称为内生性问题,这对于数据驱动优化技术的研发者和用户来说都是一个巨大的挑战,而且即使看起来成功的案例也会受到该问题的挑战而显得其结果没那么可靠。


尽管如此,在过去的十年中,主要的零售商一直在寻求将数据挖掘与数值优化技术结合在一起的技术的整体解决方案。这种先进的系统将是企业数据管理演进的下一个阶段,它将遵循对数据仓库的共识并大量采用数据学科学方法。


— 全文终 —


本文是 TalkingData 首席数据科学家张夏天翻译自 Highly Scalable Blog 的一篇文章,介绍了零售业中的数据挖掘问题。