时间: 2021-07-30 10:57:09 人气: 10 评论: 0
本文是 TalkingData 首席数据科学家张夏天翻译自 Highly Scalable Blog 的一篇文章,介绍了零售业中的数据挖掘问题。本文内容包括零售业中的多个常见问题,如响应建模、推荐系统、需求预测、价格差异、促销活动规划、类目管理、财务影响等。其中涉及的资源分配优化问题、个性化推荐、定向广告等业务问题,上下两篇完整阅读大约需要两个半小时,本次发布下篇。
零售商向客户提供一组产品时,针对每个用户都制定不同的价格来最大化整体的收入。另外,该问题可以重新定义为提供定向折扣从而在基线价格上改变价格。
价格差异被广泛的应用在零售业并且存在非常多种显性和隐性的形式:优惠**,店铺级价格分区,和折扣都是价格差异的例子。
价格区分与通过数量折扣来提升销售是相关的。
动态定价能用价格差异的原则和模型来增量的调整价格。
尽管我们在问题的定义中暗示了是细粒度的个体定价方式,但是这是非常极端的情况更多常见的方法是对大的客户分群设置不同的价格。
价格区分是最基础的经济和营销问题 [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 的价格,尽管他们产生的销售量**相对较小。在这两种情况下,零售商无法获取位于需求曲线和可变成本线围成的三角区域之中的额外利润。
价格差异是一种自然的方法来克服单一常规价格的限制,通过根据客户的付款意愿将客户分群并向不同的客户群体提供不同的价格。考虑一个这种策略的特殊情况,在前一图表的常规价格外补充了一个较高的溢价(注意与单一价格策略相比利润区域如何增加):
这一考虑带来了零售商如何把相同的产品以不同的价格卖给不同的客户这一挑战性问题。一般而言,这需要在具有不同付费意愿的客户之间设置区隔以使得高付费意愿的客户不能以为低付费意愿客群设定的价格来付费。零售商可以使用如下几种区隔机制:
尽管这些技术已经应用很久了,但是要建立一个完整的折扣优化模型是非常挑战的。
并且,据我们所知,所有现有的模型都有这样或者那样的局限性。在本节剩下的部分我们考虑两个价格差异模型,这两个模型是根据美国**市(特别是 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(如底部的图所示)。固定折扣促销和时间优化的促销之间的这种差异表明在概率密度函数具有某些数量性质时存在利用时间优化来改善毛利率的潜力。
零售商向客户提供一组产品时,针对每个用户都制定不同的价格来最大化整体的收入。另外,该问题可以重新定义为提供定向折扣从而在基线价格上改变价格。
零售商准备一次促销活动,即对某个或者一组特定商品进行有时限的折扣。对促销活动的规划需要估计到下列有关的值:
我们将考虑库存水平是预先确定的,零售商试图计算最优价格这种情况。这是时尚零售商在处理季节性清仓和款式翻新 [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] 中所建议的那样,可以通过使用在此前促销期间没有缺货的产品的数据为不同产品类别构建画像来解决此问题,并使用这些画像来调整相应类别的需求曲线。
零售商根据类目销售产品。一个类目表示一组相对内聚的产品,这些产品有很多共同点(如”甜点”、“女式牛仔”等),所以客户有可能在他们的首选产品因某些原因缺货时愿意用另一产品来替代。
产品缺货的主要原因有永久性的品种减少(如因为有限的货架空间)和暂时的性的售罄。类目管理的目标是利用替代效用用优化方法计算出一个产品子集,这一子集在满足物理约束如可用的货架空间的情况下可以最大化毛利率。
品类管理是一项相对专业化的工作,但是当目标是优化一个产品类目的整体收益而不是一个单一产品的收益时,它也**涉及到在促销优化问题中存在的替代效应问题。零售商一般情况下对类目的整体收益的关心程度远胜于对单个产品的优化,因此在本节中讨论的方法可以被用在很多不同的应用中以实现最优解决方案。
本节研究的模型可以直接应用于以下类目管理方式:
从计量经济学的角度来看,类目管理问题是由收益递减规律引起的。或者更具体地说,收入和成本与类目的规模关系是不同的,总的趋势是消费者购买能力在某个时候达到饱和,同时由于店铺面积和其他运营成本的增加,成本持续增长:
这一趋势引出了类目优化问题。这是一个非常具有挑战性的问题,因为它需要对整个类目中所有产品之间的相互依赖关系建模。然而,尽管面临这些挑战,在 [KOK07] 中已经提出了一种切实可行的类目优化模型,并在荷兰的连锁**市 Albert Heijn 中应用。在研究这一方法之前,我们先引入下列符号:
使用上述符号,品类优化问题可以形式化如下:
其中毛利率 Gj 是给定产品和其对应的观测需求的函数。这一函数很大程度上与零售商的商业模式有关,所以我们下面介绍一些通用的函数模板,基于这些模板可以根据实际的使用情况来定制毛利率函数:
公式(6.2)将观测需求乘以毛利率 m,这是对毛利润最简单的建模方式,该公式隐含假设了补货及时而没有缺货的情况。杂货这样的快消品正是属于这种情况,但是在其他领域如服饰则必须如公式(6.3)那样考虑缺货的情况。销售易腐货物的零售商还要考虑货损,公式(6.4)通过引入单位损失变量 L 来对此进行建模。
为讨论方便,后面我们假设所有产品的补货都是及时的,所以缺货是不可能或者是可忽略的。因此我们可以将 j∈{0,1} 作为二值变量来表示产品是否在类目中,更复杂的处理缺货的模型可以在 [KOK07] 中找到。
要解决(6.1)中的优化问题,我们需要定义观测需求函数。在无缺货假设下,需求函数可按照下面公式来建模:
其中 αk-j 是产品 k 被产品 j 替换的概率。上述公式是比较自明的:第一项是原始需求,而第二项是所有被从类目中移除的产品的累计替代需求。
公式(6.5)需要估计替代概率 αk-j 和原始需求率 dj。为了做这些估计,我们假设下列变量是已知的(我们已经在本文的前面章节讨论过需求预测):
估计替代率 α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,毛利率的最优值是在两种极端情况之间。
如果缺乏上述被讨论的优化方法的财务表现方面的数据,我们对这些方法和对应的数据问题的概述将是不完整的。尽管这些数据是不难获取的,但对此我们仍然需要谨慎对待,因为财务表现与零售商的商业模型机密相关,并且事实上我们无法隔离其他环境因素如市场增长或者竞争对手的行动对优化问题的影响。
除此之外,这些数字可能因很多因素而有很大的差异,所以本文中我们的目标只是提供一些基准,使得读者可以对优化的潜在幅度有所了解。以下列表收集了一些关于这些优化方法对财务影响的实例:
响应模型广泛用于整个营销过程,从零售到推广活动 [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 万美元。我们可以计算销售量、价格、可变成本和固定成本在变化百分之一的情况下是如何影响利润的:
在这个例子中,我们可以看到定价对利润的影响比其他变量大得多。尽管这是一个过于简单和任意的例子,这一模式在众多不同行业的不同企业中存在。这使我们得到如下结论:零售商应特别关注与定价(折扣、个性化价格、动态定价等)有关的优化方法以及支持这些方法的数据挖掘流程。
我们也注意到全渠道零售可以给自动定价优化带来新的机**。既然价格差异是最有力的定价技术之一,则定价优化的理想环境是为每一个客户提供显示或隐式(折扣)的个性化价格,而且所有的价格是可以动态调整的。数字渠道恰好提供了这些条件,其中每个客户都有自己独立和动态的对零售商的视图。
如我们已经提到的,许多零售业中的优化问题与用户的行为模型是内在相关的。在个人客户层面建立这种模型的能力是数据挖掘技术带来的最重要的好处之一,也是一对一营销的关键推动力。
客户建模的最复杂的例子可以在推荐系统中找到,这些系统通常使用隐式维度的概念来捕捉客户和产品的心理特征。这一概念非常的重要,它可能远远**出推荐系统的范围,但据我们所知,它并没有如期望的那样在其他应用中被广泛应用。
这使我们得出这样一个结论,即整体的优化系统可以将推荐领域的最先进的技术应用到那些不常见的应用中而受益。
在零售业中实现完全的自动化决策是极具雄心的,甚至可以说,在实践中想要衡量这些优化方法的表现几乎是不可能的,因为观察到的收益提升可能与市场趋势,竞争对手的行动,顾客品味的变化以及其他因素相关。
这个问题在经济学教科书中被称为内生性问题,这对于数据驱动优化技术的研发者和用户来说都是一个巨大的挑战,而且即使看起来成功的案例也**受到该问题的挑战而显得其结果没那么可靠。
尽管如此,在过去的十年中,主要的零售商一直在寻求将数据挖掘与数值优化技术结合在一起的技术的整体解决方案。这种先进的系统将是企业数据管理演进的下一个阶段,它将遵循对数据仓库的共识并大量采用数据学科学方法。
— 全文终 —
作者:Ilya Katsov
原文链接:https://highlyscalable.wordpress.com/2015/03/10/data-mining-problems-in-retail/
译者:张夏天,公众号:TalkingData(ID:Talkingdata)
TalkingData诚邀优秀人才加入,感兴趣同学请将简历投递至 TalkingData 首席数据科学家张夏天邮箱:xiatian.zhang@tendcloud.com
本文由 @TalkingData 授权发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自 Pexels,基于 CC0 协议