数据成为了企业的核心资产,从数据中挖掘,获取业务价值成了每个企业追求的目标,而这个目标的承载体很重要的体现,就是数据产品,而数据中台就是生产数据产品的工厂。
那么什么是数据产品,数据产品都有哪些类型,数据产品是如何生产出来的?
本文基于数据产品的这些问题进行研究和分析,解读数据产品这个概念。
数据产品的定义
根据美国白宫首席数据科学家DJ Patil的定义,目前行业里比较一致的定义是:
使用数据去促进一个最终的目标的产品。
分解下来,数据产品首先要有一个最终的业务目标,而不是没有任何意义的行动。
其次,它是一个产品,不论是有形的还是无形的产品,所以它符合一个产品的定义,要有用户去使用它。
最后,也是最重要的,这个产品的首要目标是要使用数据而不是其他的原材料,同时意味着,要成为一个数据产品,使用数据不仅是方法,更是这个产品的首要目标。
[1]数据产品的定义
我们举个例子,滴滴,使用了很多的数据,但是滴滴是数据产品么?不是因为滴滴的首要目标是为了提供更好地出行服务,而不是为了使用数据,使用数据是滴滴达成业务目标的方法而不是目的。
那么什么是数据产品呢?
最近朋友圈很火的航旅纵横的那个年度总结,就是典型的数据产品,它的目标是为了让用户能够清楚自己的年度航行数据,首要目标也是使用用户的航行数据,生成全年的总结。
再比如,我们自己的Jigsaw推出的Jigsaw十年的那个可视化历程,也是一个典型的数据产品。
通俗的来讲
数据产品就是帮助用户理解数据从而去获得洞察/预测,产生某种行为的产品。
数据产品的主要类型
行业里目前对于数据产品的主要类型的划分方法不尽相同,主要的包括以下几种:
按照数据产品的交互形式划分
加州大学的数据产品培训课程中,将数据产品分为以下四个类型:
[2]什么是数据产品
Visual Dashboards/数据可视化
数据可视化产品是数据产品最常见的展现形式,引用Google排名第一的定义:
A data dashboard is an information management tool that visually tracks, analyzes and displays key performance indicators (KPI), metrics and key data points to monitor the health of a business, department or specific process. They are customizable to meet the specific needs of a department and company.
数据仪表盘是视觉跟踪的信息管理工具,用来分析和显示关键性能指标(KPI),从而监控业务,部门,或者特定的流程的健康。一般是定制以满足特定的部门和公司需求。
商业智能/BI就是典型的数据可视化产品的应用场景,包括平衡积分卡,管理驾驶舱,即时分析报表等。
Web Interfaces/Web接口
Web接口,特指部署在Web Server上的软件接口。不同的阶段,有不同的接口形式,在目前,当我们提到Web Interfaces的时候,大部分指的是REST接口。
详细,参见《数据服务的五种类型》。
Programming Interfaces/程序接口
除了部署在Web Server上的Web Interfaces之外,还有一些以编程接口的方式提供的数据产品,比如直接通过Library调用的数据接口,典型的如:JDBC,所以数据库访问链接,就是这一类的数据产品的代表。
Robotics Platforms/机器人平台
在加州大学对于数产品的定义中,将机器人平台当做单独的一类数据产品,是使用数据达到某一种业务目标的软/硬件结合的产品。
按照数据产生价值的方式划分
按照数据产生价值的不同,可以将数据产品分成以下三类:
Data as a Service
将数据本身作为产品产生价值,比如金融数据服务,公共知识服务等,是直接通过数据销售收入的。
Data-Enhanced Products
通过分析,利用数据增强产品的体验或功能,从而产生增值的产品。
可以参考《Data First的时代,利用数据产生商业模式创新的五种方法》一文,仔细分析数据产品的五种形式。
Data as Insights
将数据作为一种洞察手段的产品,不直接产生业务价值。
适合中国市场数据产品的四种类型
结合行业的划分方法,按照中国市场比较通俗易懂的方式,我将数据产品分为以下几类:
RAW Data Set/源数据集
最简单的数据产品就是原始数据,将原始数据作为产品本身提供给用户。
Visual Dashboard/数据可视化
通过可视化,仪表盘的方式,使用数据,为用户分析和提供数据的产品。
Derived Data Set/衍生数据集
直接将某些特定的数据加工后形成新的数据集以某种技术形式提供给用户使用的产品,比如文件、数据库,Data API等。
Intelligent Model/智能模型
智能模型是在人工智能的语境下的一种算法 数据的产品,我们叫它智能数据产品,最典型的比如,预测模型。
模型和算法的关系,可以用下图来解释,通过数据训练了算法后得出的,就是模型。
[5]Model=Training(Algorithm Data)
小结
在这里,并没有把利用数据的APP作为数据产品的一种,这是为了让数据产品的定义更加纯粹,更加聚焦在数据和算法的处理上,而不包括那些流程处理,用户体验,其他与数据处理无关的软件工程的内容。
智能数据产品开发过程的不确定性
因为数据可视化、衍生数据集的开发过程都比较传统,我们重点分析智能数据产品的开发过程。
下图是一个典型的数据产品的开发过程:
[3] Microsoft:Team Data Science Process lifecycle
1.Business Understanding/业务理解
所有的数据产品,都要有一个最终的业务目标,所以一切从理解业务开始,理解业务背景、目标,跟哪些数据相关,与哪些流程相关等。
我们用预测订单销量这个典型的智能数据产品作为例子。
如果我们希望构建一个销量预测模型的数据产品,那么我们需要知道我们要预测的销量的业务目标,准确定义,范围(区域、时间段),是一个产品,还是一类产品等,从而有一个对业务目标的全面理解。
2.Data Acquisition and Understanding/数据获取和理解
对业务有了全面的理解后,就要去建立数据pipeline去采集,识别,探索对应的数据,比如获取历史订单数据,进行时间序列分析等。通过数据的识别,探索来理解数据全景,从而基于这些数据的现状以及数据探索的结果来决定下一步的建模的方法。
这个过程中最大的挑战来自于对数据的理解和数据质量。
往往一个数据产品可以利用的数据很多,但是哪些是最有价值,对于业务目标贡献度最大的,这个数据源的选择需要对这些数据背后的业务的深刻理解。
数据质量是第二个挑战,因为数据产品是数据消费方,而数据产生的源头是不被数据产品所控制的,往往会是多个数据源的组合,很多数据源往往都不在企业内部,这种情况下,数据质量是完全不可控制不可预测的。
3.Modeling/建模
经过了数据探索,有了当前数据的全面报告和理解后,就进入数据建模阶段,这个阶段主要是由数据科学家来主导的。
主要包括特征工程,模型训练,开发和模型测试等,这个过程中有很高的的不确定性,因为算法的优化没有止境,并且很多时候,由于数据产品的开发周期预算的限制,我们不能穷举所有的算法,再加上特征的识别高度依赖采样数据的质量,这样一来,建模本身是很复杂的,有很高的不确定性。
4.Deployment/部署
最终,数据产品开发团队选中了一个可以接受的模型构建过程,就进入到部署的阶段。而这个阶段也不是一帆风顺的。
往往在建模的时候,采用的是测试数据,往往数据量,实时性和生产环境都会有差异,而在生产部署的时候,就要全面的考虑到这些因素,做好性能评估,监控,随时处理各种问题,最终才能保证模型在生产环境有一个比较好的表现。
在真正的预测模型的构建过程中,这里的1,2,3,4个步骤,往往是不断反复,回退,交叉进行的,这是一个不断打怪,拉通,有的时候甚至还有运气的成分在里面。
5.Customer Acceptance/用户接受测试
最终,当SIT/Performance Testing等都测试完成后,就进入用户接受测试,通过后这个数据产品才算开发完毕,上线成功。
总结
产业数字化已经汹涌而来,智能化是最终的目标,而数据产品是产业智能化的重要承载,企业需要构建适合自己的数据产品体系,从而充分的探索,识别,挖掘数据的价值,成为数据驱动的智能企业。
参考文献:
[1]https://towardsdatascience.com/designing-data-products-b6b93edf3d23
[3]https://docs.microsoft.com/en-us/azure/machine-learning/team-data-science-process/overview
[2]https://www.coursera.org/lecture/basic-data-processing-visualization-python/what-is-a-data-product-WZZOm
[4]https://mp.weixin.qq.com/s/h9tO4eRajZaqoSisRTZfaA
[5]https://medium.com/@kaykwaalk/difference-between-an-algorithm-and-a-model-in-machine-learning-5d6b7297cce9