考虑产品特征属性的替代性需求预测方法
2021-03-01高峻峻倪子玥
高峻峻,倪子玥
(上海大学悉尼工商学院,上海 201800)
近年来,随着电子商务的高速发展,越来越多的企业在互联网平台上开辟销售渠道.然而,由于网络零售与线下实体零售存在差异,从而产生了很多管理问题,例如高库存、高缺货、物流成本高等.因此,对用户需求进行准确预测成为重要研究课题,对于企业本身的供应链控制具有积极的影响.
线上产品类别丰富,同一品类内部产品具备很高的相似性,它们之间会存在很强的替代作用,即对于一个给定的品类,消费者事先确定一个最喜欢的产品,但当该产品不再被售卖或缺货时,消费者有一定的概率选择其他产品作为替代[1].因此,在进行产品需求预测时,有必要考虑相似产品替代带来的需求影响.
在产品替代研究方面,邻近替代的方式被认为最接近真实情况[2].目前关于邻近替代率估计方法的研究相对较少,已有主要研究成果如下:一是认为邻近替代率可以被描述为消费者的初始偏好概率和消费者忠诚度的函数[3];二是以产品的相似度作为替代率的估计值,产品越相似,替代可能性就越高,文献[4]提出一种产品加权属性估计法.基于第二点,文献[5]又提出采用加权欧式距离对替代率估计进行优化,以解决属性权重受到人为因素干扰的问题.
在需求预测研究方面,较为常见的是传统的时间序列统计模型,例如平均移动、指数平滑、Holt-Winter[6]、自回归移动平均(autoregressive integrated moving average,ARIMA)模型[7]等.这些方法的特点在于需求数据符合线性特点或者具有很明显的趋势性、季节性特征.针对非线性的需求数据,一些学者也提出了基于机器学习的方法,例如支持向量机[8]、随机森林[9]、神经网络[10]等,实验结果表明,机器学习的方法具有更强的适应性,预测精度也更为精准.
在对替代性需求的研究方面,文献[4]构建了一种需求模型:产品i 的有效需求=初始需求+基于品类的替代需求+基于缺货的替代需求.“基于品类的替代需求”是指当消费者的第一选择是产品j,但因产品j 未被包含在该类产品中从而转向选择产品i 的需求量.“基于缺货的替代需求”是指消费者因产品j 缺货而转向选择产品i 的需求量.
本工作采用文献[4]的替代性需求模型,引入自适应提升(adaptive boosting,Adaboost)的需求预测方法,进行初始需求的刻画.然后,基于文献[4]中的替代性需求公式,对其中产品属性值的刻画及邻近产品的选择进行优化,即通过逻辑回归(logistic regression,LR)算法预测畅销概率,依据自动赋权的产品属性值进行排序,从而选取属性值相近的产品作为邻近产品.最后,基于文献[4]所提供的替代率估计公式及替代性需求刻画公式,构建出一种更优的考虑产品特征属性的替代性需求预测模型.
1 邻近替代品选择
1.1 问题描述
随着市场竞争的日益加剧,产品品类越来越丰富,同一品牌下多个产品的产品属性(如颜色、尺寸、规格)具备一定的相似性.当产品不再被售卖或是该产品缺货时,消费者会有一定的概率选择其他属性相似的产品作为替代,即当某个产品因故无法被售卖时,其需求会转移到其他产品[11].
定义1 (邻近替代) 当产品可以按照一些属性值进行排序时,消费者一般会选择那些和首选商品差别不大的商品作为替代,此类替代被称作邻近替代.
在实际应用中,会根据消费者替代意愿与产品属性相似度相结合的方式来估计产品的品类及缺货替代率[4].具体实现方法如下:首先,对产品集合中的每个产品提取相关的属性(如颜色、规格、价格);其次,对每个属性给予权重,从而给出一个加权后的属性值,将产品按照加权后属性值由大到小排列,可以确定每个产品的邻近替代品.这里属性值的权重通常由销售人员经验获得,受到人为因素干扰较大.因此,本工作采取数据驱动的方式自动确定属性权重,提出一种基于畅销预测的产品属性值排序方法.
通常而言,对于属性的权重赋值需要基于各属性对消费者决策的正向影响程度,即能够刺激消费者进行消费的力度.销售人员可以结合需求、售价、市场环境等因素,根据经验判断同一品类下的产品哪些为畅销品,哪些为非畅销品,从而可以将产品属性值作为特征,建立畅销预测模型.而通过机器学习的方式可以确定产品各个属性的权重和最终的产品属性值.
1.2 畅销概率预测模型
本工作采用逻辑回归模型作为分类预测模型,通过将畅销预测转换为二值分类问题,对输入的变量进行线性加权分类,输出二分类的概率值[12].
逻辑回归算法的描述如下:假设有数据集D={Xi,Yi},i=1,2,···,N,其中Xi为一个样本点,包含{x1,x2,···,xn}多个变量属性,Yi∈{0,1}表示预测类别.逻辑回归可以表达为如下概率公式:
式中:θTx为属性变量的线性组合;θ为变量的权重集合,线性加权组合公式为
接下来,基于极大似然估计推导得到损失函数:
通常采取梯度下降的方式求解最小损失函数值下的最佳属性权重,
式中:α为学习步长.以求偏导的方式经过迭代获取最优的θ 权重集合.
本工作将产品的属性作为特征,畅销与否作为预测类别.经过数据训练学习后得到各属性的权重集合,以及各个产品的畅销概率值.根据概率值对产品进行排序,可获得每个产品的邻近替代产品.
2 邻近替代率估计
得到产品排序以及邻近替代关系后,可以对替代率进行估计.替代率主要包括两种:一是基于品类的替代(assortment based,AB);二是基于缺货的替代(stock-out based,SB).K¨ok[1]对这两种替代机制进行了清晰地描述:基于品类的替代是指商店不再售卖某一类产品时,消费者的需求转移到了其他在售品上;基于缺货的替代是指消费者看中了某一个产品,有最喜欢产品的概念,但是商店此时该产品缺货,消费者购买了另一个类似的产品.
2.1 基于品类的替代率估计
2.2 基于缺货的替代率估计
当产品j 缺货时,定义产品i 对于产品j 的替代概率为αij,参考文献[4]的做法,本工作定义该阶段替代率的计算公式为
式中:αi可以被描述为产品i 的加权属性值.
3 需求预测模型
3.1 Adaboost 回归
Adaboost 回归(Adaboost.R2)是一种Boosting 思想的集成学习方法[14].该方法首先从原始数据中训练出一个基分类器,根据其在样本预测上的误差来增加权重,并使用改变权重后的样本重新训练基分类器.如此重复,直到基学习器达到了预先设置的数目,最终将这些基学习器进行加权集成,得到最终的输出结果.本工作使用回归决策树作为基分类器.算法具体描述如下.
(1) 建立训练集T={Xi,Yi},i=1,2,···,N,这里Yi∈R;确定最大迭代次数N;初始化样本权重wi=1,i=1,2,···,m.
建立回归决策树模型H(Xi)→Yi;
计算每个训练样本的线性损失:
更新权重:wi→wiβ(1−Li).
(3) 针对输入样本Xi,每一棵决策树都会有一个预测结果Ht,t=1,2,···,T,得到最终输出
3.2 初始需求与有效需求
假设每个产品每周的初始需求Di服从正态分布,则其方差和均值可以估计,记为δi和µi.沿用文献[4]的公式,
式中:Di为基于Adaboost 模型所得的初始需求;为考虑了两种替代性需求后的有效需求;EIi和ESi分别表示核心需求下产品i 的预期库存水平和预期缺货量[4];pj为产品j 是否被选择的布尔决策参数;αij和βij为第2 节已提及的基于缺货的替代率和基于品类的替代率.
综上所述,本工作所构建的产品需求预测方法,可以看作是在基于Adaboost.R2 进行需求预测后,依据邻近产品间的替代效果对预测结果进行有效调节,从而得到最终的需求预测结果.流程如图1 所示,其中产品均依据畅销属性值进行排序,属性值最接近的2 个产品即为相互的邻近产品.
图1 需求预测框架Fig.1 Framework of demand forecasting
步骤1 提取所预测产品的每周需求相关特征,包括前四周平均销量、上周销量、促销影响因子、季节性因子等,预测目标为本周需求,拆分训练集和测试集.
步骤2 通过Adaboost.R2 对预处理后的数据进行训练预测,得到预测数据.
步骤3 根据经LR 畅销预测建模后的产品排序结果确定该产品的邻近替代产品,并估计出品类替代和缺货替代的替代率.
步骤4 基于替代率对步骤2 的预测结果进行调节,得到最终的需求预测结果.调节方法参见式(8).
4 实验结果分析
4.1 数据及参数描述
以下实验基于某手表厂商从2015 年下半年到2017 年底共18 万在线销售数据,共涉及536款产品.
在基于产品属性的邻近替代率估计任务中,本工作提取了价格带、壳圈尺寸、时尚度、机芯、材料卖点、表盘厚度、表壳形状、表带、表盘颜色、上市天数这10 个产品属性特征,用于LR 畅销预测排序建模.邀请销售人员人工判断哪些产品属于畅销产品,畅销产品占比20%左右.LR 模型的评价指标采用受试者工作特征(receiver operating characteristic,ROC)曲线下面积(area under curve,AUC)值[15],该值越接近1,说明选择的预测模型效果越佳.
在需求预测阶段,本工作借鉴传统需求预测方法,将该手表的销售计划转化为按自然周的需求预测问题.提取的预测特征包括本周需求、前四周平均需求、前四周实际需求、促销影响因子、淡季影响因子等,以预测下周需求情况.预测模型采用10 棵回归决策树模型进行Adaboost 学习预测;用于效果对比的支持向量机回归(support vector regression,SVR)模型,采用默认的径向基函数(radial basis function,RBF).模型的评价指标采用平均绝对百分比误差(mean absolute percentage error,MAPE)和拟合优度R2[16].
式中:At是真实值;Ft是预测值.MAPE 表征了真实值和预测值的误差,并且考虑了误差和真实值之间的比例,是常见的用于评价回归模型的指标,其值越小,说明模型预测准确率越高;而拟合优度R2表达的是回归模型能解释的因变量变异性的百分比,其值越接近1,说明模型拟合得越好.
4.2 结果分析
4.2.1 替代率估计结果
针对536 款产品进行基于LR 的畅销预测,预测评估结果如图2 所示.模型在测试集上的AUC 值可以达到0.87,说明模型可以较好地对产品的畅销概率进行预测.
图2 畅销预测ROC 评价曲线Fig.2 ROC curve of good-selling prediction
通过LR 模型拟合后可以得到产品属性的权重,表1 列出了属性中排名前五的属性及其权重大小.
表1 产品属性权重Top5Table 1 Weight of Top5 product attributes
本工作从536 款产品中选取5 款畅销产品用于进一步分析,经过畅销预测后,5 款畅销产品的排序如表2 所示.通过畅销概率的方式进行产品排序后,根据1.1 节的定义,将排序在每个产品前面和后面的产品,定义为其邻近产品.
表2 产品畅销概率排序Table 2 Ranking based on probability of good-selling
进一步可以估计出产品间的替代率.基于品类的替代率为
基于缺货的替代率为
4.2.2 销售量预测结果
上述实验采用前100 周的数据用于训练模型,后21 周数据用于测试,并且对比了传统SVR,Adaboost.R2 和本工作提出的通过替代率调节后的Ada.Sub 3 个算法.MAPE 与R2均为后21 周的预测效果指标,对比结果如表3 所示.可以明显看到,Adaboost.R2 在MAPE 上比SVR 平均减少了9.248%,拟合优度R2平均提升了0.364,效果显著;而经过替代率调节后,Ada.Sub 的预测值又比Adaboost.R2 在MAPE 上降低了1.392%,R2则进一步提升至平均0.742 的解释性水平.图3 给出了MAPE 和R2两个指标效果的对比分析,可以很明显看出Ada.Sub 在预测精度上的优势.
图3 预测指标对比分析Fig.3 Comparison and analysis of prediction index
以产品C 为例,图4 展示了预测的趋势结果.从图中可以看到,预测结果能够基本判断出产品需求的变化趋势,对厂商供应链提前备货具有一定的指导意义.
图4 产品C 预测趋势Fig.4 Forecast trend of product C
5 结束语
本工作针对考虑产品替代率的需求预测问题进行了研究,提出了一种基于逻辑回归的方法对产品畅销预测的属性值进行排序,并对相邻产品间的替代率进行估计.本方法得到的属性值权重为模型训练所得,解决了传统属性权重受人为因素干扰的问题.同时,还建立了基于Adaboost 的需求预测模型,就替代率估计对预测结果进行了进一步精准调节.实验结果表明,融合了产品替代率的Ada.Sub 模型具有较高的需求预测精度,优于传统的基于支持向量机的预测模型.此外,本方法也为企业需求预测提供了一种有效的新思路、新方法.下一步将结合产品销售大数据,进一步研究和拓展需求预测的精度和广度.