“预测得不准!”是数据分析领域的终极难题了。讲预测的算法有一大堆,然后遇到现实基本上都被锤成渣渣,业务方怎么都不满意�? 到底该怎么破局?今天系统讲一下�? # 预测算法的本�? 从本质上看,预测算法只有 2 大类�? # 1、基于时间序列的�? 1、基于时间序列的。平滑:用于相对平稳的数据。自回归:用于趋势性递增、递减的数据。带季节因素自回归:用于有周期性波动的数据�?

时间序列的潜台词是:过去的走势,未来会重现。要做的是用过去的走势,做一个拟合函数,然后代入未来的时间,得出预测值。时间序列适合数据量少的情况,特别是只有一�?DAU/销售额/话产量数据的时候�? # 2、基于因果关系的�? 1 二分类问题:未来�?不会发生 XX,典型如 LR�? 多分类问题:未来�?ABC 哪个情况,典型如决策树�? 连续型问题:未来的数值是多少,典型如线性回归�?
销售收�?(Y) 营销投入 (X 1) 销售人�?(X 2)
235 25.4 160
238 25.7 163
256 27.5 166
264 29 169
271 29.5 172
273 29.6 175
289 31.1 178
298 31.8 181
305 32.7 184
310 34.1 187

Y=-90.16+5.55X 1+1.15X 2 R Square \(= 0.99\)

基于因果关系的潜台词是:基于 xx 因素,得�?xx 结果。要做的是收集影响因素,训练一个预测模型,然后代入未来的原因数据,得出结果数据�? 比如左边简单的线性回归例子,考虑营销投入与销售人员对销售收入的影响,计算出一个简单的预测公式,之后输入下一期营销投入/销售人员数据,即可得出结论�?

有可能建模的时候,不是一个模型包打天下,而是用二阶段建模。比如预测一个客群消费情况,可以分别用二分类模型预测会不会消费,再用连续型模型预测消费金额,这样会消费用户数*预测消费金额,就能得出总消费。这是典型的处理手法�? 书本上都是这么教的,然而为啥一遇到现实就被锤成渣渣了呢�? # 预测算法的难�? 因为:书本为了突出模型效果,刻意选择了质量好、数据全的数据集�? 现实中麻烦根本是远远不断�? 1、没数据。很多时候给到的待预测数据,就一行“每月总消费”,其他数据屁都没有…�? 2、还是没数据。很多公司隔着天猫、抖音、亚马逊,拿不到一手数据,只能用后台导出的一点点数据瞎倒腾…�?、就是没数据。大部分公司不是头腾阿这种垄断公司,只拿了非常片面的数据。最常见的,大部分公司的用户是花钱引流来的,用户只有一个手机号——一个优惠订单…�? 这导致了一个搞笑的情况:很多公司用因果关系类模型,影响最大的变量一定是促销力度。甚至用逐步回归法建模的话,促销力度的变量,能直接把其他变量都干掉。预测结果就变成了:促销力度越大,用户加入越多,购买越多�? 这种结果一丢出来,一准被业务评价为:“都 TM 是废话,我早知道了!�? 这就是现实中第二大麻烦:业务效果到底怎么衡量�? 比如预测销量是 1000 �? !业务做�?900 万,会说:预测得一点都不准,搞得货积压了!业务做到 1100 万,会说:预测得一点都不准,还是我厉害

总之,只要你不是 100%精准,他都有理由赖到你头上。甚至可以反复横跳。比如:“本来业务能达标的,看到预测说能达标,我们就省点投入,结果不达标了,都怪预测干扰了业务判断……�? 怎么破局呢?问题既然由人而生,当然还得在人这里解决。避免赌命式预测,从业务场景角度出发,剔除人为影响,才是破题关键�? # 用业务运作避免预测错�? 有些场景,能通过业务操作直接把问题消灭掉。这时候就直接用业务手段,不要建模�? 比如�? 场景 1:“销售数据很少,分布很散,如何预测销量?因为货物本身不耐储藏,多进货的话库存损失率会很高”——用团购呀!团购就是解决这个问题的�? 场景 2:“销售数据很少,少到无法计算价格弹性,业务方又想预测价格弹性,多赚钱”——用拍卖啊!拍卖就是干这个的�? 场景 3:“新品是全新款,没有数据,咋预测?”——做新品预售/粉丝凭码购买呀。饥饿营销就是干这个的�? 场景 4:“大促期间备货量如何预测?拿捏不准用户有多少需求?”—�?0 元定金,定金膨胀 3 倍抵用券,就是干这个的呀�? 几乎所有互联网营销模式,从小米到天猫到拼多多,其实都是在对抗因数据不足带来的备货难题。所以别光盯着人家的模型,人家的运营也学学�? # 用基础分析缩小预测范围

所有赌命式预测都有个共同点:一定要不高不低才算准。比如典型的预测销售业绩,如果实际�?1000 万,他非得要求预测到 1000 万才算准。这是模型被评价为“不准”的问题根源�? 回到业务场景中,其实大部分业务场景不需要这个级别的准确度。大部分时候,业务怕的是突然暴�?暴跌的场景。预测目标与其设定为:�?00%精准”,不如设定为:“是否暴�?暴跌超过业务消化能力”�? 预测 100%精准基本无解,但是发现哪里可能暴�?暴跌是很容易的。通过基础分析,把不稳定因素区分出来,能大大缩减预测问题的难度(如下图)�?

基础分析中,要区分的 5 大要�? 1. 周期型规律(X 循环一波)

  1. 趋势型规律(连续 X 天上�?下跌�?

  2. 事件型规律(下雨天业绩就是不好)

  3. 投入型规律(促销拉动业绩�?

  4. 分类型差异(谁是一直优秀/拉胯�? 有了基础分析后,一来能清楚影响业务

的主要因素,从而锁定预测变量;二来

能观察数据趋势,方分类模拟走势。按地、字�? 做好基础分析,拆分不稳定因素以后,也更方便挑选模型组合,解决问题(如下图)�?

有了基础分类后:

口规律性强的数据走势(季节、趋势、躺平的)用时间序列�? 口遭遇事件,根据历史经验举手动调整(没法预测事件长短,又不能登台学天求下雨,就只能手动调�? 口能找到关键影响因素的(一般是促销)就上因果关系预测模�? 这样在基础数据上做修正,会更接近业务实际情况,也便于指导业务工作。如果不同类型差异太大,可以分开下不同模型。按地气字堂

用滚动式预测代替长期预测

所有的赌命式预测,预测时间周期都很长。长则一年,短也有一个月。赌的时间太长,前期能收集的数据很少,也无法把业务部门各种中间操作反映出来,因此非常被动�? 用滚动预测能很大程度弥补这个缺点。通过�?周滚动预测,既能补充数据缺失,又能反映业务方临时调整带来的效果,一举两得(如下图)�?

滚动预测一般分三个阶段盲测阶段:新品未上线/没有预订货,只能凭历史经验盲测,这个阶段肯定准确度不高,只能做定性判断(爆款/非爆款)滚动开始:预订�?第一批实际销售开始,这个阶段有数据回流,能立即修正定性预测对错,并且业务方逐步开始行动,可以把行动(因果关系预测)纳入考虑局势明朗:一般在接近生命周期中期的时候,数据已稳定,可以用规律性数据模拟(时间序列模拟)来预测�? # 用户买定离手模式保护自己

一个好问题+滚动预测,基本上能满足实际工作需求。但作为做预测的人,得学会保护自己,避免业务方反复横条,瞎胡甩锅�? 买定离手法是很好办法。预测结果给出以后,卖定离手,所有相关业务方不再质疑预测结果,而是基于预测结果做叠加�? 谁觉得预测少了,谁自己写请示申请额外货物,并且留下书面证据。到时候是预测得不准,还是业务自己申请多了所以卖不动,看得一清二楚(如下图)�?

买定离手是一个解决用锅问题的终极方法。就是区分出:哪些结果是业务自己做偏离的,哪些是预料之中的,对于业务要加/要减的部门留下字据,事后追责的时候一清二楚。注意,如果业务总能做到超过预测,那表功的时候也是有据可查的。这样能反向,推动业务来合作。让业务围绕预测结果做文章,更显得自己有本事。实现互和共�? # 再深层的看预测问�? 预测问题的背后,是一个很深层的业务问题:在很多公司,库存积压的损失是直观可见的,货都烂在货仓里。但缺货损失的潜在销量,却没有认真统计,想统计缺货损失很容易,可以让客户交定金预约,可以让客户登记需求量和需求时间。但很多公司业务要么懒,要么蠢,要么不想担责任,总之是没有做�? 预售、团购、饥饿营销、订金膨胀、缺货登记……所有的业务手段,需要的不但是运营能力,更需要系统建设支持。显然,对业务来说,比起搞这些系统建设和复杂的运营手段,还是直接甩锅给“模型预测不准”更轻松。因此你要是直接问业务预测需求,他们都会倾向于“不高不低刚刚好”的赌命式预测�? 但显然这对数据分析师是不公平的。既然潜在损失无法衡量,现实积压是直观可见的,因此作为数据分析师只要顾好积压损失就能立功。所以才有了以上种种操作办法�? 写到这,肯定有很多同学想看具体的操作案例,感兴趣的话,本篇集�?60 在看,下一篇我们来分享一个案例哦,敬请期待�