论文部分内容阅读
[摘 要]为实现针对具体规格产品和具体零售户的细粒度的精准投放,提出了一种基于协同过滤推荐系统技术的面向零售户的分规格销量预测模型——SPM-CF模型,创新了将推荐系统技术应用于传统零售领域而非电商领域的方法,研究了销量-评分变换的算法以解决不同规模的零售户之间如何比较分析的问题。使用本地零售户订单数据进行离线测试,验证了该模型的有效性,阐述了该模型适用于已在部分地区充分推广的规格,在新的地区投放的选点策略问题,并分析了下一步的研究方向。
[关键词]精准营销;推荐系统;预测
1 引言
随着互联网的迅速发展,个性化推荐系统被越来越多地运用到各种网站和电子商务系统中,它不需要用户提出明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息[1]。推荐系统主要有推荐和预测两类应用,协同过滤算法是最重要推荐系统技术之一,其原理是根据用户或项目的相似性来推荐或预测当前用户没有过行为的但是很可能会感兴趣的信息[2]。
推荐系统这种针对用户个性来进行推荐营销的模式就是一种非常成功的精准营销,例如亚马逊利用其商品到商品的协同过滤推荐系统[3]获得了20%~30%的销售[2]。但是目前推荐系统的主要应用集中在电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等互联网相关领域[1],对于主要通过实体零售点来与客户打交道的传统渠道销售来说,就目前所知,推荐系统技术还基本没有涉足。
2 问题定义和相关研究
2.1 针对零售点的精准营销预测问题
精准营销是通过定量和定性相结合的方法对目标市场的不同消费者进行细致分析,根据他们不同的消费心理和行为特征,企业采用有针对性的现代技术、方法和指向明确的策略,实现对目标市场不同消费者群体强有效性、高投资回报的营销沟通[3]。即使在互联网极速发展的今天,绝大部分生产企业依然是依靠传统零售渠道作为其主要营销方式。不同的零售点由于地理位置、环境的不同,其面向的消费人群和消费特性也必然不同。若能预测出每个零售点面向的客户群对不同产品系列的喜好和需求程度,企业就可以针对性地开展产品推广或促销等营销活动,以满足不同客户群的特征需要,同时也有助于做出更精准的产品计划。
2.2 协同过滤
推荐系统要解决的问题一般有TopN推荐问题和评分预测问题[1],两者的基本原理和方法是类似的,这里主要讨论评分预测问题,用户对自己接触过的项目按照喜好程度进行了评分,推荐系统需要预测出用户对那些他还未接触过的项目的可能评分,协同过滤技术被用来解决这个问题。
协同过滤已经成为推荐系统研究和应用最广泛的技术,其中最常用的是基于邻域的算法,最早提出的是基于用户的协同过滤,其原理是当两个用户在共同评价的项目上具有相同或相近的评分时,就认为两者具有相似的兴趣,把与某用户具有相似兴趣的用户群称为该用户的领域,在预测该用户对某未评分项目的评分时,使用其领域用户对该项目的评分来进行推荐[4]。但是由于在实际中,项目数往往远低于用户数,且比较稳定,故提出了基于项目的协同过滤(记为Item-CF)并得到了更多应用[3][5-6]。基于项目的算法通过找出与某项目最相似的K个项目(称为kNN邻域)来估计没有对该项目做过评分的用户的可能评分。
3 基于协同过滤的精准营销预测模型SPM-CF
3.1 SPM-CF模型概述
SPM-CF模型将零售点的产品销量对应于推荐问题的评分。由于零售点是根据产品的销售效果采购货物的,所以从企业易于获取数据的角度考虑,也可以使用零售点采购产品的订单数量看作产品的销量。由于不同零售点的销售规模有很大差别,其原始销量数据没有一个统一的基准,而推荐评分是需要一个一致的评分标准,即不同用户的评分区间是相同的(例如MovieLens数据集的评分区间为1~5分的整数),因此SPM-CF模型需要处理的最重要的一个问题就是定义一个变换(称为销量-评分变换),将销量映射至统一的评分区间。使用协同过滤算法计算出评分估计后,再通过评分-销量逆变换得到销售问题所需的销量预测。SPM-CF模型如图1所示。
由于开展营销活动需要大量成本,选择最合适的零售点-产品来针对性进行产品推广部署,就可以在节约成本的同时取得更好的营销效果。于是,使用SPM-CF模型解决销售预测问题的意义在于,通过训练成熟零售点得到协同过滤推荐模型,来计算不成熟零售点对产品的销售预测,从而选择销售成绩可能更好的零售点来开展营销活动,实现精准营销。
3.2 销量-评分变换与评分-销量逆变换
销量-评分变换的目的是将不同零售点数额大小不等的产品销量映射至一个相同的评分区间,或者拥有相同的评分分布,以使其相互之间具有可度量的性质。设计相对总销量百分比的变换、相对最大销量百分比的变换和标准正态变换三类变换,每类变换又可分为基于产品的变换和基于零售点的变换两种。
设零售点u对已销售产品i的销量为sui,零售点v对未销售产品j的销量预测为s^vj,则几种变换和逆变换的详细说明如下。
3.2.1 相对总销量百分比的变换
零售点u对已销售产品i的基于產品的评分变换(记为ITotal)取值为该零售点对该产品的销量在该产品总销量中的百分比,即
3.2.2 相对最大销量百分比的变换
零售点u对已销售产品i的基于产品的评分变换(记为IMax)取值为该零售点对该产品的销量在该产品最大单点销量中的百分比,变换和销量预测的逆变换如下所示:
rui=suimaxv∈U{svi}×100%,s^vj=(r^vjmaxu∈U{suj})/100%(4)
同理,基于零售点的最大销量百分比变换(记为UMax)和逆变换如下: rui=suimaxj∈I{suj}×100%,s^vj=(r^vjmaxi∈I{svi})/100%(5)
3.3 销量预测算法流程和评价标准
计算零售点v对产品j的销量预测的算法流程描述如下:
(1)选择一种销量-评分变换,对所有已知销量的零售点-产品对计算其相应的评分;
(2)选择一种协同过滤算法,根据内容(1)计算出来的已知评分,计算v对j的评分估计;
(3)对内容(2)所计算出来的评分估计,使用内容(1)选择的销量-评分变换的逆变换,得到v对j的销量预测。
SPM-CF模型定义一个销量绝对平均误差SMAE作为销量预测问题的评价标准,SMAE的定义如下:
SMAE的值越小,预测模型的效果越好。
4 实验结果及分析
对不同的模型和数据集,不同协同过滤算法的效果也有所不同。在MovieLens数据集[7]上获得的效果,在其他类型数据集上可能不一样,甚至完全相反[8]。因此,对于本文定义的销售预测模型,需要使用一组真实的营销数据来进行离线实验,以测试采用不同的变换和协同过滤算法的实际效果。
4.1 实验数据集
本文使用某年南宁市(地区)某产品零售户的订单数据作为实验数据集。订单数量可以直接反映出产品销量,故订单数据可以作为精准营销预测问题的典型实验数据。
为使实验数据体现成熟零售点的预测效果,对原始数据集进行一定处理筛选,筛选后的数据集每零售户至少销售20种牌号,每牌号至少有100个零售户销售,则数据集中还有23522个零售户,166个牌号,共1087215条销售记录,平均每户每牌号销量54.6,最大单户单牌号销量44816,数据稀疏度为72.2%。
通过随机选择将数据集划分为相互正交的训练集和测试集,训练集包含80%的数据,测试集包含20%的數据,为防止过拟合,划分了5组训练集和测试集来进行实验,实验结果是5组分别实验的平均值。
4.2 实验结果
为与SPM-CF模型的预测结果作比较,首先考虑另外两个常用的简单模型,即基于产品的平均值预测(记为IAvg)和基于零售点的平均值预测(记为UAvg),预测值分别取为某产品在所有对其销售的零售点的销量平均值和某零售点销售的所有产品的销量平均值。
首先使用基于产品的算法进行模型训练,并计算其在测试集上的SMAE值,结果如图2所示。
从图中可以看出,对基于产品的算法而言,平均值预测模型IAvg的销量平均误差SMAE为41.6,这说明常用的简单模型也具有不错的效果。最大销量百分比变换效果很不好,初始值较高,在K=5时,使用皮尔逊相似度的预测IMax-Pearson误差达到34.5,而使用余弦相似度的预测IMax-Cos误差达到54.2,且随着邻域K的增加而迅速发散。总销量百分比变换的效果很好,在K=25时,ITotal-Pearson方法获得最小误差27.5;ITotal-Cos方法更是在K=5时就取得最好成绩24.8。标准正态变换方法则在K=10时取得最小值25.7。
使用基于零售点算法的测试结果见图3,可以看到,在使用Item-CF协同过滤时,基于零售点的算法效果不如基于产品的算法。平均值模型的计算有56.6的误差。使用余弦相似度的协同过滤误差比使用皮尔逊系数的大,其中标准正态变换模型的误差最大,K=5时达到124.5,随着K增大逐渐减小,K=30时减小到71.4,总销量百分比模型和最大销量百分比模型的误差则均与平均值模型相近。使用皮尔逊系数的计算误差较小,其中最大销量百分比模型的误差最小,在K=10时得最小值为30.5;标准正态变换模型和总销量百分比模型均在K=30时误差为33.5。
4.3 结果分析
从实验结果可以看出,SPM-CF模型可以有效的实现零售户对产品的销售预测,但是必须选择合适的销量-评分变换以及协同过滤所使用的相似度。
使用Item-CF协同过滤时,基于产品的总销量百分比变换和标准正态变换都有很好的结果,其原因是这两种变换能够比较好的反映出对产品销量的一致性度量。类似的,基于产品的标准正态变换模型,由于产品在每个零售点的销量近似于正态分布,所以这种变换很好的反映了产品的特性,故而也有较好的预测结果。
与基于产品的算法相对,基于零售点的算法效果较差,这是因为每个零售点对不同产品的销量不太具有可度量的规律性(例如零售点对不同产品的销量不近似于正态分布),所以把产品映射成其在零售点内的销售特性来使用Item-CF协同过滤不能取得更有意义的结果。
总体来说,对于本实验数据集而言,最优选择是基于产品总销量百分比模型,使用余弦相似度的Item-CF协同过滤来实现销售预测,此算法在K=5时即可取得最小误差,既有最好的预测精度,又有最小的计算量。
5 结论
把零售户当作代表某客户群体的用户,通过对零售户的销量或订单量进行标准正态变换来计算评分数据,利用推荐系统技术预测零售户对某未销售或未推广过规格的销量,预测准确率相比传统的平均值预测、分布预测等方式均有提升。
但是协同过滤的方法不支持全新的零售户和全新的规格,因此SPM-CF模型主要适用于某规格已在一个地区进行了充分的推广和销售,并准备投放新的地区时,如何在新地区的选点投放的问题。
参考文献:
[1]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.
[2]吴湖,王永吉,王哲,等.两阶段联合聚类协同过滤算法[J].软件学报,2010, 21(5):1042-1054.
[3]LINDEN G,SMITH B,YORK J. Amazon. com recommendations: Item-to-item collaborative filtering[J].Internet Computing, IEEE, 2003, 7(1): 76-80.
[4]ASANOV D.Algorithms and methods in recommender systems[D].Berlin:Berlin Institute of Technology,2011.
[5] 罗辛, 欧阳元新, 熊璋, 等. 通过相似度支持度优化基于 K 近邻的协同过滤算法 [J].计算机学报, 2010, 33(8): 1437-1445.
[6] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web. ACM, 2001: 285-295.
[7] J RIEDL,J KONSTAN. Movielens dataset[EB].http://www.cs.umn.edu/Research/Group Lens.
[8]伍青生,余颖,郑兴山.精准营销的思想和方法[J].市场营销导刊,2006(5): 14
[基金项目]广西高校中青年教师基础能力提升项目“基于时移和标签的电子商务用户刻画研究” (项目编号:KY2016YB403)资助。
[作者简介]高荣,男,讲师,研究方向:云计算、数据挖掘;通讯作者:孙忱,女,广西中烟工业有限责任公司信息中心,博士,研究方向:人工智能与大数据。
[关键词]精准营销;推荐系统;预测
1 引言
随着互联网的迅速发展,个性化推荐系统被越来越多地运用到各种网站和电子商务系统中,它不需要用户提出明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息[1]。推荐系统主要有推荐和预测两类应用,协同过滤算法是最重要推荐系统技术之一,其原理是根据用户或项目的相似性来推荐或预测当前用户没有过行为的但是很可能会感兴趣的信息[2]。
推荐系统这种针对用户个性来进行推荐营销的模式就是一种非常成功的精准营销,例如亚马逊利用其商品到商品的协同过滤推荐系统[3]获得了20%~30%的销售[2]。但是目前推荐系统的主要应用集中在电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等互联网相关领域[1],对于主要通过实体零售点来与客户打交道的传统渠道销售来说,就目前所知,推荐系统技术还基本没有涉足。
2 问题定义和相关研究
2.1 针对零售点的精准营销预测问题
精准营销是通过定量和定性相结合的方法对目标市场的不同消费者进行细致分析,根据他们不同的消费心理和行为特征,企业采用有针对性的现代技术、方法和指向明确的策略,实现对目标市场不同消费者群体强有效性、高投资回报的营销沟通[3]。即使在互联网极速发展的今天,绝大部分生产企业依然是依靠传统零售渠道作为其主要营销方式。不同的零售点由于地理位置、环境的不同,其面向的消费人群和消费特性也必然不同。若能预测出每个零售点面向的客户群对不同产品系列的喜好和需求程度,企业就可以针对性地开展产品推广或促销等营销活动,以满足不同客户群的特征需要,同时也有助于做出更精准的产品计划。
2.2 协同过滤
推荐系统要解决的问题一般有TopN推荐问题和评分预测问题[1],两者的基本原理和方法是类似的,这里主要讨论评分预测问题,用户对自己接触过的项目按照喜好程度进行了评分,推荐系统需要预测出用户对那些他还未接触过的项目的可能评分,协同过滤技术被用来解决这个问题。
协同过滤已经成为推荐系统研究和应用最广泛的技术,其中最常用的是基于邻域的算法,最早提出的是基于用户的协同过滤,其原理是当两个用户在共同评价的项目上具有相同或相近的评分时,就认为两者具有相似的兴趣,把与某用户具有相似兴趣的用户群称为该用户的领域,在预测该用户对某未评分项目的评分时,使用其领域用户对该项目的评分来进行推荐[4]。但是由于在实际中,项目数往往远低于用户数,且比较稳定,故提出了基于项目的协同过滤(记为Item-CF)并得到了更多应用[3][5-6]。基于项目的算法通过找出与某项目最相似的K个项目(称为kNN邻域)来估计没有对该项目做过评分的用户的可能评分。
3 基于协同过滤的精准营销预测模型SPM-CF
3.1 SPM-CF模型概述
SPM-CF模型将零售点的产品销量对应于推荐问题的评分。由于零售点是根据产品的销售效果采购货物的,所以从企业易于获取数据的角度考虑,也可以使用零售点采购产品的订单数量看作产品的销量。由于不同零售点的销售规模有很大差别,其原始销量数据没有一个统一的基准,而推荐评分是需要一个一致的评分标准,即不同用户的评分区间是相同的(例如MovieLens数据集的评分区间为1~5分的整数),因此SPM-CF模型需要处理的最重要的一个问题就是定义一个变换(称为销量-评分变换),将销量映射至统一的评分区间。使用协同过滤算法计算出评分估计后,再通过评分-销量逆变换得到销售问题所需的销量预测。SPM-CF模型如图1所示。
由于开展营销活动需要大量成本,选择最合适的零售点-产品来针对性进行产品推广部署,就可以在节约成本的同时取得更好的营销效果。于是,使用SPM-CF模型解决销售预测问题的意义在于,通过训练成熟零售点得到协同过滤推荐模型,来计算不成熟零售点对产品的销售预测,从而选择销售成绩可能更好的零售点来开展营销活动,实现精准营销。
3.2 销量-评分变换与评分-销量逆变换
销量-评分变换的目的是将不同零售点数额大小不等的产品销量映射至一个相同的评分区间,或者拥有相同的评分分布,以使其相互之间具有可度量的性质。设计相对总销量百分比的变换、相对最大销量百分比的变换和标准正态变换三类变换,每类变换又可分为基于产品的变换和基于零售点的变换两种。
设零售点u对已销售产品i的销量为sui,零售点v对未销售产品j的销量预测为s^vj,则几种变换和逆变换的详细说明如下。
3.2.1 相对总销量百分比的变换
零售点u对已销售产品i的基于產品的评分变换(记为ITotal)取值为该零售点对该产品的销量在该产品总销量中的百分比,即
3.2.2 相对最大销量百分比的变换
零售点u对已销售产品i的基于产品的评分变换(记为IMax)取值为该零售点对该产品的销量在该产品最大单点销量中的百分比,变换和销量预测的逆变换如下所示:
rui=suimaxv∈U{svi}×100%,s^vj=(r^vjmaxu∈U{suj})/100%(4)
同理,基于零售点的最大销量百分比变换(记为UMax)和逆变换如下: rui=suimaxj∈I{suj}×100%,s^vj=(r^vjmaxi∈I{svi})/100%(5)
3.3 销量预测算法流程和评价标准
计算零售点v对产品j的销量预测的算法流程描述如下:
(1)选择一种销量-评分变换,对所有已知销量的零售点-产品对计算其相应的评分;
(2)选择一种协同过滤算法,根据内容(1)计算出来的已知评分,计算v对j的评分估计;
(3)对内容(2)所计算出来的评分估计,使用内容(1)选择的销量-评分变换的逆变换,得到v对j的销量预测。
SPM-CF模型定义一个销量绝对平均误差SMAE作为销量预测问题的评价标准,SMAE的定义如下:
SMAE的值越小,预测模型的效果越好。
4 实验结果及分析
对不同的模型和数据集,不同协同过滤算法的效果也有所不同。在MovieLens数据集[7]上获得的效果,在其他类型数据集上可能不一样,甚至完全相反[8]。因此,对于本文定义的销售预测模型,需要使用一组真实的营销数据来进行离线实验,以测试采用不同的变换和协同过滤算法的实际效果。
4.1 实验数据集
本文使用某年南宁市(地区)某产品零售户的订单数据作为实验数据集。订单数量可以直接反映出产品销量,故订单数据可以作为精准营销预测问题的典型实验数据。
为使实验数据体现成熟零售点的预测效果,对原始数据集进行一定处理筛选,筛选后的数据集每零售户至少销售20种牌号,每牌号至少有100个零售户销售,则数据集中还有23522个零售户,166个牌号,共1087215条销售记录,平均每户每牌号销量54.6,最大单户单牌号销量44816,数据稀疏度为72.2%。
通过随机选择将数据集划分为相互正交的训练集和测试集,训练集包含80%的数据,测试集包含20%的數据,为防止过拟合,划分了5组训练集和测试集来进行实验,实验结果是5组分别实验的平均值。
4.2 实验结果
为与SPM-CF模型的预测结果作比较,首先考虑另外两个常用的简单模型,即基于产品的平均值预测(记为IAvg)和基于零售点的平均值预测(记为UAvg),预测值分别取为某产品在所有对其销售的零售点的销量平均值和某零售点销售的所有产品的销量平均值。
首先使用基于产品的算法进行模型训练,并计算其在测试集上的SMAE值,结果如图2所示。
从图中可以看出,对基于产品的算法而言,平均值预测模型IAvg的销量平均误差SMAE为41.6,这说明常用的简单模型也具有不错的效果。最大销量百分比变换效果很不好,初始值较高,在K=5时,使用皮尔逊相似度的预测IMax-Pearson误差达到34.5,而使用余弦相似度的预测IMax-Cos误差达到54.2,且随着邻域K的增加而迅速发散。总销量百分比变换的效果很好,在K=25时,ITotal-Pearson方法获得最小误差27.5;ITotal-Cos方法更是在K=5时就取得最好成绩24.8。标准正态变换方法则在K=10时取得最小值25.7。
使用基于零售点算法的测试结果见图3,可以看到,在使用Item-CF协同过滤时,基于零售点的算法效果不如基于产品的算法。平均值模型的计算有56.6的误差。使用余弦相似度的协同过滤误差比使用皮尔逊系数的大,其中标准正态变换模型的误差最大,K=5时达到124.5,随着K增大逐渐减小,K=30时减小到71.4,总销量百分比模型和最大销量百分比模型的误差则均与平均值模型相近。使用皮尔逊系数的计算误差较小,其中最大销量百分比模型的误差最小,在K=10时得最小值为30.5;标准正态变换模型和总销量百分比模型均在K=30时误差为33.5。
4.3 结果分析
从实验结果可以看出,SPM-CF模型可以有效的实现零售户对产品的销售预测,但是必须选择合适的销量-评分变换以及协同过滤所使用的相似度。
使用Item-CF协同过滤时,基于产品的总销量百分比变换和标准正态变换都有很好的结果,其原因是这两种变换能够比较好的反映出对产品销量的一致性度量。类似的,基于产品的标准正态变换模型,由于产品在每个零售点的销量近似于正态分布,所以这种变换很好的反映了产品的特性,故而也有较好的预测结果。
与基于产品的算法相对,基于零售点的算法效果较差,这是因为每个零售点对不同产品的销量不太具有可度量的规律性(例如零售点对不同产品的销量不近似于正态分布),所以把产品映射成其在零售点内的销售特性来使用Item-CF协同过滤不能取得更有意义的结果。
总体来说,对于本实验数据集而言,最优选择是基于产品总销量百分比模型,使用余弦相似度的Item-CF协同过滤来实现销售预测,此算法在K=5时即可取得最小误差,既有最好的预测精度,又有最小的计算量。
5 结论
把零售户当作代表某客户群体的用户,通过对零售户的销量或订单量进行标准正态变换来计算评分数据,利用推荐系统技术预测零售户对某未销售或未推广过规格的销量,预测准确率相比传统的平均值预测、分布预测等方式均有提升。
但是协同过滤的方法不支持全新的零售户和全新的规格,因此SPM-CF模型主要适用于某规格已在一个地区进行了充分的推广和销售,并准备投放新的地区时,如何在新地区的选点投放的问题。
参考文献:
[1]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.
[2]吴湖,王永吉,王哲,等.两阶段联合聚类协同过滤算法[J].软件学报,2010, 21(5):1042-1054.
[3]LINDEN G,SMITH B,YORK J. Amazon. com recommendations: Item-to-item collaborative filtering[J].Internet Computing, IEEE, 2003, 7(1): 76-80.
[4]ASANOV D.Algorithms and methods in recommender systems[D].Berlin:Berlin Institute of Technology,2011.
[5] 罗辛, 欧阳元新, 熊璋, 等. 通过相似度支持度优化基于 K 近邻的协同过滤算法 [J].计算机学报, 2010, 33(8): 1437-1445.
[6] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web. ACM, 2001: 285-295.
[7] J RIEDL,J KONSTAN. Movielens dataset[EB].http://www.cs.umn.edu/Research/Group Lens.
[8]伍青生,余颖,郑兴山.精准营销的思想和方法[J].市场营销导刊,2006(5): 14
[基金项目]广西高校中青年教师基础能力提升项目“基于时移和标签的电子商务用户刻画研究” (项目编号:KY2016YB403)资助。
[作者简介]高荣,男,讲师,研究方向:云计算、数据挖掘;通讯作者:孙忱,女,广西中烟工业有限责任公司信息中心,博士,研究方向:人工智能与大数据。