CN111160968A - Sku级别商品销量预测方法及装置 - Google Patents
Sku级别商品销量预测方法及装置 Download PDFInfo
- Publication number
- CN111160968A CN111160968A CN201911381310.1A CN201911381310A CN111160968A CN 111160968 A CN111160968 A CN 111160968A CN 201911381310 A CN201911381310 A CN 201911381310A CN 111160968 A CN111160968 A CN 111160968A
- Authority
- CN
- China
- Prior art keywords
- sales
- promotion
- commodity
- window
- sku
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种SKU级别商品销量预测方法及装置,该方法包括:获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;将所述多个特征向量输入预设的人工神经网络模型,根据所述人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,所述特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;所述预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。预测过程充分提取了商品自身的属性特征,利用到商品之间的相似性和不同性;而商品在预测窗口的动态特征,充分反映了消费者购买选择情况对销量造成的影响,从而该方法能够实现准确的销量预测。
Description
技术领域
本发明涉及商品销量预测领域,尤其涉及一种SKU级别商品销量预测方法及装置。
背景技术
销量预测(Sales volume Predicting)是指对商品在未来一段时间内(通常以天为单位)的累积销售数量进行估计,典型的应用场景是在电商平台中,商家基于对每个所售商品的销量预测结果,设置合理的配货安排,避免因货品积压或数量不足给商家带来损失。而在现有的实际生产应用中,预测结果只能基于每个商品历史的销售额进行初步预估,再结合人工经验进行调整,面对庞大的商品数量,需要耗费大量人力的同时预测准确度无法得到保证,从而带来高昂的成本。
目前使用机器学习算法来完成销量预测任务时主要将其作为时间序列预测问题进行分析,利用商品历史的销售额序列预测未来一段时间内的销量。常用的传统方法有自回归滑动平均模型(Autoregressive moving average model,简称ARMA模型)、差分整合移动平均自回归模型(Autoregressive Integrated Moving Average model,简称ARIMA模型)等,这些方法将非平稳的时间序列数据进行平稳化后,计算序列的相关参数用于后续的回归分析,但是该类方法仅基于过去的时间序列预测接下来的序列,没有考虑到商品的属性特征对消费者购买选择的影响,因此预测的准确度较差,同时也没有利用到商品之间的相似性,导致训练出的预测模型仅针对一个序列,无法泛化。
发明内容
为了解决上述问题,本发明实施例提供一种SKU级别商品销量预测方法及装置。
第一方面,本发明实施例提供一种SKU级别商品销量预测方法,包括:获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;将所述多个特征向量输入预设的人工神经网络模型,根据所述人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,所述特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;所述预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
进一步地,所述历史窗口销量数据包括SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,相应地,进行特征提取,得到多个特征向量,包括:对SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,分别采用一维因果卷积进行特征提取;将卷积后的SKU商品历史窗口销量特征、同产品ID商品历史窗口销量特征,以及SKU商品历史窗口销量原始数据进行序列拼接,得到历史窗口销量数据的特征向量。
进一步地,所述商品静态属性特征,包括商品SKU编号、产品ID、品牌编号、品牌类别编号、商品所属各级类目编号中至少一种,相应地,进行特征提取,得到多个特征向量,包括:将每一商品静态属性特征,转换为独热码后,映射到低维的向量空间,得到所述商品静态属性特征的特征向量。
进一步地,所述预测窗口动态特征,包括预测窗口的促销特征,相应地,进行特征提取,得到多个特征向量,包括:将平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;根据预测窗口的拼接后的向量,分别从预设的记忆网络中,获取对应的促销活动的嵌入表达向量;根据所述促销活动的嵌入表达向量,从预设的记忆网络中,获取相似度最高的K个嵌入表达向量,和K个嵌入表达向量对应的K个归一化销量序列;对于K个嵌入表达向量和所述促销活动的嵌入表达向量,根据相似度,计算注意力权重;利用得到的注意力权重,对K个归一化销量序列进行加权池化,得到加权归一化销量序列,作为预测窗口动态特征对应的特征向量;其中,K为大于或等于1的正整数。
进一步地,所述将所述多个特征向量输入预设的人工神经网络模型之前,还包括:获取多个历史窗口的销量数据,和对应的促销特征;根据历史窗口促销特征中,平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;将每个历史窗口促销特征的拼接后向量,输入多个GRU单元级联的GRU网络,得到每个历史窗口促销特征的向量表达;根据历史窗口的销量数据建立归一化销量序列,将所述历史窗口促销特征的拼接后向量、历史窗口促销特征的向量表达和对应的归一化销量序列,存储在所述记忆网络中。
进一步地,所述预测窗口动态特征,包括预测窗口的平台促销活动序列和预测窗口的产品促销活动序列,相应地,进行特征提取,得到多个特征向量,包括:将预测窗口的平台促销活动序列,经卷积特征提取后,乘以平台促销活动天数,并乘以平台促销爆发系数,作为预测窗口的平台促销活动序列对应的特征向量;将预测窗口的产品促销活动序列,经卷积特征提取后,乘以产品促销活动天数,并乘以产品促销爆发系数,作为预测窗口的产品促销活动序列对应的特征向量;其中,所述平台促销爆发系数,反应平台有促销与无促销相比,销量的增长情况;所述商品促销爆发系数,反应商品有促销与无促销相比,销量的增长情况。
进一步地,所述将所述多个特征向量输入预设的人工神经网络模型之前,还包括:获取多个已知预测窗口销量结果的特征数据样本;从特征数据样本中,筛选并剔除缺失销量数据的天数大于预设阈值的样本;将剩余样本的预测窗口总销量作为标签,样本特征数据经特征提取后的特征向量作为输入,对人工神经网络模型进行训练,得到所述预设的人工神经网络模型。
第二方面,本发明实施例提供一种SKU级别商品销量预测装置,包括:特征提取模块,用于获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;处理模块,用于将所述多个特征向量输入预设的人工神经网络模型,根据所述人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,所述特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;所述预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明第一方面SKU级别商品销量预测方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明第一方面SKU级别商品销量预测方法的步骤。
本发明实施例提供的SKU级别商品销量预测方法及装置,根据静态属性特征、历史窗口销量数据、预测窗口动态特征,分别提取特征后,对预测窗口的总销量进行预测。预测过程充分提取了商品自身的属性特征,利用到商品之间的相似性和不同性;而商品在预测窗口的动态特征,充分反映了消费者购买选择情况对销量造成的影响,从而该方法能够实现准确的销量预测。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的SKU级别商品销量预测方法流程图;
图2为本发明实施例提供的基于因果卷积的商品历史销量特征提取流程图;
图3为本发明实施例提供的因果卷积计算示意图;
图4为本发明实施例提供的商品静态特征表示形式转化过程示意图;
图5为本发明实施例提供的单个GRU结构图;
图6为本发明实施例提供的多GRU单元结构图;
图7为本发明实施例提供的促销活动嵌入表征记忆网络读取与更新流程;
图8为本发明实施例提供的加权归一化销量序列计算流程图;
图9为本发明实施例提供的归一化销量序列记忆网络读取与更新流程图;
图10为本发明实施例提供的促销信息的销量影响特征提取流程图;
图11为本发明另一实施例提供的SKU级别商品销量预测方法流程图;
图12为本发明实施例提供的SKU级别商品销量预测装置结构图;
图13为本发明实施例提供的一种电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在GBDT、XgBoost等算法中需要人为选择特征作为输入进行预测,对于每一个特征都需要单独调整其权重,训练的效率很低。利用LSTM、GRU等人工神经网络模型,结合商品自身属性可以预测出商品在未来一段时间内每一天的销量,然而在预测后续天销量时要使用到之前销量的预测值,从而随着预测时间窗口边长在计算总的销量预测结果时会导致误差的反复累加。如何综合考虑影响商品销量的多种信息提升销量预测的准确度,合理设计网络结构并实现端到端的训练是一个亟待解决的问题。
本发明的目标是基于SKU(stock keeping unit)级别的商品设计销量预测系统,SKU是库存的最小单位,每个SKU对应一个单款单色单码的商品,考虑电商平台这一特定场景下的商品销量预测问题,基于不同商品间基础属性以及历史销售情况的差异性,设计基于人工神经网络模型的算法,同时为了更加有效地利用预测时间段内平台地促销活动以及商品的特卖排期信息,引入记忆网络用于记录在历史相同促销或特卖情况下商品的销量情况,从而更有针对性地对促销信息对于商品销量的影响进行了建模,能够大幅提升对商品未来销量预估的准确度。系统首先对商品的固有属性进行编码,在此基础上,添加商品的历史销量并考虑宏观的平台促销排期以及微观的商品活动排期影响,充分利用多种信息,达到更好的预测性能。具体方案描述如下:
图1为本发明实施例提供的SKU级别商品销量预测方法流程图,如图1所示,本发明实施例提供一种SKU级别商品销量预测方法,包括:
101、获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;
102、将多个特征向量输入预设的人工神经网络模型,根据人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;
其中,特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
基于平台保存的所有历史数据,可以得到每个SKU商品的自身属性信息以及历史天级的销售信息,从中筛选出所需特征数据。这些特征数据包括:商品历史窗口销量数据的序列(y1,y2,…,yt-1),可以是每天的销量;商品的静态属性特征,包括商品SKU编号、产品ID、品牌编号、品牌类别编号、商品所属各级类目编号等;预测窗口动态特征为对预测窗口的价格,销售策略等的调整,主要为平台的促销、商品的促销和各自的促销程度等。
根据每一类特征数据,分别进行特征提取,得到便于输入人工神经网络的特征向量,基于预设的人工神经网络模型,便可得到预测窗口的总销量。
该预设的人工神经网络模型,是通过样本特征数据训练后得到的,而预测窗口的销量结果是已知的,将样本的预测窗口的总销量作为标签,通多大量的此类样本进行训练,对预设的人工神经网络模型进行参数的更新。训练完成后的预设的人工神经网络模型,可根据待预测的特征数据对应的特征向量,输出带预测的预测窗口的总销量。
考虑到平台上售卖的大量商品中,一些商品可能在连续很长时间内都没有销量,因此需要根据设置的条件进行筛选留下销量连续性较好的样本作为最终的训练集,基于训练集对模型进行训练并利用训练好的模型得到当天所需的预测结果,而基于每一天商品实际销量的更新结果,可以进一步用来对样本进行更新,进一步实现训练数据的每日更新。
进一步地,对商品未来一段时间内地累计销量进行预测的问题可以表示为如下形式:已知某商品历史窗口销量数据的序列(y1,y2,…,yt-1),其中商品静态属性特征包括商品号、类别信息等在内的属性特征(s1,s2,…,sn),历史时间窗口内每一天对应的动态特征信息(x1,x2,…,xt-1),其中预测时间窗口内每一天对应的动态特征信息(zt,zt+1,…,zt+n),其中销量预测的任务要完成的是,利用这些已知信息来预测商品未来一段时间的销量总和:
模型要学习的就是映射函数F(·),在模型训练过程中还需要设置模型超参数(包括卷积核大小kernel_length,卷积核个数channel_num,正则化系数λθ,学习速率β等)。在对网络进行训练的过程中,网络各层的权重及偏置值都可以在反向传播的过程中通过随机梯度下降的方法(Stochastic Gradient Descent)进行更新。本发明实施例对人工神经网络模型的结构不作具体限定,包括但不限于具有全连接层结构的深度卷积网络。
本发明实施例提供的的SKU级别商品销量预测方法,根据静态属性特征、历史窗口销量数据、预测窗口动态特征,分别提取特征后,对预测窗口的总销量进行预测。预测过程充分提取了商品自身的属性特征,利用到商品之间的相似性和不同性;而商品在预测窗口的动态特征,充分反映了消费者购买选择情况对销量造成的影响,从而该方法能够实现准确的销量预测。
基于上述实施例的内容,作为一种可选实施例,历史窗口销量数据包括SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,相应地,进行特征提取,得到多个特征向量,包括:对SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,分别采用一维因果卷积进行特征提取;将卷积后的SKU商品历史窗口销量特征、同产品ID商品历史窗口销量特征,以及SKU商品历史窗口销量原始数据进行序列拼接,得到历史窗口销量数据的特征向量。
商品历史销量包括该商品过去一段时间内每一天的销量值(无销量时进行补0操作),通常来讲,商品的销量本身具有一定的变化模式或周期性规律,此外,同productID(产品ID,同款不同色/同款不同码)商品的历史销量也可以从侧面提供该商品历史销售情况的辅助信息,因此我们同时对商品的历史销量和同productID商品的历史销量进行特征提取。
一维的销量序列可以使用一维卷积提取特征,长为length_history的历史销量sku_num1×length_history与长度为kernel_length的卷积核filter1×kernel_length进行卷积操作,得到的输出为sku_num1×length_history*filter1×kernel_length。在一个卷积层内部是参数共享的,从而大大减少了网络参数。如果用A表示被卷积向量,K表示卷积核,B表示卷积结果,则卷积的计算可以表示为:
在传统的一维卷积中,我们在输入序列上滑动卷积核,顺序地将其应用于连续区域。但是对于销量预测任务而言,我们应该严格地使用历史时间序列信息计算特征空间中的结果,例如卷积核大小为3,步长为3的一维因果卷积的计算过程如图2所示。
为了进一步获取商品历史销量不同时间长度的特征,采用不同大小的卷积核对商品历史销量序列和同productID商品的历史销量序列分别进行卷积操作,最后将进行过卷积操作的商品销量特征提取结果和原始商品销量进行拼接,对商品历史销量特征进行特征提取的过程如图3所示。
本发明实施例提供的的SKU级别商品销量预测方法,既保留了在销量空间内的信息,也融合了在特征空间内的信息,增强了特征的表达能力。同时,考虑到了同产品ID商品的影响,能够得到更准确的预测结果。
基于上述实施例的内容,作为一种可选实施例,商品静态属性特征,包括商品SKU编号、产品ID、品牌编号、品牌类别编号、商品各级类目编号中至少一种,相应地,进行特征提取,得到多个特征向量,包括:将每一商品静态属性特征,转换为独热码后,映射到低维的向量空间,得到商品静态属性特征的特征向量。
基于对商品特征与商品销量间相关度的分析,最终对于每个样本筛选用于商品销量预测的特征包括:商品静态特征,商品历史销量序列(天级),同product_id商品历史销量序列(天级),商品过去以及预测时间窗口内的促销信息(天级)。其中每一条商品静态特征数据结构如下:
{“skuID”,//商品sku级编号,整数
“productID”,//商品product级编号,同一productID可能对应多个skuID,整数
“brandID”,//商品所属品牌编号,整数
“brandType”,//商品所属品牌类别编号,整数
“category_1ID”,//商品所属一级类目编号,整数
“category_2ID”,//商品所属二级类目编号,整数
“category_3ID”//商品所属三级类目编号,整数}
以category_1ID为例,商品的静态特征在网络中的表示形式转换过程如图4所示,对于商品的每一个静态特征,按照其取值范围可以利用固定维度的独热码(One-HotEncoding)进行表示,也就是将这一特征包含的每个取值表示为一个只有一个维度的值为1其它维度的值均为0的N维向量Vectorone-hot,其中N表示特征的取值个数。进一步为了得到不同取值在原始特征空间中的相关性,同时降低用于表示的向量维度,需要将其映射到低维的向量空间,这里使用的方法是引入一个权重矩阵MN×L,其中N为特征取值个数,L表示向量空间维度,那么当前特征值在低维空间中的向量表示Vector=Vectorone-hot×MN×L,在训练过程中可对矩阵MN×L中的值进行更新。
商品历史销量序列可以表示为一个固定时间窗口长度的整数序列的形式,此外,通过对同一productID下不同skuID商品的销量进行分析可以发现,这些商品的销量变化趋势具有一致性,但是在销量的绝对值上存在差异,因此将每个skuID商品对应的productID商品的销量作为一个特征,同样可以表示为一个固定时间窗口长度的整数序列的形式。
基于上述实施例的内容,作为一种可选实施例,预测窗口动态特征,包括预测窗口的促销特征,相应地,进行特征提取,得到多个特征向量,包括:将平台是否处于促销状态的标准、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;根据预测窗口的拼接后的向量,分别从预设的记忆网络中,获取对应的促销活动的嵌入表达向量;根据促销活动的嵌入表达向量,从预设的记忆网络中,获取相似度最高的K个嵌入表达向量,和K个嵌入表达向量对应的K个归一化销量序列;根据K个嵌入表达向量和促销活动的嵌入表达向量,进行注意力权重计算;利用得到的注意力权重,对K个归一化销量序列进行加权池化,得到加权归一化销量序列,作为预测窗口动态特征对应的特征向量。其中,记忆网络中存储的嵌入表达向量和对应的归一化销量序列,是根据历史预测窗口的促销特征,通过GRU网络提取嵌入表达向量,并根据历史窗口销量数据建立对应的归一化销量序列得到。
基于上述实施例的内容,作为一种可选实施例,将多个特征向量输入预设的人工神经网络模型之前,还包括:获取多个历史窗口的销量数据,和对应的促销特征;根据历史窗口促销特征中,平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;将每个历史窗口促销特征的拼接后向量,输入多个GRU单元级联的GRU网络,得到每个历史窗口促销特征的向量表达;根据历史窗口的销量数据建立归一化销量序列,将历史窗口促销特征的拼接后向量、历史窗口促销特征的向量表达和对应的归一化销量序列,存储在记忆网络中。
对于商品的促销信息,分为宏观的平台级促销和微观的商品级促销两个方面进行考虑,对于历史或未来窗口内的每一天,平台或商品是否在进行促销可以使用一个固定时间窗一口长度的0-1序列进行表示,其中0表示平台/商品当天未进行促销,1表示平台/商品当天在进行促销,此外考虑到电商平台中在不同时间段内的促销活动的优惠力度存在差异(例如每年双十一期间平台整体的优惠幅度更大,而平常的月末促销优惠幅度相对较小),这种差异也会对商品的销量产生影响,因此这里考虑对平台的促销活动等级进行建模,这里共分为无促销、月初促销、月中促销、月末促销、季度促销、年度促销六个等级,分别使用0-5进行表示。
对商品销量进行预测其实也是对消费者购买意愿的高低进行判断,而平台的和商品的促销活动可以在很大程度上成为消费者的购买动机,或者影响消费者购买决策,而平台的促销和商品的特卖在时间上可能会同时出现,这时平台促销和商品特卖对商品销量的影响并不是二者影响的简单叠加,如果能对这些信息的综合影响进行准确建模,销售量的预测精度就会大幅度提升,因此我们考虑以商品的归一化销量序列(可根据销量序列归一化得到)作为监督信息,得到平台和商品促销活动在向量空间内的影响嵌入表征,使得归一化销量序列更相似的促销活动在向量空间内的嵌入表征更一致,这个过程是在训练过程中随着每一批的训练数据进行网络参数的迭代更新过程进行学习和更新的,而为了记录所有批次训练数据的影响同时在测试过程中减少计算量,引入了记忆网络来对促销活动对应的向量空间内的嵌入表征进行存储。
在对商品未来时间窗口内的销量进行预测的过程中,为了综合考虑平台的促销活动、促销等级以及商品自身的特卖活动的影响,因此利用门控循环单元(Gated recurrentunits,GRU)这一改进后的长短期记忆网络(Long Short-Term Memory)来得到三种特征综合影响下的促销影响表征。
单个GRU模型的结构如图5所示,可以看到单个结构的输入包括当前时刻的外部输入xt和上一个节点传递下来的隐状态(hidden state)ht-1,隐状态中包含了之前节点的相关信息,经过一系列计算后会得到当前隐藏节点的输出以及传递给下一个节点的隐状态ht。zt和rt分别表示更新门(update gate)和重置门(reset gate),更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门的值越大说明前一时刻的状态信息带入越多,重置门控制前一状态有多少信息被写入到当前的候选集上,重置门越小,前一状态的信息被写入的越少,σ表示为sigmoid函数,它可以将数据变换为0-1范围内的数值,从而来充当门控信号,基于结构图可以得到网络的前向传播公式为:
rt=σ(Wr·[ht-1,xt]);
zt=σ(Wz·[ht-1,xt]);
yt=σ(WO·ht);
其中,[]表示两个向量相连,*表示矩阵乘积。
从前向传播过程的公式中可以看出,对于单个的GRU结构来说需要学习的参数有Wr、Wz、Wh~、WO,他们可以通过误差函数的反向传播不断更新。
对于一个时间长度为T的时间序列而言,可以利用T个单GRU结构拼接得到如图6所示的结构。其中t时刻单元的输入为上一单元得到的输出结果ht以及当前时刻的外部输入xt,对于当前的销量预测任务而言,将每个时刻平台是否处于促销状态的0/1表征,平台的促销等级0-5表征,商品是否处于特卖排期内的0/1表征分别经过如图4所示的操作映射到相同维度的向量空间得到嵌入表达后,将三者的嵌入表达进行拼接后作为每个时刻GRU单元的外部输入,同时记录每个时刻的GRU单元的输出并将它们进行拼接或池化操作后得到T时间长度的促销活动在向量空间的嵌入表达,将其称之为促销活动的嵌入表达(或嵌入表达向量)。
进一步地,为了使得归一化销量序列更相似的促销活动在向量空间内的嵌入表征更一致,将归一化销量序列作为监督信息,而对于任意N个给定的促销活动与对应归一化销量与列的样本,其中的每一个都可以在其他的N-1个中找到归一化销量序列相似度最大的K个样本(记作Ksimilar)和相似度最小的K个样本(记作Kdifferent),从而如果使得该样本与Ksimilar之间促销活动在向量空间内的嵌入表征之间距离更小而与Kdifferent之间促销活动在向量空间内的嵌入表征之间距离更大,则实现了前述的要求。
具体对于销量预测的问题而言,考虑促销活动对于销量的影响是希望在预测过程中能够有效地对促销活动加以利用,为了更方便地对促销活动的嵌入表征进行查找,这里引入记忆网络,记忆网络中保存键(Key)-值(Value)类型的数据,其中的Key为平台促销状态、平台促销等级和商品特卖状态嵌入表征的拼接结果,而Value则为计算出的促销活动的嵌入表达。
至此,则得到如图7所示的促销活动嵌入表征记忆网络读取与更新流程。将每一批次的训练数据中已知时间窗口内的促销活动相关序列和对应的归一化销量序列作为历史数据,数据传入控制模块后由嵌入表征计算模块来计算每组促销活动相关序列对应的嵌入表征,其中嵌入表征计算模块由多个GRU单元组成,经过计算后将结果返回至控制模块,用于记忆的更新,如图中的步骤A、B、C和D。另一方面,当有新的预测任务提交时,需要将对应的预测时间窗口内的促销活动相关序列传入控制模块,即可通过查询得到这一促销活动对应的嵌入表达,如图7中的步骤1、2、3。
通过引入GRU网络和记忆网络,模型已经能够实现对促销活动对应的向量空间内的嵌入表征的计算和促销活动与对应的向量空间的嵌入表征的存储任务,进一步地,考虑到在计算促销活动的嵌入表征时利用了“归一化销量序列越相似则对应的促销活动的嵌入表征越相似”,则可以认为“促销活动的嵌入表征越相似,则其对应的归一化销量序列越相似”,因此可以从促销活动的嵌入表征入手,获取最相似地K个,将其对应地归一化销量序列作为特征输入网络。
后续在网络中进行预测时,计算预测时间窗口内促销活动的嵌入表征与从记忆模块中选出的相似度最高的K个促销活动的嵌入表征之间的相似度,引入注意力机制根据相似度计算注意力权重,然后利用计算出的权重对返回的K个归一化销量序列进行加权池化的操作,加权池化的过程如图8所示,得到最终的加权归一化销量序列作为网络的特征参与后续运算,若K=1则无需进行加权,如图9中的步骤1-5。此外还可包括如步骤6的记忆更新的过程。
同样地,为了更方便地查找促销活动的嵌入表征与对应地归一化销量序列间的关系,这里引入另一个记忆网络进行记忆存储,与之前类似的,这一记忆网络中保存的同样是键(Key)-值(Value)类型的数据,其中的Key为促销活动的嵌入表达,而Value则为计算后的归一化销量序列。
这一记忆网络地读取与更新流程如图9所示。具体来说,在记忆网络的初始构建过程中,为了丰富后续筛选出的K个归一化销量序列的选择性,首先从历史的促销活动嵌入表达及归一化销量数据中对记忆网络进行存储,如图9中步骤A、B。而随着记忆网络的存储逐渐变大,在后续历史数据的传输过程中,如果某个促销活动对应的嵌入表征与记忆网络中存储的所有促销活动的嵌入表达相似度都小于阈值,则将其加入到记忆存储中,另一方面经历过图8过程计算得到的加权归一化销量序列后,将每一对促销活动的嵌入表达及对应的加权归一化销量序列对原有记忆网络进行更新。
本发明实施例提供的的SKU级别商品销量预测方法,将平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量,根据预测窗口的拼接后的向量,分别从预设的记忆网络中,获取对应的促销活动的嵌入表达向量,能够根据不同的促销手段,得到结果性的嵌入表达向量,表征了不同促销手段的一致性。利用得到的注意力权重,对K个归一化销量序列进行加权池化,得到加权归一化销量序列,考虑到了K个相似度高的嵌入表达向量对应的K个归一化销量序列均为可能的销量结果,加权后,能够客观反映促销活动的嵌入表达向量,所对应的的归一化销量序列,从而使总的预测结果更准确。
基于上述实施例的内容,作为一种可选实施例,预测窗口动态特征,包括预测窗口的平台促销活动序列和预测窗口的产品促销活动序列,相应地,进行特征提取,得到多个特征向量,包括:将预测窗口的平台促销活动序列,经卷积特征提取后,乘以平台促销活动天数,并乘以平台促销爆发系数(商品促销爆发系数_平台),作为预测窗口的平台促销活动序列对应的特征向量;将预测窗口的产品促销活动序列,经卷积特征提取后,乘以产品促销活动天数,并乘以产品促销爆发系数(商品促销爆发系数_商品),作为预测窗口的产品促销活动序列对应的特征向量;其中,平台促销爆发系数,反应平台有促销与无促销相比,销量的增长情况;商品爆发系数,反应商品有促销与无促销相比,销量的增长情况。
平台和商品的促销活动信息对于商品销量的影响除了可以通过引入具有较高相似度的促销活动的销量序列来考虑之外,在预测时间窗口内平台和商品的促销活动序列(pt_sale_type和sku_sale_type)以及天数(pt_sale_days和sku_sale_days)都会直接对商品的销量值产生影响。而对于不同的商品而言,促销活动对其销量的影响大小也存在差异,这部分差异可以通过商品对平台级别的促销和商品自身促销的爆发系数进行衡量,爆发系数的一种计算公式为:
因此这里直接将经过卷积层对促销活动序列提取到的特征分别与对应的促销天数和爆发系数相乘,作为特征,输入最后的全连接层,提取流程如图10所示。本发明实施例提供的的SKU级别商品销量预测方法,考虑到爆发系数对预测结果的影响,有利于提高预测结果的准确性。
基于上述实施例的内容,作为一种可选实施例,将多个特征向量输入预设的人工神经网络模型之前,还包括:获取多个已知预测窗口销量结果的特征数据样本;从特征数据样本中,筛选并剔除缺失销量数据的天数大于预设阈值的样本;将剩余样本的预测窗口总销量作为标签,样本特征数据经特征提取后的特征向量作为输入,对人工神经网络模型进行训练,得到预设的人工神经网络模型。
在实际的销售环境中,商品的历史销量可能会存在缺失值和异常值,其中缺失值代表着该商品在这一天没有售出,针对这种情况,在得到商品的历史销量序列时需要对其进行补0的操作,而异常值可能是由于平台或商家在这一天对于该商品采取了某种特殊的推广方式。如果训练数据中商品的历史销量受这两种情况的影响很大,则会对模型的性能产生很大的影响,因此需要设置一定的标准来对训练集数据进行筛选。
一方面,对于缺失值的筛选,在实际的应用场景中对那些历史上销量相对来说比较平稳的商品未来的销量进行预测是更有意义的,因此如果训练集中存在那些已知时间窗口内连续缺失天数较多的样本,则可能会对模型的训练结果产生一定的负向影响。因此需要依据设置的连续缺失天数的阈值对生成的样本数据进行筛选,在已知时间窗口内连续缺失天数不超过该阈值的商品才考虑加入训练集。
另一方面,对于异常值的筛选,那些会造成异常销量值的因素是不常见、不稳定并且驱动原因复杂的,因此在模型本身要实现对大部分商品都有较好的预测性能,在没有考虑到这些因素的情况下,应该将这些存在异常值的数据从训练集中筛除掉,这里需要根据实际的平台销量变化合理设置阈值。基于筛选后的样本数据,以预测窗口总销量作为标签,样本特征数据经特征提取后的特征向量作为输入,对人工神经网络模型进行训练,该过程基于现有技术便可知道如何实施,此处不再赘述。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面基于上述各实施例的组合,对照图11说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。
实例一:使用者想利用商品过去30天的销量预测2019年5月31日skuID为1000000的商品未来30天的销量,依据skuID值,可以得到商品对应的静态特征如下表1所示:
表1
首先进行训练数据的构建,在预测商品5月31日的销量时,需要避免使用到5月31日及之后的销量,因此应该使用5月31日之前(不包括5月31日)的销量数据构造训练集。筛选所有销售日期在5月31日之前的销售记录,按照skuID进行聚类后,每个商品保留所需的静态特征,并且对商品从第一天至最后一天的销量序列缺失值按天进行补零操作,同时对具有相同productID的商品销量按天进行求和,然后利用30天已知时间窗口+30天预测时间窗口的滑动窗口来构造样本数据,进一步按照设置的阈值筛除掉已知时间窗口内连续缺失值天数大于阈值和有异常销量值的样本,剩下的样本作为训练集,基于此步我们已经可以得到训练集每个商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口30天内促销活动序列;(6)商品预测时间窗口30天的销量和,其中第(6)条内容训练集的标签值。
同样的我们获取skuID=1000000的商品在5月1日-5月30日的销售记录并对缺失值按天进行补零操作,同时这段时期内对productID=37258的商品销量按天进行求和,基于此步我们已经可以得到该商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口30天内促销活动序列。
下一步,将构造的训练集分批次输入网络中进行模型的训练,每一批次的数据分别用于进行促销活动嵌入表征记忆存储(称为记忆存储1)和促销活动归一化销量序列记忆存储(称为记忆存储2)的更新。首先利用每个批次的训练集数据根据图7的方式构造并更新记忆存储1,取出当前批次训练集中所有已知时间窗口30天内的商品促销活动序列(包括平台是否处于促销状态的0/1表征,平台的促销等级0-4表征,商品是否处于特卖排期内的0/1表征)以及对应的归一化销量序列作为这一批次的历史数据,分别经过如图4所示的操作映射到相同维度的向量空间得到嵌入表达,然后将三者的嵌入表达进行拼接后作为每个时刻GRU单元的外部输入,同时记录每个时刻的GRU单元的输出并将它们进行池化操作后得到与预测时间窗口长度一致的促销活动的嵌入表达。在对GRU单元的参数进行更新时通过设置损失函数来保证在这一批次的历史数据中归一化销量序列更相似的最终得到的促销活动的嵌入表达也更相似,并将最终的计算结果按照(促销活动序列拼接结果,对应促销活动的嵌入表达)的键-值对的形式保存在记忆存储1中,同样的,将(促销活动的嵌入表达,对应的归一化销量序列)按照键-值对的形式保存在记忆存储2中。而对于每一条训练数据而言,其预测时间窗口的促销活动序列拼接后可以在记忆存储1中查找到对应的促销活动的嵌入表达,从而与记忆存储2中的所有促销活动的嵌入表达计算相似度后寻找其中相似度最大的K个(这里可以取K=15),将这K个促销活动的嵌入表达以及对应的归一化销量序列作为特征值返回。进一步地,在模型中计算每条训练数据预测时间窗口的促销活动嵌入表达愚者K个促销活动的嵌入表达之间的相似度并通过注意力模块计算注意力权重后,以计算出的权重计算K个归一化销量序列的加权池化结果,从而可以得到新的(促销活动的嵌入表达,对应的归一化销量序列)的键-值对,用这个新的键-值对来对记忆存储2进行更新。随着下一个批次的训练数据的到来,循环上述过程,则可以分别对这两个记忆存储单元进行更新。
在对模型的训练过程中,对于商品的静态特征,上述编码方式将每个静态特征分别表示为低维特征空间中的特征向量。商品本身已知30天的历史销量和同productID商品已知30天的历史销量利用因果卷积实施例的方法进行特征提取。对于平台和商品的促销信息,一方面按照上述过程完成两个记忆存储单元的更新并得到计算出的加权归一化销量序列,另一方面,将促销序列按照爆发系数实施例中的方法直接作为特征输入网络中,结合商品自身的促销反馈信息,得到对应特征,最后将所有上述特征进行拼接并利用全连接层得到最后的预测销量,形成一个端到端的网络结构,这里多个全连接层增加了模型的非线性表达能力,最后一层全连接层的输出作为最终的模型输出结果。
而在预测时,则不需要对记忆存储单元进行更新,而只需要按照如图11所示方式进行查找并计算出加权归一化销量序列,其它特征的获取和处理过程与训练过程一致,最后将所有上述特征进行拼接并利用全连接层得到最后的销量预测结果。
实例二:使用者想利用商品过去30天的销量预测2019年5月31日skuID为1000000的商品未来15天的销量,依据skuID值,可以得到商品对应的静态特征如下表2所示:
表2
特征名 | 特征值 |
skuID | 1000000 |
productID | 37258 |
brandID | 1779 |
brandType | 30 |
category_1ID | 101 |
category_2ID | 1068 |
category_3ID | 11523 |
首先进行训练数据的构建,在预测商品5月31日的销量时,需要避免使用到5月31日及之后的销量,因此应该使用5月31日之前(不包括5月31日)的销量数据构造训练集。筛选所有销售日期在5月31日之前的销售记录,按照skuID进行聚类后,每个商品保留所需的静态特征,并且对商品从第一天至最后一天的销量序列缺失值按天进行补零操作,同时对具有相同productID的商品销量按天进行求和,然后利用30天已知时间窗口+15天预测时间窗口的滑动窗口来构造样本数据,这里假定所有商品在15天的预测时间窗口内的的平台促销和商品特卖排期均已知,进一步按照设置的阈值筛除掉已知时间窗口内连续缺失值天数大于阈值和有异常销量值的样本,剩下的样本作为训练集,基于此步我们已经可以得到训练集每个商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口15天内促销活动序列;(6)商品预测时间窗口15天的销量和,其中第(6)条内容是训练集的标签值。
同样的我们获取skuID=1000000的商品在5月1日-5月30日的销售记录并对缺失值按天进行补零操作,同时这段时期内对productID=37258的商品销量按天进行求和,基于此步我们已经可以得到该商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口15天内促销活动序列。
下一步,将构造的训练集分批次输入网络中进行模型的训练,每一批次的数据分别用于进行促销活动嵌入表征记忆存储(称为记忆存储1)和促销活动归一化销量序列记忆存储(称为记忆存储2)的更新。首先利用每个批次的训练集数据根据图7的方式构造并更新记忆存储1,取出当前批次训练集中所有已知时间窗口30天内的商品促销活动序列(包括平台是否处于促销状态的0/1表征,平台的促销等级0-4表征,商品是否处于特卖排期内的0/1表征),以预测时间长度15对这些促销活动序列及对应的归一化销量序列进行滑窗,从而得到一系列的与预测时间窗口长度相同的促销活动序列及对应的归一化销量序列。然后将三个促销活动序列分别经过如图4所示的操作映射到相同维度的向量空间得到嵌入表达,将三者的嵌入表达进行拼接后作为每个时刻GRU单元的外部输入,同时记录每个时刻的GRU单元的输出并将它们进行池化操作后得到与预测时间窗口长度一致的促销活动的嵌入表达。在对GRU单元的参数进行更新时通过设置损失函数来保证在这一批次的历史数据中归一化销量序列更相似的最终得到的促销活动的嵌入表达也更相似,并将最终的计算结果按照(促销活动序列拼接结果,对应促销活动的嵌入表达)的键-值对的形式保存在记忆存储1中,同样的,将(促销活动的嵌入表达,对应的归一化销量序列)按照键-值对的形式保存在记忆存储2中。而对于每一条训练数据而言,其预测时间窗口的促销活动序列拼接后可以在记忆存储1中查找到对应的促销活动的嵌入表达,从而与记忆存储2中的所有促销活动的嵌入表达计算相似度后寻找其中相似度最大的K个(这里可以取K=20),将这K个促销活动的嵌入表达以及对应的归一化销量序列作为特征值返回。进一步地,在模型中计算每条训练数据预测时间窗口的促销活动嵌入表达愚者K个促销活动的嵌入表达之间的相似度并通过注意力模块计算注意力权重后,以计算出的权重计算K个归一化销量序列的加权池化结果,从而可以得到新的(促销活动的嵌入表达,对应的归一化销量序列)的键-值对,用这个新的键-值对来对记忆存储2进行更新。随着下一个批次的训练数据的到来,循环上述过程,则可以分别对这两个记忆存储单元进行更新。
在对模型的训练过程中,对于商品的静态特征,利用静态属性特征实施例中的编码方式将每个静态特征分别表示为低维特征空间中的特征向量。商品本身已知30天的历史销量和同productID商品已知30天的历史销量利用因果卷积实施例中的方法进行特征提取。对于平台和商品的促销信息,一方面按照上述过程完成两个记忆存储单元的更新并得到计算出的加权归一化销量序列,另一方面,将促销序列按照爆发系数实施例中的方法直接作为特征输入网络中,结合商品自身的促销反馈信息,得到对应特征,最后将所有上述特征进行拼接并利用全连接层得到最后的预测销量,形成一个端到端的网络结构,这里多个全连接层增加了模型的非线性表达能力,最后一层全连接层的输出作为最终的模型输出结果。
而在预测时,则不需要对记忆存储单元进行更新,而只需要按照如图11所示方式进行查找并计算出加权归一化销量序列,其它特征的获取和处理过程与训练过程一致,最后将所有上述特征进行拼接并利用全连接层得到最后的销量预测结果。
实例三:使用者想利用商品过去30天的销量预测2019年5月31日skuID为35136794的国际商品未来60天的销量,依据skuID值,可以得到商品对应的静态特征如下表3所示:
表3
特征名 | 特征值 |
skuID | 35136794 |
productID | 1204 |
brandID | 305 |
brandType | 20 |
category_1ID | 101 |
category_2ID | 1068 |
category_3ID | 11523 |
考虑到国内商品和国际商品在实际的销售过程中销量变化可能会展现出不同的趋势,在进行训练集的构建时,可以只利用国际商品历史销量信息进行构建。筛选所有国际商品销售日期在5月31日之前的销售记录,按照skuID进行聚类后,每个商品保留所需的静态特征,并且对商品从第一天至最后一天的销量序列缺失值按天进行补零操作,同时对具有相同productID的商品销量按天进行求和,然后利用30天已知时间窗口+60天预测时间窗口的滑动窗口来构造样本数据,进一步按照设置的阈值筛除掉已知时间窗口内连续缺失值天数大于阈值和有异常销量值的样本,剩下的样本作为训练集,基于此步我们已经可以得到训练集每个商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口60天内促销活动序列;(6)商品预测时间窗口60天的销量和,其中第(6)条内容训练集的标签值。
同样的我们获取skuID=35136794的商品在5月1日-5月30日的销售记录并对缺失值按天进行补零操作,同时这段时期内对productID=1204的商品销量按天进行求和,基于此步我们已经可以得到该商品的(1)静态特征;(2)商品已知时间窗口30天的销量(天级);(3)同productID商品已知30天的销量(天级);(4)平台及商品已知时间窗口30天内促销活动序列;(5)平台及商品预测时间窗口60天内促销活动序列。
考虑到在实际应用场景中对于商品的未来促销活动往往无法排期到未来60天,从而导致预测时间窗口60天内促销活动序列中大部分为0值,因此要结合实际应用情景考虑在对这一特征进行利用时对序列长度进行控制。这里可以选择只利用预测时间窗口前20天的促销活动序列信息。
下一步,将构造的训练集分批次输入网络中进行模型的训练,每一批次的数据分别用于进行促销活动嵌入表征记忆存储(称为记忆存储1)和促销活动归一化销量序列记忆存储(称为记忆存储2)的更新。首先利用每个批次的训练集数据根据图7的方式构造并更新记忆存储1,取出当前批次训练集中所有已知时间窗口30天内的商品促销活动序列(包括平台是否处于促销状态的0/1表征,平台的促销等级0-4表征,商品是否处于特卖排期内的0/1表征),以预测时间长度20对这些促销活动序列及对应的归一化销量序列进行滑窗,从而得到一系列的与预测时间窗口长度相同的促销活动序列及对应的归一化销量序列。然后将三个促销活动序列分别经过如图4所示的操作映射到相同维度的向量空间得到嵌入表达,将三者的嵌入表达进行拼接后作为每个时刻GRU单元的外部输入,同时记录每个时刻的GRU单元的输出并将它们进行池化操作后得到与预测时间窗口长度一致的促销活动的嵌入表达。在对GRU单元的参数进行更新时通过设置损失函数来保证在这一批次的历史数据中归一化销量序列更相似的最终得到的促销活动的嵌入表达也更相似,并将最终的计算结果按照(促销活动序列拼接结果,对应促销活动的嵌入表达)的键-值对的形式保存在记忆存储1中,同样的,将(促销活动的嵌入表达,对应的归一化销量序列)按照键-值对的形式保存在记忆存储2中。而对于每一条训练数据而言,其预测时间窗口的促销活动序列拼接后可以在记忆存储1中查找到对应的促销活动的嵌入表达,从而与记忆存储2中的所有促销活动的嵌入表达计算相似度后寻找其中相似度最大的K个(这里可以取K=20),将这K个促销活动的嵌入表达以及对应的归一化销量序列作为特征值返回。进一步地,在模型中计算每条训练数据预测时间窗口的促销活动嵌入表达愚者K个促销活动的嵌入表达之间的相似度并通过注意力模块计算注意力权重后,以计算出的权重计算K个归一化销量序列的加权池化结果,从而可以得到新的(促销活动的嵌入表达,对应的归一化销量序列)的键-值对,用这个新的键-值对来对记忆存储2进行更新。随着下一个批次的训练数据的到来,循环上述过程,则可以分别对这两个记忆存储单元进行更新。
在对模型的训练过程中,对于商品的静态特征,利用静态属性特征实施例中的编码方式将每个静态特征分别表示为低维特征空间中的特征向量。商品本身已知30天的历史销量和同productID商品已知30天的历史销量利用因果卷积实施例中的方法进行特征提取。对于平台和商品的促销信息,一方面按照上述过程完成两个记忆存储单元的更新并得到计算出的加权归一化销量序列,另一方面,将促销序列按照爆发系数实施例中的方法直接作为特征输入网络中,结合商品自身的促销反馈信息,得到对应特征,最后将所有上述特征进行拼接并利用全连接层得到最后的预测销量,形成一个端到端的网络结构,这里多个全连接层增加了模型的非线性表达能力,最后一层全连接层的输出作为最终的模型输出结果。
而在预测时,则不需要对记忆存储单元进行更新,而只需要按照如图11所示方式进行查找并计算出加权归一化销量序列,其它特征的获取和处理过程与训练过程一致,最后将所有上述特征进行拼接并利用全连接层得到最后的销量预测结果。
图12为本发明实施例提供的SKU级别商品销量预测装置结构图,如图12所示,该SKU级别商品销量预测装置包括:特征提取模块121和处理模块122。其中,特征提取模块121用于获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;处理模块122用于将多个特征向量输入预设的人工神经网络模型,根据人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
本发明实施例提供的SKU级别商品销量预测装置,根据静态属性特征、历史窗口销量数据、预测窗口动态特征,分别提取特征后,对预测窗口的总销量进行预测。预测过程充分提取了商品自身的属性特征,利用到商品之间的相似性和不同性;而商品在预测窗口的动态特征,充分反映了消费者购买选择情况对销量造成的影响,从而该方法能够实现准确的销量预测。
图13为本发明实施例提供的一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)131、通信接口(Communications Interface)132、存储器(memory)133和总线134,其中,处理器131,通信接口132,存储器133通过总线134完成相互间的通信。通信接口132可以用于电子设备的信息传输。处理器131可以调用存储器133中的逻辑指令,以执行包括如下的方法:获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;将多个特征向量输入预设的人工神经网络模型,根据人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
此外,上述的存储器133中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明上述各方法实施例的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;将多个特征向量输入预设的人工神经网络模型,根据人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;其中,特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种SKU级别商品销量预测方法,其特征在于,包括:
获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;
将所述多个特征向量输入预设的人工神经网络模型,根据所述人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;
其中,所述特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;所述预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
2.根据权利要求1所述的SKU级别商品销量预测方法,其特征在于,所述历史窗口销量数据包括SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,相应地,进行特征提取,得到多个特征向量,包括:
对SKU商品历史窗口销量数据,和同产品ID商品历史窗口销量数据,分别采用一维因果卷积进行特征提取;
将卷积后的SKU商品历史窗口销量特征、同产品ID商品历史窗口销量特征,以及SKU商品历史窗口销量原始数据进行序列拼接,得到历史窗口销量数据的特征向量。
3.根据权利要求1所述的SKU级别商品销量预测方法,其特征在于,所述商品静态属性特征,包括商品SKU编号、产品ID、品牌编号、品牌类别编号和商品所属各级类目编号中至少一种,相应地,进行特征提取,得到多个特征向量,包括:
将每一商品静态属性特征,转换为独热码后,映射到低维的向量空间,得到所述商品静态属性特征的特征向量。
4.根据权利要求1所述的SKU级别商品销量预测方法,其特征在于,所述预测窗口动态特征,包括预测窗口的促销特征,相应地,进行特征提取,得到多个特征向量,包括:
将平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;
根据预测窗口的拼接后的向量,分别从预设的记忆网络中,获取对应的促销活动的嵌入表达向量;
根据所述促销活动的嵌入表达向量,从预设的记忆网络中,获取相似度最高的K个嵌入表达向量,和K个嵌入表达向量对应的K个归一化销量序列;
对于K个嵌入表达向量和所述促销活动的嵌入表达向量,根据相似度,计算注意力权重;
利用得到的注意力权重,对K个归一化销量序列进行加权池化,得到加权归一化销量序列,作为预测窗口动态特征对应的特征向量;
其中,K为大于或等于1的正整数。
5.根据权利要求4所述的SKU级别商品销量预测方法,其特征在于,所述将所述多个特征向量输入预设的人工神经网络模型之前,还包括:
获取多个历史窗口的销量数据,和对应的促销特征;
根据历史窗口促销特征中,平台是否处于促销状态的表征、平台的促销等级和SKU商品是否处于特卖排期的表征,分别映射到向量空间后进行拼接,得到拼接后向量;
将每个历史窗口促销特征的拼接后向量,输入多个GRU单元级联的GRU网络,得到每个历史窗口促销特征的向量表达;
根据历史窗口的销量数据建立归一化销量序列,将所述历史窗口促销特征的拼接后向量、历史窗口促销特征的向量表达和对应的归一化销量序列,存储在所述记忆网络中。
6.根据权利要求1所述的SKU级别商品销量预测方法,其特征在于,所述预测窗口动态特征,包括预测窗口的平台促销活动序列和预测窗口的产品促销活动序列,相应地,进行特征提取,得到多个特征向量,包括:
将预测窗口的平台促销活动序列,经卷积特征提取后,乘以平台促销活动天数,并乘以平台促销爆发系数,作为预测窗口的平台促销活动序列对应的特征向量;
将预测窗口的产品促销活动序列,经卷积特征提取后,乘以产品促销活动天数,并乘以产品促销爆发系数,作为预测窗口的产品促销活动序列对应的特征向量;
其中,所述平台促销爆发系数,反应平台有促销与无促销相比,销量的增长情况;所述商品促销爆发系数,反应商品有促销与无促销相比,销量的增长情况。
7.根据权利要求1所述的SKU级别商品销量预测方法,其特征在于,所述将所述多个特征向量输入预设的人工神经网络模型之前,还包括:
获取多个已知预测窗口销量结果的特征数据样本;
从特征数据样本中,筛选并剔除缺失销量数据的天数大于预设阈值的样本;
将剩余样本的预测窗口总销量作为标签,样本特征数据经特征提取后的特征向量作为输入,对人工神经网络模型进行训练,得到所述预设的人工神经网络模型。
8.一种SKU级别商品销量预测装置,其特征在于,包括:
特征提取模块,用于获取SKU商品的多种特征数据,分别进行特征提取,得到多个特征向量;
处理模块,用于将所述多个特征向量输入预设的人工神经网络模型,根据所述人工神经网络模型的输出结果,确定SKU商品预测窗口的总销量;
其中,所述特征数据包括,商品静态属性特征、历史窗口销量数据、预测窗口动态特征;所述预设的人工神经网络模型,根据已知预测窗口销量结果作为标签的特征数据,进行训练后得到。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述SKU级别商品销量预测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述SKU级别商品销量预测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381310.1A CN111160968A (zh) | 2019-12-27 | 2019-12-27 | Sku级别商品销量预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911381310.1A CN111160968A (zh) | 2019-12-27 | 2019-12-27 | Sku级别商品销量预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111160968A true CN111160968A (zh) | 2020-05-15 |
Family
ID=70558685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911381310.1A Pending CN111160968A (zh) | 2019-12-27 | 2019-12-27 | Sku级别商品销量预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160968A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652654A (zh) * | 2020-06-10 | 2020-09-11 | 创新奇智(南京)科技有限公司 | 销量预测及神经网络构建的方法、装置、设备、存储介质 |
CN111882358A (zh) * | 2020-07-30 | 2020-11-03 | 杭州翔毅科技有限公司 | 基于直播平台的数据管控方法、设备、存储介质及装置 |
CN111985967A (zh) * | 2020-08-17 | 2020-11-24 | 北京每日优鲜电子商务有限公司 | 物品信息生成方法、装置、电子设备和计算机可读介质 |
CN113283936A (zh) * | 2021-05-28 | 2021-08-20 | 深圳千岸科技股份有限公司 | 一种销量预测方法、销量预测装置及电子设备 |
CN113298546A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 销量预测方法及装置、商品处理方法及装置 |
CN113487359A (zh) * | 2021-07-12 | 2021-10-08 | 润联软件系统(深圳)有限公司 | 基于多模态特征的商品销量预测方法、装置及相关设备 |
CN113627846A (zh) * | 2021-08-10 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种库存调整方法、装置、电子设备及计算机可读介质 |
CN113643080A (zh) * | 2021-10-14 | 2021-11-12 | 南通腾宇环保设备有限公司 | 一种密封制品的营销对象匹配方法及系统 |
CN113781107A (zh) * | 2021-08-27 | 2021-12-10 | 湖州市吴兴区数字经济技术研究院 | 一种基于大数据的电商促销定价决策辅助方法及系统 |
CN113888235A (zh) * | 2021-10-22 | 2022-01-04 | 创优数字科技(广东)有限公司 | 一种销量预测模型的训练方法、销量预测方法及相关装置 |
CN113971471A (zh) * | 2020-07-22 | 2022-01-25 | 上海顺如丰来技术有限公司 | 产品信息预测模型构建方法与产品信息预测方法 |
CN115829629A (zh) * | 2022-12-16 | 2023-03-21 | 广州飞狮数字科技有限公司 | 一种畅滞销状态的确定方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038190A (zh) * | 2016-10-28 | 2017-08-11 | 厦门大学 | 一种应用于淘宝网的智能促销方案建模方法 |
CN109509030A (zh) * | 2018-11-15 | 2019-03-22 | 北京旷视科技有限公司 | 销量预测方法及其模型的训练方法、装置和电子系统 |
US10325285B1 (en) * | 2013-06-28 | 2019-06-18 | Groupon, Inc. | Predictive recommendation system |
CN109903064A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 销量预测方法、装置和计算机可读存储介质 |
-
2019
- 2019-12-27 CN CN201911381310.1A patent/CN111160968A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10325285B1 (en) * | 2013-06-28 | 2019-06-18 | Groupon, Inc. | Predictive recommendation system |
CN107038190A (zh) * | 2016-10-28 | 2017-08-11 | 厦门大学 | 一种应用于淘宝网的智能促销方案建模方法 |
CN109903064A (zh) * | 2017-12-08 | 2019-06-18 | 北京京东尚科信息技术有限公司 | 销量预测方法、装置和计算机可读存储介质 |
CN109509030A (zh) * | 2018-11-15 | 2019-03-22 | 北京旷视科技有限公司 | 销量预测方法及其模型的训练方法、装置和电子系统 |
Non-Patent Citations (2)
Title |
---|
姜艳梅: "基于数据挖掘的超市商品销量预测", pages 33 - 52 * |
孙菊剑 著: "《服装零售终端运营与管理》", 东华大学出版社, pages: 80 - 85 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298546A (zh) * | 2020-05-29 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 销量预测方法及装置、商品处理方法及装置 |
CN111652654A (zh) * | 2020-06-10 | 2020-09-11 | 创新奇智(南京)科技有限公司 | 销量预测及神经网络构建的方法、装置、设备、存储介质 |
CN113971471A (zh) * | 2020-07-22 | 2022-01-25 | 上海顺如丰来技术有限公司 | 产品信息预测模型构建方法与产品信息预测方法 |
CN111882358A (zh) * | 2020-07-30 | 2020-11-03 | 杭州翔毅科技有限公司 | 基于直播平台的数据管控方法、设备、存储介质及装置 |
CN111882358B (zh) * | 2020-07-30 | 2024-05-24 | 杭州翔毅科技有限公司 | 基于直播平台的数据管控方法、设备、存储介质及装置 |
CN111985967A (zh) * | 2020-08-17 | 2020-11-24 | 北京每日优鲜电子商务有限公司 | 物品信息生成方法、装置、电子设备和计算机可读介质 |
CN113283936A (zh) * | 2021-05-28 | 2021-08-20 | 深圳千岸科技股份有限公司 | 一种销量预测方法、销量预测装置及电子设备 |
CN113487359A (zh) * | 2021-07-12 | 2021-10-08 | 润联软件系统(深圳)有限公司 | 基于多模态特征的商品销量预测方法、装置及相关设备 |
CN113487359B (zh) * | 2021-07-12 | 2024-03-22 | 华润数字科技有限公司 | 基于多模态特征的商品销量预测方法、装置及相关设备 |
CN113627846A (zh) * | 2021-08-10 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种库存调整方法、装置、电子设备及计算机可读介质 |
CN113781107A (zh) * | 2021-08-27 | 2021-12-10 | 湖州市吴兴区数字经济技术研究院 | 一种基于大数据的电商促销定价决策辅助方法及系统 |
CN113643080A (zh) * | 2021-10-14 | 2021-11-12 | 南通腾宇环保设备有限公司 | 一种密封制品的营销对象匹配方法及系统 |
CN113888235B (zh) * | 2021-10-22 | 2022-07-08 | 创优数字科技(广东)有限公司 | 一种销量预测模型的训练方法、销量预测方法及相关装置 |
CN113888235A (zh) * | 2021-10-22 | 2022-01-04 | 创优数字科技(广东)有限公司 | 一种销量预测模型的训练方法、销量预测方法及相关装置 |
CN115829629A (zh) * | 2022-12-16 | 2023-03-21 | 广州飞狮数字科技有限公司 | 一种畅滞销状态的确定方法及装置 |
CN115829629B (zh) * | 2022-12-16 | 2023-12-08 | 广州飞狮数字科技有限公司 | 一种畅滞销状态的确定方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111160968A (zh) | Sku级别商品销量预测方法及装置 | |
CN111008858B (zh) | 一种商品销量预测方法及系统 | |
CN108648049B (zh) | 一种基于用户行为区别建模的序列推荐方法 | |
US20230018311A1 (en) | Systems and methods for quantity determinations without predicting out of stock events | |
AU2022211812A1 (en) | Method and system of dynamic model selection for time series forecasting | |
US20200051142A1 (en) | System and method for determining retail-business-rule coefficients from current prices | |
US20210125073A1 (en) | Method and system for individual demand forecasting | |
US20180349790A1 (en) | Time-Based Features and Moving Windows Sampling For Machine Learning | |
CN111695719A (zh) | 一种用户价值预测方法及系统 | |
CN110009432A (zh) | 一种个人消费行为预测方法 | |
CN114519610A (zh) | 信息预测方法以及装置 | |
WO2021077226A1 (en) | Method and system for individual demand forecasting | |
US20230306505A1 (en) | Extending finite rank deep kernel learning to forecasting over long time horizons | |
CN113850654A (zh) | 物品推荐模型的训练方法、物品筛选方法、装置和设备 | |
Liço et al. | Predicting customer behavior using prophet algorithm in A real time series Dataset | |
CN116167646A (zh) | 基于交易算法的评价方法、装置、设备及存储介质 | |
US11004156B2 (en) | Method and system for predicting and indexing probability of financial stress | |
CN113240359A (zh) | 一种应对外界重大变动的需求预测方法 | |
CA3059932A1 (en) | Method and system for individual demand forecasting | |
Tran et al. | Building a Lucy hybrid model for grocery sales forecasting based on time series | |
Rodrigues et al. | Forecasting demand in the clothing industry | |
US20230394512A1 (en) | Methods and systems for profit optimization | |
Sarvi | Predicting product sales in retail store chain | |
KR102567137B1 (ko) | 과거 일별 판매량 추정 및 미래 판매량 예측 모델 생성 방법 | |
Liu et al. | Intelligent modeling of abnormal demand forecasting for medical consumables in smart city |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |