Menu

大数据学院

ArchSummit|技术大咖告诉你离精准销售预测还有多远?

大数据变得越来越重要,其核心应用预测也成为互联网行业以及产业变革的重要力量。我们可以看到,利用大数据进行预测几乎成为所有领域的关键,不管是科技、商业、财经、体育赛事,还是政治大选。


其中,跟企业业务相关的销售预测,是完善客户需求管理、指导运营以提高企业利润为最终目的商业问题,因而更为复杂。


单纯从模型角度来说,做到精准预测很容易,但是结合业务提高企业利润却很难。预测精确性是核心痛点:离精准预测还有多远?


我们很有必要对销售预测及其分析方法进行全面且深入的了解,结合实践中的几个坑来分析,试图达到精准预测这个终极目标。

第一个坑:机器学习的幻想

机器学习是一个常用的预测类分析,它可以从海量数据中挖据出规律。但机器学习不是万能的,一方面,机器学习具有应用场景局限性。销售预测要结合业务场景,还要和供应链对接,目的不是为提高销量,而是为增加企业利润而做。

举个栗子,ZARA销售预测为服装业界所称道,还没有第二家超越它。细细看来,ZARA的产品可以粗略分为两种: 基本款和时装,对应的,ZARA在它的新货构成中,65%计划生产,35%机动调整。


基本款例如白T恤、男衬衣、男女西装等,款式很少变化而且需求比较稳定。这类产品对应上述的“基础性产品”的概念。只要有足够的安全库存,这类产品基本不会缺货。应为这种产品建立以降低成本为目标的库存策略。

但这35%之前是靠遍布全欧洲的买手来提供创意、设计,而现在这一切则依靠大数据预测来实现。

新款时装推出的时候,并没有以往的销售数据,产品的需求是相对难以预测的。如果ZARA盲目给新产品预备大量的货,有可能新产品其实并不受欢迎导致严重滞销;相反,备货过少,则可能造成严重缺货而失去大量销售额。要解决这个困境,比博弈更靠谱的方法就是提高供应链的快速反应能力。

除了设计外,非常关键的一点是:ZARA全部自营店的管理方针,可以做到从设计、数据采集、到铺货完全贯彻以客户导向,将前后端紧密相连(O2O),通过销售数据随时调整生产运营的手法。

另一方面,机器学习关注的与销售有关的相关因素,利用各因素之间的相关性对未来销售进行预测,而不基于因果关系。


比如,2009年Google通过搜索引擎里面的关键词检索日志的时间序列数据,成功预测了流感爆发的时间和规模。Google并不是利用流感产生的原因等相关数据,而是跟流感爆发的相关性数据,比如人们对“流感”的搜索频率等。但是到了2012年,发生了一些变化,是因为将搜索数据进行了过度关联。


同样,基于机器学习对商品的销量的预测,是利用与商品销量相关的数据集来完成预测,其预测结果无法告知客户:通过调整什么样的参数可以使销量增加,因为这是因果分析的范畴。

第二个坑:忽略数据是销售预测的核心

1.无数据或数据质量低,会影响模型预测效果。业界流行一句话:沙子进来沙子出,金子进来金子出。对数据要进行收集,搜集除已有数据之外的额外信息(比如天气、地点、节假日、金融政策、风俗等),再在搜集的数据基础上进行预处理。


2.同时也是模型选择的先决条件,先数据,后模型。对于一些客户想先把算法的效果给他们看的要求只能说“臣妾做不到啊!”

比如百分点在一个电商预测模型中,梳理出六大维度70多个指标。再比如Zara的每款产品都有标签,哪个门店售卖、什么时间卖的、是不是会员卖的、卖的什么类型的衣服都有详细的产品明细,这样对于他们后续作分析是很有帮助的,例如哪个时间段购买的人最多,哪几个衣服放在一起比较好卖,哪个地段哪个款式比较受欢迎(是不是跟周边的写字楼or住宅楼有关系)等等一切,这些都可以通过数据直接看到。

第三个坑:LOST在算法里,与业务匹配的模型才是好模型

算法问题要回归到业务问题,作为指导建模的理论基础。现在的预测模型都是场景性、定制化开发的,尚未出现一个成熟的产品,都要先结合业务测试,再选模型。但每个模型都用一遍也会浪费大量的时间和精力,这里根据经验推荐一些适合的方法。


(1)ARIMA,一般应用在股票和电商销量领域。

ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后将结果变量做自回归(AR)和自平移(MA)。



(2)逻辑回归,是在线性回归的基础上套用了逻辑函数,主要用于分类和回归问题。



(3)决策树,由内结点和叶结点所组成的树形结构,用于分类或回归问题,一般有三个部分组成:特征选择、决策树生成和决策树剪枝。

原理简介:

Ø   通过训练数据,形成if-then规则集合

Ø   由根节点到叶节点的每一条路径构成规则

Ø   对结果变量有主要解释作用的特征会先分裂形成规则

Ø   回归树用平方误差最小化准则,节结点为单元内数值的平均值

优点:

Ø   可拟合非线性规律,计算复杂度较低

缺点:

Ø   容易出现过拟合

(4)随机森林:

用随机的方式建立一个森林,森林由很多决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类;

原理简介:

Ø   是包含多个回归树的组合器

Ø   输出的数值是由个别树输出的数值的平均而定

优点:

Ø   准确度高

Ø   训练速度快

Ø   容易做出并行算法

Ø   可处理大量变量并评估变量重要性

缺点:

Ø   在噪声较大的数据上会有过拟合问题

(5)xgboost:

xgboost的全称是eXtreme Gradient Boosting。它是Gradient Boosting Machine(GBM是一个加性回归模型,通过boosting迭代的构造一组弱学习器)的一个c++实现。创建之由为受制于现有库的计算速度和精度,xgboost最大的特点在于,它能够自动利用CPU的多线程进行并行,同时在算法上加以改进提高了精度。不同于传统的GBDT方式,只利用了一阶的导数信息,xgboost对损失函数做了二阶泰勒展开,并在目标函数之外加入了正则项整体求最优解,用以权衡目标函数的下降和模型的复杂程度,避免过拟合。

原理简介:

Ø  是基于传统的GBDT上做了一些优化的开源工具包,目前有python,R,Java版。

优点:

Ø  高速准确

Ø  可移植,可以自己定义假设函数

Ø  可容错

(6)神经网络:神经网络是指模型生物神经网络,用于分类和回归问题。通常包含有:输入层、隐藏层和输出层。

原理简介:

Ø 是利用一系列非线性回归,将预测变量映射到结果变量的一种方法。

优点:

Ø 准确度高

Ø 训练速度快

Ø 并行处理能力强

缺点:

Ø 需要大量的参数

Ø 不能观察学习的过程,对结果难以解释


(7)支持向量回归(SVR)



SVR最本质与SVM类似,都有一个margin,只不过SVM的margin是把两种类型分开,而SVR的margin是指里面的数据不会对回归有任何帮助。



原理简介:

  • 是通过寻求结构化风险最小来提高学习泛化能力,实现经验风险和置信范围最小化,从而达到获得良好统计规律的目的

优点:

  • 可以解决小样本情况下的机器学习问题

  • 可以解决高维、非线性问题

缺点:

  • 对非线性问题没有通用解决方案,对核函数的选择非常敏感


第四个坑:评价效果唯销量论


评估效果不能只看销量,要综合考虑,需要参考业务对接、预测精度、模型可解释性和产业链整体能力等因素综合考虑;不能简单作为企业利润增加的唯一标准。我们的经验是,预测结果仅作为参考一个权重值,还需要专家意见,按照一定的权重来计算。

专家预测法: 由专家根据他们的经验和判断能力对待定产品的未来销售进行判断和预测,通常有三种不同的形式:


(1)个别专家法:分别向每位专家征求对本企业产品未来销售情况的个人意见,然后将这些意见再加以综合分析,确定预测值。

(2)将专家分成小组:运用专家们的集体智慧进行判断预测的方法。

(3)德尔菲法:它采用函询的方式,征求各方面专家的意见,各专家在互不通气的情况下,根据自己的观点和方法进行预测,然后由企业把各个专家的意见汇集在一起,通过不记名方式反馈给各位专家,请他们参考别人的意见修正本人原来的判断,如此反复数次,最终确定预测结果。


四、总结:


销售预测的方法选择取决于:预测的目的、预测的期数(根据预测时间的长短,可以分为短期预测、中期预测和长期预测。



从上图可以看出,在此案例中,xgboost和随机森林算法模型的预测效果较好,其中运用xgboost方法预测某商品的销量,其可视化图形如下:




可以看出,销量的预测值的趋势已经基本与真实销量趋势保持一致,但是在预测期较长的区间段,其预测值与真实值之间的差别较大。除了以上列举的一些预测方法,百分点已经在尝试使用更复杂的模型来做销售预测,如HMM、深度学习(Long Short-Term Memory网络)等;同时,也需要考虑到模型的可解释性、模型的可落地性和可扩展性、避免“黑箱”预测;还在尝试采用混合的机器学习模型,比如GLM+SVR,ARIMA + NNET等。



最后,销售预测几乎是商业智能研究的终极问题,纵使通过机器学习算法模型能够提高测试集的预测精度,但是对于未来数据集的预测,想做到精准预测以使企业利润最大化,还需要考虑机器学习模型之外的企业本身因素。比如,企业的整体供应链能力等,如何将企业因素加入到机器学习模型之中,是未来预销售预测的一个难点与方向。因此,要想解决销售预测终极问题还有一段路要走。