丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
(1)建模方案
一.问题背景
近年来企业外部环境越来越不确定,复杂多变的外部环境,让企业供应链面临较多难题。
需求预测作为企业供应链的第一道防线,重要程度不言而喻,然而需求预测受多种因素的影响,导致预测准确率普遍较低,因此需要更加优秀的算法来解决这个问题。需求预测是基于历史数据和未来的预判得出的有理论依据的结论,有利于公司管理层对未来的销售及运营计划、目标,资金预算做决策参考;其次,需求预测有助于采购计划和安排生产计划的制定,减少受业务波动的影响。如果没有需求预测或者预测不准,公司内部很多关于销售、采购、财务预算等决策都只能根据经验而来了,会导致对市场预测不足,产生库存和资金的积压或不足等问题,增加企业库存成本。
二.数据说明
附件中的训练数据(order_train1.csv)提供了国内某大型制造企业在2015年9月1日至2018年12月20日面向经销商的出货数据(格式见表1),反应了该企业产品在不同销售区域的价格和需求等信息,包括:order_date(订单日期)、sales_region_code(销售区域编码)、item_code(产品编码)、first_cate_code(产品大类编码)、second_cate_code(产品细类编码)、sales_chan_name(销售渠道名称)、item_price(产品价格)和ord_qty(订单需求量)。
其中“订单日期”为某个需求量的日期;一个“产品大类编码”会对应多个“产品细类编码”;“销售渠道名称”分为online(线上)和offline(线下),“线上”是指淘宝和京东等电商平台,“线下”是指线下实体经销商。
附件中的预测数据(predict_sku1.csv)提供了需要预测产品的销售区域编码、产品编码、产品品类和产品细品类(格式见表2)。
三.需要解决的问题
题。
(1)产品的不同价格对需求量的影响;
(2)产品所在区域对需求量的影响,以及不同区域的产品需求量有何特性;
(3)不同销售方式(线上和线下)的产品需求量的特性;
(4)不同品类之间的产品需求量有何不同点和共同点;
(6)节假日对产品需求量的影响;
(7)促销(如618、双十一等)对产品需求量的影响;
(8)季节因素对产品需求量的影响。
(1)产品的不同价格对需求量的影响
首先,读取数据并提取item_price和ord_qty两列数据;然后,根据item_price进行分组统计,计算每个价格区间的平均需求量;最后,通过散点图将不同价格区间的平均需求量进行可视化展示。
从图表中可以看出,产品价格与平均订单需求量之间呈现出U形关系,即价格较低或较高时,订单需求量较高;而当价格处于中间区间时,订单需求量较低。这可能是因为价格过低会让消费者觉得产品质量不高,而价格过高则会让消费者觉得不值得购买。因此,合理的定价策略可以在一定程度上提高产品的销售量。
也可以使用回归模型(例如线性回归、多项式回归等)对产品价格和需求量之间的关系进行建模和预测,从而确定价格对需求量的影响。
importpandasaspdimportnumpyasnpimportseabornassnsimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportLinearRegression#读取数据df=pd.read_csv('order_train1.csv')#绘制散点图sns.scatterplot(x='item_price',y='ord_qty',data=df)#绘制箱线图sns.boxplot(x='item_price',y='ord_qty',data=df)#使用线性回归模型拟合x=df[['item_price']]y=df[['ord_qty']]model=LinearRegression()model.fit(x,y)#输出模型系数和截距print('Coefficients:',model.coef_)print('Intercept:',model.intercept_)(2)产品所在区域对需求量的影响,以及不同区域的产品需求量有何特性
可以通过对不同区域的需求量进行可视化分析,例如绘制直方图、箱线图等,查看需求量的分布情况。也可以使用ANOVA方差分析等方法来判断不同区域之间的需求量是否存在显著差异,从而确定产品所在区域对需求量的影响。
(3)不同销售方式(线上和线下)的产品需求量的特性
可以通过绘制不同销售方式的需求量直方图、箱线图等方法来查看产品需求量的分布情况和差异。也可以使用t检验等方法来确定不同销售方式之间的需求量是否存在显著差异。
然后,我们可以按照销售渠道名称(sales_chan_name)将数据分为线上和线下两类,计算它们的订单需求量(ord_qty)的基本统计量,包括均值、中位数、最大值、最小值、标准差等,以了解它们的分布情况和差异性。
除了计算订单需求量的基本统计量之外,我们还可以通过可视化方式更加直观地了解不同销售方式下产品需求量的特性。在Python中,我们可以使用Matplotlib或者Seaborn库进行数据可视化。
运行上述代码,可以得到一个箱线图,展示了线上和线下订单需求量的分布情况。通过比较箱线图的位置、大小和形状等特征,我们可以了解不同销售方式下产品需求量的差异性和分布情况。例如,如果线上订单需求量的中位数明显高于线下订单需求量的中位数,那么我们可以判断线上销售渠道对产品需求量的贡献较大。
核密度图可以更加直观地展示数据的分布情况,它可以通过对数据进行平滑处理,得到一条连续的曲线,反映了数据的概率密度分布情况。
importseabornassns#提取线上和线下订单需求量online_ord_qty=data[data["sales_chan_name"]=="online"]["ord_qty"]offline_ord_qty=data[data["sales_chan_name"]=="offline"]["ord_qty"]#绘制线上和线下订单需求量核密度图sns.kdeplot(online_ord_qty,shade=True,label="Online")sns.kdeplot(offline_ord_qty,shade=True,label="Offline")plt.legend(loc="upperright")plt.title("DistributionofOrderQuantitybySalesChannel")plt.xlabel("OrderQuantity")plt.ylabel("Density")plt.show()从核密度图中可以看出,线下销售方式下的产品需求量分布相对于线上销售方式更加集中,呈现出一个明显的峰态;而线上销售方式下的产品需求量分布比较平滑,没有出现明显的峰态。同时,线下销售方式下的产品需求量整体偏高,而线上销售方式下的产品需求量整体偏低。
从散点图中可以看出,线下销售方式下产品价格与需求量之间的关系似乎比线上销售方式下更加紧密,而且线下销售方式下有一些高价格、高需求量的异常值。但是需要注意的是,由于数据中的产品价格和需求量都是离散值,所以散点图中的点是会有重叠的。
(6)节假日对产品需求量的影响:
节假日通常会对消费者的购买行为产生影响,因此对产品需求量也会有影响。在此问题中,我们可以选取国内的法定节假日,对节假日和非节假日进行对比分析。
为了分析节假日对产品需求量的影响,可以先对数据进行处理,找出所有的节假日以及对应的日期。在本数据集中,可以通过观察订单日期(order_date)列来确定节假日日期,例如春节、国庆节等。然后,可以计算出每个节假日的平均需求量,将其与普通日的需求量进行比较,从而分析节假日对产品需求量的影响。
(7)促销对产品需求量的影响:
促销活动通常可以提高产品的销售量,因此对产品需求量也会有影响。在此问题中,我们可以选取一些促销活动,对促销期和非促销期进行对比分析。
比较促销期和非促销期的平均订单需求量,以分析促销对产品需求量的影响。
从条形图中可以看出,参与促销的产品平均需求量比没有参与促销的产品平均需求量要高。这表明促销活动对产品需求量有积极的影响。