**作者:**罗应琏(北京维艾思气象信息科技有限公司),朱珊(中山大学华南统计科学研究中心) ,何顺(中山大学华南统计科学研究中心),周翔(中山大学华南统计科学研究中心),李昶(北京维艾思气象信息科技有限公司) ,王学钦(中山大学华南统计科学研究中心)

摘要:自建国以来我国的气象系统已经十分完备,2015年中国气象局发布27号令后使得气象数据迈向开放数据(Open Data)新阶段,行业与公众可以使用海量气象数据助力企业,目前行业数据和海量气象数据还没有得到完全应用。本文主要研究气象数据对销售的影响,进而利用气象数据特性完成天气驱动行业销售的预测。我们以两个零售行业的销售数据为例,结合气象局提供的天气数据进行分析。同时,我们在分析中加入了经济因素,如上证指数和CPI数据来提供外部环境支持。与传统的预测不同,在气象数据中,我们不仅知道目前时间点的数据,也有目前公众唾手可得的未来七天精确天气预报。我们采用目前流行的机器学习算法随机森林来建模,得到了很好的泛化结果。我们的预测模型可以解决销售行业传统通过从业人员的主观判断进行销售预测的局限,利用大数据分析实现更加精确可靠的指导。

关键词:气象数据、销售预测、随机森林、大数据分析

一、业务介绍

天气一直是指导人们生活的重要因素,德国知名的经济议题观察家弗里德黑姆˙施瓦茨(Friedhelm Schwarz)发表的著作《气候经济学》^[施瓦茨. 气候经济学[M]. 气象出版社, 2012.]提到地球上有80%的经济活动都是由于天气因素影响甚至决定的,如:农作物受寒害影响收成及市场价格、凉夏造成冰品销售下降、暖冬缩短羽绒服销售时间、出行航班受天气影响延误以及所有的户外活动等。目前我国(除西部部分人口稀少的区域)的气象系统已经十分完善,气象观测网络从在轨卫星、雷达、高空气球、地面观测站点(降水、风速、风向、相对湿度、大气压力、气温)到地下的农业观测站(土壤墒情:土表下的温度、湿度等),民众可以通过过互联网或智能手机直接了解天气预报。目前积累起来的气象数据量也十分庞大(每年以PB等级的速度增长),但是目前这些数据还没有得到充分的应用。下面我们将阐述利用行业数据和气象数据进行销售预测、使用天气规划营销活动的全过程。

在销售领域,气象一直是一个十分重要的影响因素。人们根据天气来情况来决定购买的衣服,所吃的食物,甚至是饮用的饮品,特别是对于酒精性饮料和羽绒服非常直观受天气影响的零售商品,天气对其销量起了重要作用。因此相关从业人员会十分关注天气预报,并根据天气来进行产品设计、营销方案、采购与销售等行为的决策。但是这种做法只是根据从业人员的经验进行判断,结果十分主观,容易导致偏差而做出错误的产销计划(SOP: Sales & Operation Planning),因此如何利用行业数据、气象数据与其他公众数据进行精确的数字化销售预测是行业研究的热点,而业务受天气等外部环境因素驱动的关联性与因果性研究落成精准营销也是本文强调的重点。

气象的观测体系是由庞大的物联网(IOT: Internet of Things)构架而成,每分钟都在监测相关天气要素(风速、风向、温度、相对湿度、大气压力、降水等),协同全世界各国的观测网络,同时结合地球科学、大气物理、流体力学等专业知识,通过大型计算机技术完成数值天气预报(Numerical Weather Prediction)。目前的预报模式提供给公众的时间长度为15天,48小时内为逐小时预报,后续为逐日预报。由于观测体系的完备以及计算技术能力的大幅提升,预报的精细度也已经达到平方公里涵盖以及分钟级别,天气预报在一定的时间周期内已经相当成熟且具有高准确度。我们透过行业数据与气象历史数据进行相关性分析确立结果后,根据业务影响关系、数据同比影响等特性,低风险地进行因果性验证。天气数据有可靠的预报准确度,是气象数据可以作为天气驱动行业大数据分析的最大特点。

本文主要研究两项容易受天气因素驱动(影响)的销售预测问题,业务形态特别选取B2B(Business to Business)与B2C(Business to Customer)两种目前多数的业务类型:酒精性饮料的渠道销售预测以及电商平台的羽绒服销量预测。酒精性饮料的销量由很多因素影响,Lee et al.和Rojas et al.研究了广告对酒精性饮料销量的影响^[Byunglak Lee, Victor J. Tremblay. Advertising and the U.S. Market Demand for Beer.[J]. Applied Economics, 1992, 24(1):69-76.] ^[Rojas C, Peterson E B. Demand for differentiated products: Price and advertising evidence from the U.S. beer market [J]. International Journal of Industrial Organization, 2008, 26(1):288-307.],Voleti et al.和Empen et al.研究了品牌资产对于酒精性饮料销量的影响^[Voleti S, Ghosh P. A non-parametric model of residual brand equity in hierarchical branding structures with application to US beer data[J]. Journal of the Royal Statistical Society, 2014, 177(1):135–152.] ^[Empen J, Hamilton S F. How Do SUPERMARKETS RESPOND TO BRAND-LEVEL DEMAND SHOCKS? EVIDENCE FROM THE GERMAN BEER MARKET[J]. American Journal of Agricultural Economics, 2013, 95(5):1223-1229.]。而在酒精性饮料行业中,还有一个公认对酒精性饮料销量影响极大的指标:天气。2015年我国酒精性饮料行业整体销量下滑,很多人都归因于2015年整体气温偏低的。一般酒精性饮料销量呈现季节性变化,天气寒冷的时候消费者对于酒精性饮料的需求会下降,销量会比较低;而在天气炎热的时候,酒精性饮料的销量会明显增高;本项目不考虑终端零售数据,仅研究酒精性饮料的渠道销售情况是否受天气所驱动,也就是各阶层的渠道商实际销售情况是否受天气影响。

对于羽绒服来说,天气的影响更加明显。从生活经验来看,人们主要是在冬天购买羽绒服,而夏天基本上不会有商家出售羽绒服。中国气象局公共气象服务中心和凡客诚品等公司合作利用气象数据进行羽绒服销量的研究,仅利用平均温度的三次多项式方程就得到了比较准确的结果(刘一伶等^[刘一伶, 杜春生, 张辉. 羽绒服销量预测模型及其商业应用研究[J]. 现代经济信息, 2012(19):175-176.]),这表明天气的确对羽绒服的销量有十分重要的影响。

在不同的地区,天气对销量的影响也有明显区别。在中国北方地区,四季很明显,换季时时间间隔比较分明,因此人们能快速地根据气温变化进行反应。中国南方地区的换季却十分反复,经常会出现冬天穿夏装的情况,整体湿度也偏高,因此人们根据季节变化和气温变化进行的反应会和北方有很大差别。本文在研究天气对销量的影响时,会分城市进行分析,发现不同城市中天气对销量的影响规律。

二、数据描述

(一)酒精性饮料销售数据描述

我们的酒精性饮料销售数据来源于某知名酒精性饮料公司渠道销售数据,采集来源为ERP(Enterprise Resource Planning)系统的一级渠道销售数据:销售订单(Sales Order)与对应的提货单(Delivery Note)以及经销商Go-To-Market系统的销售二级渠道数据。数据为2013年至2015年五个经销商位在城市G、城市S、城市H、城市Z、城市W的销售数据;第一部分的一级渠道销售数据是从工厂到经销商的数据,第二部分的二级渠道销售数据是从经销商到售点的数据。工厂指的是酒精性饮料的生产工厂,该酒精性饮料公司在不同的城市均有经销商(渠道商),分为高档、中高档、中档、低挡四个等级,不同的经销商会根据售点的需求要求工厂供货。二级渠道售点一般是酒吧、KTV、餐饮、零售等。

从工厂到经销商的数据也就是一级渠道销售数据,数据中的字段见表1。客户所使用的ERP系统提供多项业务日期进行记录区分出不同业务意义:订单日期(Order Date)、需求日期(Requirement Date)、订单释放日期(Order Released Date)、发货日期(Shipping Date)、交货日期(Post Good Issue Date),交易数据皆以日为单位,明确各个交易日期数据在各地区实际进行业务录入的商业意义是对业务数据描述理解的第一步;(1)订单日期,业务建立订单时客户ERP系统的日期;(2)需求日期,一级渠道商根据库存与销售预测的需要到货日期,但目前此字段没有严格要求键入实际需求日期;(3)订单释放日期:在客户流程中更多的是指客户账务信用额度满足;(4)出货日期:指从工厂到达一级渠道经销商的时间,在大多数的运输时间都在一天以内;(5)交货日期:在业务流程中是用以界定『货权』状态的时间点,在本项目数据多与出货日期字段相同。根据业务定义应该是客户需求日期(Requirement Date)将会是天气驱动业务关系中最强的字段,但所取得的数据理解发货日期(Shipping Date)更接近客户的实际需要的实际时间;由于客户的业务流程录入时没有强制所有订单严格要求在ERP系统建立订单的相关日期字段,在清洗数据时日期的选择上与业务单位从实际业务流程与数据结果来选取最能真实呈现天气驱动业务的日期字段。经过分析,在实际发货日期下销量和天气的相关度也比较高,所以下面均采用实际发货日期作为时间基准。对于每个产品,其容量会有很大不同,有些是罐装的,有些是桶装的,在饮品行业中采用物品体积来衡量销量的多少,销售数量(瓶、罐)则为辅助说明销售趋势。

表1 一级渠道销售数据的字段描述

数据 一级渠道销售数据(仅列出最终使用字段)
Id 字段名Field name** 字段说明 备注说明
1 城市 销售城市;一级渠道所在城市 城市G、城市S、城市H、城市Z、城市W
2 产品 酒精性饮料产品描述 包括了品牌、子品牌、容量、包装等内容
3 订单日期(Order Date)

需求日期(Requirement Date)

释放日期(Released Date)

发货日期(Shipping Date)

交货日期(PGI Date)

下单日期

客户需要日期

订单释放日期

发货离厂日期

交货日期

2013年至2015年共计三年
4 交货单数量

发货数量

实际发货数量 单位:件
5 体积 酒精性饮料的容量 饮品行业计量单位

单位:百升

从一级渠道(经销商)到二级渠道数据的字段见表2。和一级渠道数据相同的是,该数据虽然不记录在ERP系统,而记录在渠道商的GO-TO-MARKET系统中,也定义有不同业务意义的日期系统审核日期(Audit Date)与发货日期(Shipping Date),两个日期在数据上几乎一致,而订单日期(Order Date)一般是在月底记录(渠道销售返利模式特性),所以该日期并不能准确反映天气驱动的实际日期,我们同样采用发货日期作为时间基准。对销量自然箱、销量百升、销量标准箱等行业特殊性记录,在与合作业务方交流后,与一级渠道数据相同,选用销量百升。

表2 酒精性饮料二级渠道数据的字段描述

数据 二级渠道销售数据(仅列出最终使用字段)
Id 字段名Field name 字段说明 备注说明
1 auditdate

orderdate

shipdate

系统审核日期

订单日期

发货日期

2013年1月1日到2015年11月30日
2 城市 二级渠道所在城市 城市G、城市S、城市H、城市Z、城市W
3 渠道类型 二级渠道类型 夜店、KTV、酒吧等;高端餐饮;普通餐饮;

零售商;

4 品牌家族 标注品牌所属的家族名称 一个系列的大品牌
5 子品牌 品牌细分 品牌的细分
6 出货体积 酒精性饮料的容量(单位:百升) 饮品行业计量单位

酒精性饮料属于快速消费品(FMCG:Fast Moving Consumer Goods),价格的变更、促销方案、返利活动、新品上市等都会影响销售的变化,导致无法真实分析挖掘出天气驱动行业的真实情况。业务方提供了其他方面的数据,包括含税价格和促销信息。具体见表3。

表3 酒精性饮料其他数据的字段描述

数据 其他影响销售数据
Id 字段名Field name 字段说明 备注说明
1. 日期 某个价格的期限 每一个产品的价格
2. 价格 每百升物料的月销售含税价
3. Month

Start Date

End Date

价格或促销活动月份与时间段
4. 促销分类 促销类别 22类

我们分别对一级渠道销售数据以及二级渠道销售数据进行整合,在某一个日期下,有不同城市不同品牌的销售数据,如果某个城市的某个品牌在某天无销售数据,我们认为其销售额为0。同时由于按周的销量比较稳定,规律比较明显,我们以周为单位进行分析,销量为一周的销量加总,价格为一周的平均。

(二)羽绒服销售数据描述

羽绒服销售数据来自电商平台交易记录(销售数据不区分公司与相关品牌),时间长度从2011年到2013年,包括了全国275个城市。我们提取出和酒精性饮料数据中匹配的五个城市来分析,同时加入一个北方城市:城市Q。数据中除了日期和城市两个字段之外,还有销售总金额和销售总件数。表4总结了六个城市的数据量(Observation)。

表4 羽绒服销量数据五个城市的数据量

城市 Observation
城市G 1096
城市S 1100
城市H 1096
城市Z 1099
城市W 1100
城市Q 1079

从2011年1月1日到2013年12月31日共1096天,城市S、城市Z、城市W数据中多出来的数据量是由于某一天的销售量有两条记录导致的,我们把这些数据按天合并。而城市Q的某些天没有数据,我们认为其销量为0,气象数据则取相应时间段与观测城市的数据。与酒精性饮料数据一样按照日粒度进行整理,同时将一周销量加总作为周销量数据,按两种时间维度进行分析。

(三)天气数据描述

快速消费品的酒精性饮料以及功能服饰类的羽绒服,业务数据的最小时间颗粒度为天,而天气观测数据最小时间颗粒度为分钟级。从公众气象信息的获取、消费购物的习惯以及气象数据日为单位的观测数据特性出发,主要以日作为天气驱动消费的最小时间基础单位,使用的相关气象数据如表5。需要注意的是,气象数据可能会因为设备故障或是其他因素影响造成缺测情况,我们所选的都为国家级观测站,避免缺测导致的数据质量问题,而在采取以周为时间基础单位进行分析时,以周天气数据记录的分位数为基础。

表5 日观测气象数据要素

数据 气象数据要素(日)
Id 字段名Field name 字段说明 备注说明
1 SiteId 台站编号 根据观测台站所在位置可以明确所在地(对应到行政区,如北京市东城区)
2 Day 观测日期
3 PressureAverage 日均大气压力 (单位:MPA)
4 PressureMax 日最大大气压力 (单位:MPA)
5 PressureMin 日最小大气压力 (单位:MPA)
6 TemperatureAverage 日平均气温 (单位:℃)
7 TemperatureMax 日最高气温 (单位:℃)
8 TemperatureMin 日最低气温 (单位:℃)
9 RelativeHumidityAverage 日平均相对湿度 (单位:℃)
10 RelativeHumidityMin 日最小相对湿度 (单位:%)
11 Precipitation20_8 前一日20时至当日8时的各时段降水量的累加值 (单位:mm)
12 Precipitation8_20 由当日08时至当日20时的各时段降水量的累加值 (单位:mm)
13 Precipitation20_20 由前一日20时至当日20时的各时段降水量的累加值 (单位:mm)
14 EvaporationSmall 日最小蒸发量 (单位:mm)
15 EvaporationLarge 日最大蒸发量 (单位:mm)
16 WindSpeedAverage 平均风速 (单位: m/s)
17 WindSpeedMax 最大风速 (单位: m/s)
18 WindSpeedMaxDirection 最大风速的风向 (度)
19 WindSpeedExtreme 极大风速 (单位: m/s)
20 WindSpeedExtremeDirection 极大风速的风向 (度:角度)
21 SunshineHour 日照时长 (单位:小时)
22 SurfaceTemperatureAverage 日地表均温 (单位:℃)
23 SurfaceTemperatureMax 日地表最高温 (单位:℃)
24 SurfaceTemperatureMin 日地表最低温 (单位:℃)

气象的数据分析,除了以日值作为分析要点外,还有其他几个特性也是在进行天气驱动行业分析时需要考量的,如:连续几日高于35℃高温、连续几日降雨、连续几日低于10℃、日夜温差超过20℃,等天气要素模式(pattern)类型的组合都是天气驱动行业的要素,所以除了表5的天气要素外还要设计多种天气要素模式(pattern)。

天气上的重大事件,如台风也会对酒精性饮料销量产生影响,所以我们也将受影响的时间、台风等级加入在气象数据中(台风主要反映在天气要素的风速、降雨等)。

公众目前获取最长的天气预报为15天,羽绒服以及酒精性饮料的数据都自2011年与2013年开始,当时公众所获取的天气预报数据多为7天,所以在数据清洗拟合也会进行多种时间窗的平移,以确定业务数据是受当日实际感受的驱动,还是天气预报的提前反应。

(四)补充数据描述

除了合作方提供的销售数据和气象局的数据,还要考虑其他能够量化并获取的可能影响销量的数据。消费者的需求也可能受经济因素的影响,因此我们抓取了数据时间段内的上证指数和居民消费价格指数(Consumer Price Index,CPI)。由于周末收盘,在周末没有上证指数数据,周末的上证指数我们用周五的来填补。而我们能获得的CPI数据是一个月统计一次,因此在某一个月内,我们统一用一个CPI数值。除此之外,对于酒精性饮料销售来说,在有重大赛事时,如世界杯等,酒精性饮料销量会显著上升,因此我们查找了数据时间段内可能会影响到酒精性饮料销量的重大事件加入数据中。加入event变量,如果当天有重大事件,event为1,否则为0。在法定假日时,售点和经销商一般会提前存货,因此公司的销量会增加,我们把这个因素也考虑进去,在数据中增加holiday变量,假如当天是法定假日标记为1,否则标记为0。同样,月末也会出现囤货的现象,与法定假期一样,我们将月末标记为1,否则标记为0。

三、数据建模

为了找到所有气象要素中真正影响销量的要素,我们利用皮尔森(Pearson)相关性进行检验,发现平均温度是与酒精性饮料销量以及羽绒服销量关系最大的要素。因此在描述性分析部分,我们用平均气温来探索销量与天气之间的关系。

(一)酒精性饮料数据的建模

(1)描述性分析

图1展示了一级渠道的销量按月份的分布情况(纵轴实际销售体积涉及商业秘密不予展示,仅用于说明趋势),不同颜色代表不同年份,横坐标代表月份、纵坐标代表百升的销量。城市G和城市S是两个销量大城市;夏天的销量有明显的增高,而当天气转冷的时候销量会下降;在城市G,销量在逐年上升,但是在城市S、城市Z、城市H、城市W这四个城市却没有这样的趋势;城市S、城市Z、城市H、城市W这四个城市七八月之后的销量均出现了急速下降。图2展示了二级渠道的销量按月份的分布情况(纵轴实际销售体积涉及商业秘密不予展示,仅用于说明趋势),其趋势与一级渠道一样,也呈现出季节的周期性变化。

从销量按月份的趋势来看,销量确实与天气有一定的关系。我们在分析的时候分别以天(销售日与当日天气数据,以及销售日数据分别平滑1天到7天;区分是受当时天气感受的影响,还是接收天气预报后所做的反应)还有周(采用周天气要素的分位数),最终是以周为单位进行预测的,因此下面我们按周对销量和天气进行描述。图3和图 4分别为二级渠道和一级渠道的销量和天气按周的趋势,横轴为周,左边纵轴为销量,右边纵轴为平均气温。出现的负值销量表示这一周有退货的情况,而且退货数量要比订货数量高,在销量比较低的城市会出现这样的现象。在城市G,销量和天气的趋势比较明显,而城市S会出现一些异常情况,城市H、城市W、城市Z的趋势比较弱,特别是城市W,其销量整体偏低,就算气温有明显的上升,其销量也没有增长。

城市G
 ![luo_1](https://uploads.cosx.org/2016/05/luo_1.png)
城市S 城市Z
 ![luo_2](https://uploads.cosx.org/2016/05/luo_2.png)  ![luo_3](https://uploads.cosx.org/2016/05/luo_3.png)
城市H 城市W
 ![luo_4](https://uploads.cosx.org/2016/05/luo_4.png)  ![luo_5](https://uploads.cosx.org/2016/05/luo_5.png)

图1 一级渠道销量按月趋势

城市G
 ![luo_6](https://uploads.cosx.org/2016/05/luo_6.png)
城市S 城市Z
 ![luo_7](https://uploads.cosx.org/2016/05/luo_7.png)  ![luo_8](https://uploads.cosx.org/2016/05/luo_8.png)
城市H 城市W
 ![luo_9](https://uploads.cosx.org/2016/05/luo_9.png)  ![luo_10](https://uploads.cosx.org/2016/05/luo_10.png)

图2 二级渠道销量按月趋势

城市G
 ![luo_11](https://uploads.cosx.org/2016/05/luo_11.png)
城市S 城市Z
 ![luo_12](https://uploads.cosx.org/2016/05/luo_12.png)  ![luo_`13](https://uploads.cosx.org/2016/05/luo_13.png)
城市H 城市W
 ![luo_14](https://uploads.cosx.org/2016/05/luo_14.png)  ![luo_15](https://uploads.cosx.org/2016/05/luo_15.png)

图3 一级渠道销量与平均气温按周趋势(橘色曲线为天气平均温度要素,蓝色曲线为销量)

城市G
 ![luo_16](https://uploads.cosx.org/2016/05/luo_16.png)
城市S 城市Z
 ![luo_17](https://uploads.cosx.org/2016/05/luo_17.png)  ![luo_18](https://uploads.cosx.org/2016/05/luo_18.png)
城市H 城市W
 ![luo_19](https://uploads.cosx.org/2016/05/luo_19.png)  ![luo_20](https://uploads.cosx.org/2016/05/luo_20-1.png)

图4 二级渠道销量与平均气温按周趋势(橘色曲线为天气平均温度要素,蓝色曲线为销量)

(2)模型设定

时间序列数据一般由长期趋势、季节变动、循环变动、不规则变动四个部分组成。其中长期趋势指的是随着时间的变化;季节变动指随着季节变化的周期性变动;循环变动指以若干年为单位的变化;不规则变动是随机变化导致的波动。本文的数据时间间隔均为3年左右,所以不存在循环变动项。我们把数据分解为趋势项、季节项和随机波动项,以二级渠道销售数据为例,分解情况如图5(纵轴实际销售体积涉及商业秘密不予展示,仅用于说明趋势)。分解之后,虽然由于目前数据中还有很多没有测量出来的因素,白噪声部分不是完全由随机波动影响的,但是季节项按季节的周期趋势更加明显了,而趋势项随着时间的变化呈现一定的波动。我们对分解出的季节项和趋势项分别进行预测。

对于季节项部分,我们采用随机森林进行预测。随机森林由2001年被Breiman提出一种基于树的集成学习算法^[Breiman L. Random Forests[J]. Machine Learning, 2001, 45(1):5–32.]。Fernandez-Delgado et al.^[Fernández-Delgado M, Cernadas E, Barro S, et al. Do we need hundreds of classifiers to solve real world classification problems?[J]. Journal of Machine Learning Research, 2014, 15(1):3133-3181.]在121份数据集上进行了测试,证明随机森林是在支持向量机、神经网络等机器学习算法中表现得最好的一个算法。对于我们的数据来说,很难看出天气变化对销量的影响呈现特定的函数关系,因此我们选用随机森林这种不需要模型假设的非参数方法进行预测。

对于趋势项部分,我们采用三次样条进行预测。由于不同城市随着时间变化的趋势差别很大,利用三次样条,我们可以拟合不同形状的趋势变化。

基于公众可以便利的获取气象局提供的7天(最多15天)天气预报前提,与以往的销售预测不同,我们可以利用未来的天气进行预测。同时,呈季节变化的销量不仅受到了天气和经济因素的影响,上一年同一个时间点的销量和上一周的销量也与当前时间点的销量有关系,因此我们把同比销量和环比销量也放入模型中。除此之外,为了考虑经济环境的影响,我们加入了上证指数和CPI。

(3)模型结果

我们从数据中剔除出最后三个月的数据来做测试集,剩下的部分均为学习集。通过真实值与预测值之间的误差的绝对值占真实值的百分比来衡量预测误差,预测误差总结见表6:

表6 酒精性饮料销量的预测误差

城市 预测误差
一级渠道 二级渠道
城市G 0.1133 0.1203
城市S 0.2808 0.2228
城市H 0.2821 0.3046
城市Z 0.4103 0.1454
城市W 0.4457 0.1988

城市G的预测效果是最好的,城市S次之。在所有天气要素中(风、温度、相对湿度、大气压力、降雨),温度要素与销售量相关性最高,但是在图3和图4中,仅城市G可以看到销量和天气的气温要素走势比较一致,而其他城市会出现气温上升,销量反而下滑的情况,而且城市G的销量波动趋势也比较平稳。

城市G
 ![luo_21](https://uploads.cosx.org/2016/05/luo_21.png)
城市S
 ![luo_22](https://uploads.cosx.org/2016/05/luo_22.png)
城市Z
 ![luo_23](https://uploads.cosx.org/2016/05/luo_23.png)
城市H
 ![luo_24](https://uploads.cosx.org/2016/05/luo_24.png)
城市W
 ![luo_25](https://uploads.cosx.org/2016/05/luo_25.png)

图5 二级渠道销量分解情况

(二)羽绒服数据建模

(1)描述性分析

图6和图7分别为羽绒服销量与天气之间的趋势变化图。虽然不同城市之间趋势有差别,但是基本上都呈现当气温开始下降的时候,销量开始上升的趋势。同时,不管是按销量金额还是销量件数都呈现逐年上升的情况。但是对于城市S来说,虽然每年的销量金额都在上升,但是销量件数却仅在11年冬季出现了一个高峰后就急剧降低,需要进一步结合其他数据进行探讨或是测试。

表7展示了销量与平均气温之间的皮尔森(Pearson)相关度。除了城市S的销量件数出现了异常之外,平均气温与销量之间呈现负相关,这表明随着气温下降,羽绒服的销量会上升,同时,相关度均在0.3左右,说明气温与销量之间有比较强的关系。

表7 销量与平均气温之间的皮尔森(PEARSON)相关系数

**城市** **销量(成交价格:元)** **销量(件)**
城市G -0.3980 -0.3332
城市S -0.3188 -0.0008
城市H -0.3267 -0.2888
城市Z -0.3043 -0.2828
城市W -0.3319 -0.2999
城市Q -0.2283 -0.2185
城市G
 ![luo_26](https://uploads.cosx.org/2016/05/luo_26.png)
城市S
 ![luo_27](https://uploads.cosx.org/2016/05/luo_27.png)
城市H
 ![luo_28](https://uploads.cosx.org/2016/05/luo_28.png)
城市Z
 ![luo_29](https://uploads.cosx.org/2016/05/luo_29.png)
城市W
 ![luo_30](https://uploads.cosx.org/2016/05/luo_30.png)
城市Q
 ![luo_31](https://uploads.cosx.org/2016/05/luo_31.png)

图6 销量(元)与平均气温的变化趋势(红色曲线为天气,蓝色曲线为销量)

城市G
 ![luo_32](https://uploads.cosx.org/2016/05/luo_32.png)
城市S
 ![luo_33](https://uploads.cosx.org/2016/05/luo_33.png)
城市H
 ![luo_34](https://uploads.cosx.org/2016/05/luo_34.png)
城市Z
 ![luo_35](https://uploads.cosx.org/2016/05/luo_35.png)
城市W
 ![luo_36](https://uploads.cosx.org/2016/05/luo_36.png)
城市Q
 ![luo_37](https://uploads.cosx.org/2016/05/luo_37.png)

图7 销量(件)与平均气温的变化趋势(红色曲线为天气,绿色曲线为销量)

(2)模型设定

和酒精性饮料数据一样,我们同样将数据分解为趋势项、季节项和随机波动项。对于趋势项我们依旧采用三次样条去拟合,而对于季节项,由于我们仅用皮尔森(PEARSON)相关系数就已经可以测量到平均气温与销量之间很强的相关度,因此我们用线性回归来进行预测。同样,我们在模型中加入了环比销量和同比销量。而从图6和7 中,可以看出,一般在气温达到峰值后的两个星期,销量达到峰值,因此我们在模型中加入比当前时间点提前两个星期的天气因素。

(3)模型结果

和酒精性饮料数据一样,我们剔除出最后三个月的数据来做测试集,剩下的部分均为学习集。通过真实值与预测值之间的误差的绝对值占真实值的百分比来衡量预测误差。表8展示了羽绒服数据的预测误差,很明显,除了城市S的销量件数之外,其他部分的预测效果都很好,说明天气对羽绒服销量的影响的确十分大。

表8 羽绒服数据销量预测结果

城市 预测误差
销量(元) 销量(件)
城市G 0.0578 0.1000
城市S 0.0452 0.1537
城市H 0.0541 0.0885
城市Z 0.0527 0.0855
城市W 0.0433 0.0673
城市Q 0.0378 0.0664

四、业务实施

数据驱动(Data  Driven)的落地实施过程中,我们与企业的首要目标是明确我们要解决的商业问题(Business Question)并进一步了解透过数据进行分析挖掘解决问题的可能。

我们与企业合作在设定商业问题过程中,发现企业对于开始数据分析业务的商业问题更多集中在可快速简单量化成绩的销售业务(商品或服务的销售成果)与营销业务(促销活动、广告投放等),实施全程采取了天气驱动业务分析框架(Weather Driven Analysis Framework)如图8。

luo_38 - 副本

图8 天气驱动业务分析框架

本文探讨的酒精性饮料以及羽绒服的商业问题:销售预测以及支持精准营销。天气驱动项目交付的是(1)可以实时运行可视化销售预测模型与(2)持续的精细化天气预测数据支持,示意画面如图9(因商业秘密,仅提供系统示意画面);我们也称此为天气驱动销售仪表板(Dashboard)。客户接入天气预测数据后、同时将假日、价格、促销等因子由ERP同步接入,天气驱动销售仪表板实时显示最新的销售预测数字,输出内容包括:城市、总销售预测量、各品牌销售预测量、各渠道销售预测量以及相关的天气数据与预警信息。

luo_39 - 副本

图9 天气驱动业务销售预测示意画面

由经验判断开始使用更多的数据与采用大数据相关技术开始数据驱动(Data Driven)经营企业,天气驱动销售让企业做出下列举措变化与趋势:

  • 企业的产销计划(SOP: Sales & Operation Planning)得到定量的科学化预测支持。

  • 公司经营与渠道商开始了解天气预报与影响,根据数据进行采购与销售。

  • 开始天气相关的营销活动(Campaign)。

  • 根据天气因果性,开始思索如何精确的投放广告(根据目前天气预报的时长准确程度,还无法应对目前传统广告采购规则,但移动广告则非常有机会)。

  • 电商平台根据各地天气变化预报,调整推送受天气驱动商品。

五、总结讨论

本文通过公共数据(气象数据)结合行业数据实际探讨两种不同交易形态的业务:B2B与B2C,完成通过实际交易数据与天气数据分析挖掘相关性与因果性实现天气驱动(Weather Driven)的实践,促使数据驱动(Data Driven)能够真实落地协助行业在同质化非常严重的产业环境中快速回应挑战;但在大环境下,企业对于开始数据驱动业务管理,总是希望以最低的投入让现有的资料、数据、IT等资源以最低成本、低风险又有效的方式完成数据驱动的企业经营,造成执行者必须面对以有限资源追求极大化成效的挑战,也造就企业开始数据驱动业务管理变革上的风险。

天气虽然影响众多行业,但是天气终究仅是一项影响因子;我们进行天气驱动业务分析业务实践中,天气驱动销售以快速消费品(FMCG)行业销售数据+天气数据的效果反馈最佳,主要是因消费者可以用低成本抵抗天气带来的影响,本文所提及的酒精性饮料快速消费品的实际案例。其他像是大气污染预报、医疗保健(Healthcare)、农林渔牧也有相当正面的反馈;但是对于需要产品生命周期较长、售价较高、品牌占比较重的行业或领域则需要更进一步的探讨。

在快速消费品的天气驱动销售虽然可以得到很好的效果,又可以细分为不同的区域(市场),以酒精性饮料为例,在城市G与城市S两个城市该品牌已经非常成熟,最终得到的预测准确性也非常高,可是在城市W对该品牌还属于新兴市场(Emerging Market)与天气的相关性远低于该酒精性饮料口碑、品牌认知与当地口味喜好等因素的影响。羽绒服的数据结果同样说明了类似的结论,特别呈现在羽绒服的功能性与服饰特性上,例如在城市Q这样冬天非常寒冷的区域就会更重视功能性,而像是城市G地区消费者更注重的是服『饰』的功能。

从天气驱动销售角度来看数据采集:酒精性饮料项目的数据来源于ERP以及渠道商的GO-TO-MARKET销售数据,有两项特点:(1)国内企业的ERP系统主要追求的目标是财务记账导向(以符合会计准则的记录为依据),可信的是交易数量与金额的正确,但无法记录真实的交易时间;(2)渠道商的GO-TO-MARKET销售数据受到返利(Rebate)政策影响,所有的交易数据都会因不同区域结算返利或渠道申报销售考核的时间点而无法记录真实的交易时间。这两项特点发生在非常多企业CRM(Customer Relationship Management)、ERP系统上,所以若需要进行天气驱动销售,需要投入更多的精力了解每一笔数据与每一个字段的业务含义,才有机会真正帮助到企业开始好的数据驱动管理(理解业务才能真正解决商业问题)。

成功的数据驱动业务管理取决于设定正确的商业问题(Business Question),通过对行业的理解不断地提出可能的假设(Hypothesis)并使用大数据的方法论进行验证每一项假设,直到可验证数据因果性的阶段,并测试成功,才是完整的数据驱动业务实践(Practice)。错误的问题会增加企业在推动数据驱动管理业务成本与风险,例如我们将商业问题设定为酒精性饮料销售与天气要素的相关性,我们很容易得到天气炎热酒精性饮料销售量就会上升的结论(甚至不用数据就可以得到此结论),但是对于企业需要的是帮助企业用数据去掌握、洞悉(Insight)、预测商业行为,而不是为了大数据而大数据。

本文主要研究天气驱动的销售预测,在酒精性饮料销量和羽绒服销量两个领域,利用天气进行预测均取得了十分优秀的效果。本文仍有很多可以进一步研究的空间;目前,我们研究的时间周期都只有三年,而很多特殊的气象现象,如厄尔尼诺(El Nino)、激烈天气等,只有在比较长的时间下才能表现出来,我们会进一步收集更多的数据改善我们已有的实践积累。在我们的数据中,特别是酒精性饮料数据,有很多异常的情况无法用现有的数据解释,需要和行业进行深入交流才能够进一步呈现出更好的数据驱动业务效果,好的数据驱动业务一定是来自于深入行业了解行业的努力与积累。

发表/查看评论