三、积跬步以察千里:数据的采集与治理
题解 本节标题化用《荀子·劝学》中的“不积跬步,无以至千里;不积小流,无以成江海[6]”。数据的采集是一个长期的积累工作,包括数据埋点、收集、清洗等多个环节,不可能一蹴而就。把原句的“至”替换为“察”,意在提醒大家数据的采集是洞察价值的起点。
[6] 含义类似的古代名句还有《道德经》中的“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下”。
咖哥继续说:“没有足够数量和质量的数据,数据分析就是无源之水、无本之木。数据从何而来?小雪,你来说说数据采集的步骤。提示一下,你可以先思考我们为什么要采集数据。”
小雪回答:“我明白了,咖哥,你这个提示的意思是要我先明确目标,再采集数据。不过,对于具体的数据采集步骤,我没有实际经验,还是想听听咖哥你的专业看法。”
咖哥听了这话后继续开讲。
1 采集数据之前先明确目标
目标决定数据的来源和采集方法。如果我们采集数据的目的是学习数据分析方法和数据挖掘算法,那么有很多公开的数据集可以下载。例如,知名的数据科学网站Kaggle中就有很多有价值的数据集,阿里云的天池网站中也提供了很多数据集。
如果数据是为运营服务的,则要从业务本身出发,多角度采集数据。Avinash Kaushik在《Web Analytics》一书中将数据的来源分为4个部分:点击流数据(clickstream data)、运营数据(outcomes data)、调研/定性数据(research/qualitative data)和竞争对手数据(competitive data)。点击流数据指用户浏览网站时留下的行为数据,如点击率,跳出率等;运营数据指用户使用服务或者产品(如网站或者移动端App)时被记录下来的数据,如日活跃、月活跃用户数等;调研数据是通过用户调研手段(线上、线下问卷,线下调研或用户访谈等)获取的定性数据;竞争对手数据包括与自家产品有业务关系、竞争关系或存在某种利益关系的其他数据。
数据的采集并不容易。现代企业的IT系统多而复杂,从用户点击流数据、产品数据、营销数据、社交平台数据,到ERP系统和CRM系统数据,都由不同的系统进行管理和存储,这样数据也就被割裂分布在众多系统中,形成了数据孤岛。具有多元业务的企业的各部门也常常自建系统,这些系统满足了单一的业务场景,却使得企业数据难以被全局规划、定义和管理。想象一下,如果没有分析团队和市场营销团队都能够理解的统一标记和跟踪策略,将点击流数据和市场营销数据集成在一起的工作就会很有挑战性,做数据分析的难度也会很大。
2 数据中台解决了什么问题
数据中台能帮助企业解决数据难找、难用、割裂等问题。现代企业的目标是以用户为中心,迅速响应用户的需求。直接面对用户的业务过程就是企业的“前台”,而传统的数据库和各种IT系统就是企业的“后台”。
企业从满足用户需求这一目标出发,需要提高自己的数据整合和治理能力,通过统一而高效的数据平台为“前台”业务赋能,用数据平台的确定性来应对用户需求的不确定性。
这就是数据中台的核心价值。数据中台是数据平台的下一站,它为业务赋能。建设数据中台的过程是数据平台不断进行自身治理、打破技术边界、拥抱业务、容纳业务、加强业务属性的过程[7]。
[7] 此处说法引自王健的极客时间专栏“说透中台”。
3 做好数据埋点,搜集有价值的信息
听到这里,小雪问咖哥:“常听人说做好埋点,这个过程是不是指数据采集和数据中台的建设过程?”
咖哥回答:“它们有一定的关联。”
埋点(event tracking)是指对用户行为或事件进行捕获、处理和发送的过程[8]。
[8] 此处说法引自赵小洛《人人都是产品经理》文章中的“数据埋点采集”。
数据分析师、产品经理和运营人员通过埋点对用户行为的发生位置进行开发、布置;通过工具捕捉埋点事件的关联数据,将数据记录汇总后进行分析,从而优化产品、指导运营。埋点的质量将直接影响数据、产品、运营等部门的业务质量。
埋点是数据平台和数据中台建设过程中的重要环节,通过埋点获取的数据则是数据分析师所需的资料。埋点源于业务需求,服务于业务需求,能对产品和服务进行全方位追踪;而在埋点实施的过程中要用到数据采集、处理和发送等相关技术。
4 加强数据治理,提高数据质量
小雪不禁又问:“埋点重要,那么数据清洗是不是也很重要?”
咖哥说:“当然重要。数据分析师拿到的数据往往很‘脏’,很少能直接使用。不过要谈数据清洗,先说数据治理。一般人解决问题的思路是见招拆招。但那只是被动地解决问题,我们应该从源头解决问题,尽可能避免‘脏’数据出现。这就是数据治理的核心思想。”
数据分析师们总结了数据治理的原则,即约束输入,规范结构,单一来源,规范输出。
什么是约束输入?例如,数据库中城市名称会出现“北京”“Beijing”“beijing”这类多值同义的情况。为解决该类问题,在设计系统时,应该通过下拉菜单约束用户只能选择其中的某个选项,从而避免让用户手动输入文本。只有选项很难满足需求时,才让用户手动输入。手动输入数据时,也要做好格式和逻辑的检查,如必填字段、时间日期的格式、数据正确的范围等。
规范结构的一个例子是在设计输入表单和数据表时进行原子化,原子是不可分割的最小独立单元。例如,地址数据最好细分成省、市、区、街道、门牌号等,分得越细越不容易出错。此外,数据表中的字段要合乎逻辑、结构清晰,主键的选择要精简且合理。
数据的来源应单一,对应的英文为single source of truth(唯一的真实来源)。同一个数据字段,这个表里有,那个表里也有,此时就应该把这两个表相互关联,用外键约束该字段。否则,如果数据出现冲突,就不知道哪个表更可信,且溯源的过程十分复杂。
此外,企业内部也要进行数据指标的规范化。例如像“留存率”“月活数”这类的指标,如果各个部门的计算方法不同,向上级汇报的难度就会变大。因此,公司应该有专职人员负责制定规范,创建一个全公司通用的“数据字典”,统一各指标的意义及计算方法。
数据治理说起来虽然简单,但执行起来并不容易。因为很多公司在成长期追求发展速度,顾不上数据治理。然而,当出现一大堆又“脏”又乱的数据之后,再进行数据治理就会很麻烦。