编辑推荐: |
本文来自于网络,文中主要介绍了零售业中的数据挖掘问题。其中包括零售业中的多个常见问题,如响应建模、推荐系统、需求预测、财务影响等。 |
|
零售是数据科学和数据挖掘重要的商业应用领域之一。零售领域有着丰富的数据和大量的优化问题,如优化价格、折扣、推荐、以及库存水平等可以用数据分析优化的问题。
全渠道零售,即在所有线上和线下渠道整合营销、客户关系管理,以及库存管理的崛起产生了大量的关联数据,大大增强了数据驱动型决策的重要性和能力。
尽管已经有许多关于数据挖掘在营销和客户关系管理方面的书,如 [BE11, AS14, PR13 etc.],但绝大多数书的结构更像是数据科学家手册,专注在算法和方法论,并且假设人的决策是处于将分析结果到业务执行上的中心位置。
在这篇文章中我们试图采用更加严谨的方法和系统化的视角来探讨基于数据分析的经济学模型和目标函数如何使得决策更加自动化。在这篇文章里,
我们将描述一个假想的收入管理平台,这一平台基于零售商的数据并控制零售策略的很多方面,如价格、营销和仓储。
我们专注在将经济学框架和数据挖掘方法的组合有以下两个主要的原因:
1.我们可以从经济学教科书上找到上百个与零售有关的经济学模型,因为关于市场、折扣、竞争等问题在上个世纪得到了深入的研究。然而,许多模型都是高度参数化的(即严格的由带有有限参数的公式所定义)并且不能足够灵活而精确地对现实世界的问题建模。但数据挖掘提供了很多非参数建模技术,可以帮助创建灵活而实用的模型。在最近十年里,也有许多成功的平衡抽象模型和机器学习技术的文章和案例研究已经发表。
2.快速的数据循环使得在现代零售业中可以使用相对简单的模型做出更加准确的预测,因为小规模增量式的预测一般而言要比大决策更加容易。例如,因为对于一个新的颠覆性产品在消费者心中的感知价值是未知的,要计算它的最优价格是很困难的。但是根据需求和库存水平实时调整促销价格则是相对容易的。有一些成功的商业解决方案对价格优化就几乎丢弃了经济学模型,简单的根据销售闭环的反馈情况来决定价格的上升和下降
[JL11]。
以上两点意味着在零售业自动化决策和动态优化具有很高的潜力,因此我们专注于研究这个领域。本文很大篇幅用于综述零售业者和研究人员发表的成果,这些成果都是他们在综合应用抽象经济学模型和数据挖掘方法构建实际的决策和优化系统中产生的。
特别的,本文主要受到 3 个案例研究的启发,分别出自 Albert Heijn [KOK07],荷兰最大的连锁超市,Zara
[CA12],一家国际服装零售商,以及 RueLaLa [JH14],一家创新在线时尚零售商。我们同样综合了来自
Amazon、Netflix、LinkedIn 和许多独立研究者和商业项目的结果。同时,我们避免使用那些缺乏实践支持的学术结果。
我们的研究主要着眼于与收入管理相关的优化问题,包括营销和定价等问题。更加特殊的数据挖掘应用,如供应链优化和欺诈检测,
数据挖掘过程实现的细节(如模型质量的验证)则不在这我们研究的范畴内。
本文剩余部分组织如下:
1.我们首先引入一个简单的框架将零售商的行为,利润和数据联系在一起。此框架将作为更统一的方式来描述分析问题。
2.本文的主体部分探讨了一系列与零售业相关的优化问题。我们将在不同章节逐个介绍这些问题。每个章节会简要描述问题,并提供一组业务案例和应用,以及详细介绍如何将问题分解成经济学模型和数据挖掘任务,使得可以通过数值优化方法来解决业务问题。
3.然后,我们会有一个章节专门讨论这些方法在实际应用中的可期的经济收益。
4.最后,总结部分会对这些问题之间的依赖关系进行讨论,从而阐明一般的原则和关键点。
优化框架:
本文介绍了 6 个主要与营销和定价相关的优化问题,这些问题都能够应用数据挖掘技术来解决。尽管这些问题非常不同,但我们尝试建立了一般性的框架来帮助设计求解所需的优化和数据挖掘任务。
该框架的基本思想是用一个经济指标,例如毛利率作为优化目标,并将这一目标作为零售商行为(如营销活动或者分类调整)的函数。
同时计量经济学目标也是数据的一个函数,即计量经济模型应该被零售商的特性参数化,从而在其输出中产生一个数值,如毛利率。
例如,某零售商在计划一个邮件营销活动。可行的行动空间可被定义为一组对于每个客户发送/不发送决策集合,而活动的毛利率则决定于营销动作(有些人会接受激励而另一些人不会)以及给定客户的期望收入和邮件成本。这一方法可以更形式化的由如下公式表达:
此公式里 G 是可用于分析的数据,是零售业者行为和决策空间, 是计量经济模型函数,其参数是 d 和
A,而 A0 是最优策略。这一框架由文献 [JK98] 整理提出。
模型 G 的设计十分依赖于问题本身。在大部分情况下,对毛利率建模和优化都是合理的。但是,有些情况下其他的目标也是有可能的,就如下一章探讨的响应建模。同时需要注意的是优化问题(1)也跟时间有关系,因为环境会随着如新产品的上架、竞争对手的行动等因素变化,零售业者自己的行为也会产生影响。
数据挖掘在这一优化问题中的角色是非常重要的,因为计量模型 G 通常都比较复杂且必须基于数据通过回归等数据挖掘技术学习确定。
在某些情况下因为复杂性太高(如用户的行为很难精确预测)或者因为无法将现有数据做外推(如对于完全新的服务),模型是无法完全确定的。这时,可以用
A/B 测试和问卷调查来获得额外的数据来改进模型的精度。
问题 1:响应建模
1.问题描述
在广告或者特价优惠活动中,需要决定将一些资源投放给一些客户。而这些资源都是有成本的,如邮寄印制商品的目录的资金成本,或者一些负面效应(如使得用户取消邮通知订阅)。
同时, 这些资源将会影响用户的决策,如促使他们更多地消费或者购买更高价值的产品。其目标是找到一组最靠谱的候选客户,对他们投入资源后能够使得业绩最大化。
投入的资源可以是同质的(如所有参加的客户都得到同样的激励)也可以是个性化的。在后一种情况下,零售业者将对每个不同的客户提供不同的激励如不同产品的优惠券来最大化总体的收益目标。
2.应用
响应建模被广泛的应用在营销和客户关系管理上:
确定特定的折扣、优惠券和特价,需要识别出客户对这些激励的反应。
有这对性的邮件促销、活动和赠品(如 4S 店提供的免费太阳眼镜)通常需要识别出最优价值的客户来降低营销费用。
客户挽留计划需要识别出那些可能会离开但可以通过激励来改变主意的客户。例如,电商可以向那些放弃购物车或者离开搜索会话的客户发送特价优惠。
在线目录和搜索结果可以根据客户对某些商品的的喜好来重新调整。
响应建模帮助优化了电邮促销来避免不必要的垃圾邮件,这些垃圾邮件可能会让客户取消邮件订阅。
3.求解
基于以上的讨论,我们现在可以认识到这个问题就是资源分配的优化问题,而优化问题由一个目标函数驱动。一个最基本的方法是:根据每个客户的响应概率和期望净价值来对促销活动的整体利润建模。
这里 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:推荐
1.问题说明
一组激励中的每一项激励对应着一个产品或者其他目录项目。展示这些激励并不直接与费用成本相关,但是只有有限数量的激励能够展示给用户。
从这个角度来说,每个激励的展示都会占用一定的屏幕空间或者客户的注意力,所以给客户提供的某个激励的负面激励能够被机会成本的损失来度量。
在这样的目标下就需要将激励的子集对于每个客户而言都是个性化的(如网站上的推荐)从而最大化群体的购买表现。
2.应用
该问题最典型的应用有推荐系统, 个性化搜索结果, 和定向广告。 此外还有一些其他重要的应用:
厂商赞助折扣可以归为这类问题,因为零售商对激励的成本不关心(由厂商覆盖这部分成本), 他们仅关心有效的定向。厂商赞助的活动被广泛的应用在很多零售细分领域,如杂货店或者百货商店,因为这些厂商市场份额的提升有很重的依赖。
交叉销售的营销能也够从推荐模型中获益,因为一些推荐技术能够揭示出客户画像中的隐含维度,如生活方式。这些能力对于跨类之间的推荐是特别有用的,可以基于客户服饰方面的消费行为向客户推荐家居或者厨具。
推荐系统可以将用户的购买和浏览历史概括为心心理学画像,因此乏味的着装品味或者运动型的生活方式能够量化测量。同样的技术也可以根据竞争者销售产品的来对竞争者画像,就像根据客户购买来对客户画像。
一些推荐算法能够基于文本描述来区分产品的心理维度,如生活方式等。所以商家可以利用它们来评估产品描述,也可以用来获得关于产品定位的适当措辞的建议。
特别需要注意的是尽管推荐通常被认为是线上服务特有的,但其所产生的基本原则和技术对于零售业的许多方面也是非常重要的。因为这些技术致力于揭示客户对产品兴趣的隐含关系,而这是零售商最基本的任务。
3.解决方案
推荐系统在过去20年是非常受关注的研究领域,[JZ10, RR10] 两本书提供了对几十种在各种论文,演讲和白皮书中提出的推荐算法和技术的系统化视角。
某种程度上,推荐技术的高度多样性在于一些实现推荐时遇到的挑战,如客户评分的稀疏性,计算的可扩展性,以及缺乏新物品和客户的信息。
显然,我们无法在本节中综述哪怕一下部分方法和算法,而且在此处探讨这些也没有太多的意义,因为这样的综述俯拾皆是。相反我们将关注于驱动设计推荐系统的目标和效用函数,而基本上忽略这一问题的算法和技术侧的细节。
从计量经济学的观点来看,推荐系统问题与电商和全渠道商业在很多零售领域的兴起带来销售品类的快速扩张是紧密相关。大的平类增加了很多非畅销产品,每一个产品的销售量和贡献的收入都是很少的,但是这个“长尾”的总体贡献是非常显著的。
传统推荐技术如推广最畅销的商品不能有效利用非畅销商品的潜力,这就需要更巧妙的推荐方法在数百万他或者她从未探索过的产品中对其进行引导。
因为我们主要关注模型对客户在产品上的偏好的描述,我们将从根据效用函数的复杂性从简单到负责来介绍使用最广的推荐技术,
我们将依据如下图所示的推荐技术层次分类图。这个层次分类综合了推荐系统的常用分类,但也不是完全一致:
4.单一目标
让我们从单一目标推荐任务的基本定义开始,这一定义被广泛的应用在推荐系统的文献之中。零售商向用户群体
U={u_1,…,u_m } 销售物品 J={j_1,…,j_n }。评分函数 R:J×U 表示一个用户对一个物品的观点从负面(“不喜欢”)到正面(“喜欢”),通常使用数字来表示。
一些用户和物品对的评分值可以基于用户的评分或者通过分析购买历史,网站访问记录来估计,推荐任务则可以被定义为对给定用户-物品对
(u,j) 评分值 ?r_(u,j) 的预测。
有两种方法可以解决评级预测问题:
通过查找与特定用户过去喜欢的项目相似的项目来独立估计每个用户的评分;
也可以通过对来自与给定用户类似的用户的评分进行平均来估计评分。这两种方法分别被称为内容过滤和协作过滤。
5.内容过滤
内容过滤的主要思想是基于对用户过往对于产品的偏好、行为和购买。尽管不可以对内容过滤做不同的解释,
我们选择将其作为分类问题 [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)之间的区别。左边对于给定物品的稀疏的评分向量与稀疏度相似的给定用户做卷积得到评分估计;而在右边,评分是通过计算两个降维后且能量密度很好的向量的卷积得到的。
6.多目标
以上讨论的推荐方法本质上都是由一个单一目标驱动,这一目标是提供最好的语义匹配或者预测偏好评分。然而,推荐精度并不是推荐系统设计的唯一考虑,零售商可能有兴趣对综合多个有冲突的目标在一起给用户提供推荐。
例如,食品杂货商可能有兴趣提升具有较短货架期的易腐食物的销量,时尚商店可能希望推广赞助品牌或当季款,更多的零售商可以从推荐较高利润率的产品或考虑产品库存水平避免以避免缺货来获得更好收益。
文献 [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: 需求预测
1.问题定义
零售商为客户提供一组产品,对给定产品的需求依赖于许多因素,包括产品本身的特性如价格或品牌,同类产品竞争对手的价格、
促销活动,甚至是天气。
该问题的目标是整合这些因素来构建需求模型并且允许进行假设分析以预测对价格变化的响应,品类的扩充和减少,计算最佳库存水平,并分配货架空间单位。
2.应用
在本节中我们将讨论需求预测核心问题。这一问题可以被考虑为一个建造模块,该模块要求对影响需求的行为或者库存水平的限制建模:
价格优化,促销活动计划, 以及定向折扣。
品类管理和计划。
库存水平优化。
需求预测模型通常应用在市场营销活动设计中,因为这些模型能够解释需求回归量的影响。例如,一个需求预测模型可以揭示某一产品的价格敏感性(当价格变化时需求有多少变化)与包装大小和和销售区域的人口特性紧密相关,这就暗示了可以在不同的商店使用不同的价格并对不同包装的产品设定不同的单位毛利率。
我们将在后面的章节中把需求预测模型用在价格优化和品类计划问题上。
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),可以得到完全特别的需求预测模型。 这一模型可以根据零售商的业务用例来调整,这些跳帧个可以通过增加更多的解释性变量如营销事件来完成。
|