论文部分内容阅读
随着当今互联网业务的不断发展,冲击着线下业务,给线下门店带来了巨大的挑战。诚然,线下商店仍然有存在的必要。其不仅可以让用户体验产品,全方位的了解一个新产品的性能,而且即便供应链和快递业如何发展,也没有线下门店可以让顾客即时收到货的优势。但是线下门店也承担着更多的费用,人力成本,门店租金等等。为了能够良好转型,也实现线下门店的长足发展,这时候急需我们用先进的思路更新旧有的线下销售模式,降低成本,提高收益。本文的目的主要是科学的预估不同商店内的不同产品的月销量,为线下门店预计订多少货品提供参考依据,以减少产品的积压,降低一定的库存成本。本文的研究过程中主要用了文献研究法、案例分析法以及机器学习等一些统计方法。阅读国内外文献上,从目前国内外学者研究情况来看,对于商品销售预测主要基于时序数据,建立时间序列模型,或者更先进一些的长短时记忆神经网络。但是对产品价格浮动,过去时间段内销量均值,产品类别等因素对销量的影响,目前研究不深;同时,目前研究涉及的模型包含一些机器学习的方法,如XGBoost,神经网络等等,主要是直接给出设定的参数值或者使用的参数默认值。本文还在特征的选择,参数的调整做出了努力。此外,还对几个单模型进行融合,查看效果。选取案例上,本文利用的数据是kaggle网站的比赛数据,这些数据信息真实有效。它包含着连锁商店34个月内各个商店各个产品的每天的销售量以及销售价格,还包含着商店及产品的ID等信息。本文通过初步的描述性统计结果来看,销量主要由一些大型商店贡献,故筛选总销售量前十五的商店进行研究,得到更多有效数据,使实验结果更有代表性。此外,还对数据的异常值进行了分析和剔除,本文主要用孤立森林的方法实现。进一步地,对数据进行特征工程,如产品价格的波动特征、产品销量的浮动特征、产品销量的滞后特征等。得到更多信息,提高建模结果,并可查看哪种变量对销量有着更大的影响。在建模过程中用了很多机器学习方法,并基于方法的假设要求对数据进行不同的处理。首先,利用CatBoost包建立CatBoost模型,查看各变量的重要性,发现年份月份、产品销量的历史值和均值、产品类别对销量有着重要影响。同时,用XGBoost包建立XGBoost模型,由于XGBoost模型不能自动处理分类型变量,本文数据中的变量类别过多,不能做哑元处理,故直接选择剔除所有分类型特征。建模发现发现商店的销量,产品的销售滞后特征对销量也有着影响。在建立,XGBoost和CatBoost模型时,也利用网格搜索确定学习率、最大树数等的参数选择。最后,使用机器学习包sklearn,建立随机森林、线性回归、k近邻模型。利用了网格搜索对随机森林的最大树深、树的数目等参数进行选择,并利用随机森林返回的变量重要性作为变量筛选依据,确定线性回归的入模变量。同样的利用网格搜素对k近邻模型的k值进行确定。综上几种模型可知,产品的价格以及浮动对产品的需求影响不大。对于线下门店的产品来说,顾客更关注产品本身,受价格影响不大;产品的过往销量很值得参考,一般来说产品之前的销量大,今后的销量也倾向于大;商店的总销售量对产品的销售量也有所影响,商店本身的销售额大,顾客多,人流旺盛,也可以促进相应产品的销量。通过以上的分析研究我们可以给予线下商店经营管理方面的建议:1.在考虑产品制造的产能和商店的库房规模和存放资金下,适当的增加销售量大的商店产品供应量。从几个模型来看,商店的各类商品平均销售额大,其下一期销量也倾向于高。每个商店只能出售自己已有的商品,在货物充足的情况下,某些商店的产品可能高于目前得到的数据,对一些大型商店,可以适当乐观估计销量,增大其配货。也可进一步增大客流,促进销售。2.对热销产品可以减少价格促销。从各模型返回的变量重要性来看,顾客对价格并不是很敏感,产品价格以及价格浮动这些变量的重要性均很低,甚至不作为入模的变量。可见,价格对销量影响并不明显,用户更关注产品本身。3.销量大小也与特定的时间有着明显的关系。从数据来看,年初和年末的销售量普遍高,故经营者可在这些时间区间内,加大人力投入,同时增大各产品货源供应,减少客户的遗失。4.Stacking融合模型的预测结果可以作为库存管理的一部分依据。通过结果可以看到模型预测结果的MAE仅为0.1多,与真实销量差距为0.1上下,预测结果还是比较准的,可以作为订货的参考。