1. 引言
随着互联网的发展,网民的数量日益增加,随之兴起的电商行业无疑是互联网下最大的受益者之一。近年来,这也几乎成为了大家购物方式的首选,在电商行业兴起的同时,行业的竞争也越来越大,相对于传统的零售商,电商公司对于数据的依赖性更强,关联性更高。对于每个电商公司,业绩无疑是公司最关心的指标,特别是在秒杀活动时的业绩预测,为了研究这一课题,本文将通过A跨境电商公司的现有数据来预测秒杀活动的业绩。
2. 文献综述
近年来,随着神经网络的快速发展,越来越多的学者开始结合神经网络的方法运用到各个领域上,其中就包括商品的销量预测。上世纪90年代初,国外学者Mary [1] 和Moody [2] 就已经应用神经网络进行经济预测,而在 90 年代末,国内学者范宏等 [3] 和董景荣 [4] 等也开始利用神经网络模型对商品销量进行预测。并通过结果证明神经网络极强的非线性逼近能力能够很好地针对于商品销量问题进行预测。近几年,许多国内学者依旧热衷于使用神经网络模型进行预测:翁莹晶和冯慧斌 [5] 则基于BP神经网络对网店销量进行预测。2006年,Hinton [6] 缓解了局部最优解问题,使得神经网络真正拥有了“深度”,由此深度学习神经网络逐渐被应用于销量预测研究中。如钊魁 [7] 从原始结构化数据中通过卷积神经网络自动提取有效特征,并利用该方法实现商品销量预测,最终通过电商数据集验证了算法的有效性;刘晶 [8] 等应用深度学习算法构建了涉农电商销量预测模型——皇冠模型,有效实现了涉农电子商务销量预测;王渊明 [9] 则是使用随机梯度下降作为监督学习的训练方法来构建LSTM神经网络,并比较BP和该模型在预测商品未来销量的表现,证明得出LSTM神经网络存在一定自适应性,更适合电商行业的销量预测。
虽然神经网络在电商行业的应用越来越多,但是对于秒杀活动的运用,目前还是比较空白的,这是因为神经网络需要足够多的数据作为训练这一特性导致的,本文将会通过处理原始数据,构造足够多的数据来进行神经网络的训练,并观察BP神经网络模型预测的准确性。
3. 方法
BP神经网络
BP (Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科研小组提出 [10],随着神经网络的发展,BP神经网络的理论也不断的进行改进和更新,已经成为了应用最广泛的神经网络模型之一。
神经网络模仿人类的神经元激活、传递过程。以三层神经网络为例,BP神经网络含输入层、隐含层、输出层三层结构。输入层接收数据,输出层输出数据,前一层神经元连接到下一层神经元,收集上一层神经元传递来的信息,经过“激活”把值传递给下一层。如图1,从左往右分别是输入层(Input),隐含层(Hidden),输出层(Output)。

Figure 1. BP neural network structure diagram
图1. BP神经网络结构图
每个神经元会先累积各个神经元的刺激,然后通过激活函数激活之后传递到下一层的神经元,过程如图2。

Figure 2. Neuron input and output diagram
图2. 神经元输入和输出图
已经知道在BP神经网络模型中,我们有三层结构,输入层、隐藏层、输出层,输入层到隐藏层的权值,设为
,偏置为
,那么每个隐藏层的神经元的输入和输出分别为:
前向传播的过程结束了,接下来是BP的过程。BP神经网络先给所有参数一个随机值,然后通过设定的误差函数,采用Gradient Descent的方法从后往前更新神经网络的所有参数。设定所有的参数向量为
,其中
表示权重,
表示偏置,误差函数为
,误差函数对每个参数的偏导向量为:
然后更新参数向量:
4. 选取数据
由于是对秒杀活动的业绩做预测,选取公司数据库中在活动期间的所有订单表的数据,订单表记录每个客户的邮箱、订单的时间、订单号、订单金额等多个变量的数据,我们选取此次活动和一次活动形式和活动时间都与此次活动类似的秒杀活动进行模型的搭建,数据选取关于订单时间和订单金额的所有数据。
5. 数据处理
不过秒杀活动时期的业绩预测与平时的业绩预测不同,由于秒杀活动的持续时间一般较短,可用于预测的数据量很少,其次,秒杀期间可用于预测的数据维度少,很多数据在活动进行的期间不好获取,而想用活动开始前的数据进行预测,样本量又变成了一个大问题,没有足够的秒杀活动数据用于建模预测,在诸多困难和限制下,选择将数据库的所有订单数据经过数据处理之后,运用BP神经网络模型进行预测。
为了预测业绩的实时变化,我们选取累计的业绩值作为模型的输出,因为秒杀活动时间短,为了得到足够多的数据,选择将订单时间按每分钟切片,这样就能拥有足够多的样本量进行BP神经网络的训练,然后将每分钟的订单金额求和,得到每分钟的业绩值,再将每分钟业绩值按时间累计,得到每分钟的累计业绩值,也就将原始数据处理成为了一个变成了一个递增的时序数据。
6. 实证分析
选取整个活动的中间某阶段的1000个数据作为训练集来训练网络,然后用来预测之后500分钟的业绩。将训练集的数据划分10%作为验证集,由于数据集比较简单,就搭建了一个三层的全连接神经网络,激活函数选用relu函数,最后再添加一个dropout层防止过拟合,误差函数选用均方误差,如图3所示,是神经网络每次更新参数后的训练集和验证集误差函数的值的变化曲线,两者都快速下降并趋于稳定。
图4是预测值和真实值的趋势对比,可以观察到,两者还是比较接近的,预测的准确度还是不错的,向后500分钟的预测也算是一个比较不错的时间长度了。这能很大程度上指导决策,当然,如果有必要,这个预测的时间长度还可以增加。

Figure 4. Comparison of predicted and true values
图4. 预测值与真实值对比图
为了更加全面的评定BP神经网络模型的准确性,我们将这个模型运用到整个活动数据集,为了使得该模型更加精准,我们选择使用前500分钟预测后200分钟的形式,依次往下预测,最后对整个活动进行一次预测的全局展示,如图5。可以看到,整体而言,这个预测效果还是很不错的,不过中间有一小段不太准确的地方,观察数据后发现,这一小段数据的差异是因为在这次活动的那个时间段加入了邮件营销的环节,导致业绩迎来了一个小突增。

Figure 5. BP neural network prediction global comparison chart
图5. BP神经网络预测全局对比图
7. 结论
由于数据的局限性和预测任务的特殊性,将原始数据经过一系列处理后,运用BP神经网络模型进行建模和预测,可以看出,BP神经网络模型的预测效果还是很好的,因为是时序数据,可能很多人会想到LSTM等处理时序数据的神经网络模型,但是LSTM需要较多的数据构造训练集,且运算速度较慢,最大的问题是对于多步长的预测不够精确,没办法进行多时间步长的预测,这也就完全限制了LSTM神经网络在这一预测任务的发挥。通过这个实时预测的模型去预测公司秒杀活动每分钟的业绩,还可以起到预警的作用,对公司的决策是有比较大的帮助的,事实上,公司也运用此模型在五月的秒杀活动中发现了业绩降低的趋势,之后通过邮件营销和加大折扣力度提高了业绩和售罄率,避免了库存的积压。
NOTES
*通讯作者。