UDW基础之上,将用户数据按照时间细粒度汇聚,根据不同维度组合查询,所有的报表需求都产生在这个基础之上。
多维事件模型
在介绍多维事件模型(Event模型)之前,我们先来认识一下访问量模型。
访问量模型
在传统的Web时代,我们通常使用PV来衡量和分析一个产品的好坏。而在移动互联网及O2O电商时代,PV已经远远不能满足产品和运营人员的分析需求。
每个产品都有独一无二的核心指标,用来衡量产品是否成功,这个指标也许是发帖数量、视频播放数量、订单量或者其他可以体现产品核心价值的指标,这些都是一个简单的PV无法衡量的。
除此之外,PV模型也无法满足一些更加细节和精细化的分析。例如,我们想分析哪类产品销量最好,访问网站的用户年龄和性别构成,其他渠道的用户转化率、留存和重复购买率如何,新老用户的客单价、流水、补贴比例分别是多少等。这些都是以PV为核心的传统统计分析没办法解答的问题。
多维事件模型
多维事件模型分成Event实体和User实体。
1.Event实体
简单来说,Event描述了一个用户在某个时间点、某个地方以某种方式完成某个具体事情。从这可以看出,一个完整的Event,包含如下的几个关键因素。
● Who:即参与这个事件的用户是谁。在我们的数据接口中,使用distinct_id来设置用户的唯一ID:对于未登录用户,这个ID可以是Cookie、设备ID等匿名ID;对于登录用户,则建议使用后台分配的实际用户ID。同时,神策分析也提供了track_signup这个接口,在用户注册的时候调用,用来将同一个用户注册之前的匿名ID和注册之后的实际ID贯通起来进行分析。
● When:即这个事件发生的实际时间。在数据接口中,使用time字段来记录精确到毫秒的事件发生时间。如果调用者不主动设置,则各个SDK会自动获取当前时间作为time字段的取值。
● Where:即事件发生的地点。使用者可以设置properties中的city和city和$province这两个预置字段以外,也可以自己设置一些其他地域相关的字段。例如,从事社区O2O的产品经理,可能需要关心每个小区的情况,则可以添加自定义字段“HousingEstate”;从事跨国业务的产品经理,需要关心不同国家的情况,则可以添加自定义字段“Country”。
● How:即用户从事这个事件的方式。这个概念比较广,包括用户使用的设备、使用的浏览器、使用的APP版本、操作系统版本、进入的渠道、跳转过来时的Referer等。目前,神策分析预置了如下字段用来描述这类信息,使用者也可以根据自己的需要来增加相应的自定义字段,如表3-1所示。
表3-1 预置字段对应描述信息
● What:描述用户所做的这个事件的具体内容。在数据接口中,首先使用“Event”这个事件名称来对用户所做的内容进行初步分类。Event的划分和设计也有一定的指导原则,我们会在后文详细描述。除了“Event”这个至关重要的字段以外,我们并没有设置太多预置字段,而是请使用者根据每个产品以及每个事件的实际情况和分析的需求,来进行具体的设置,如表3-2所示。
表3-2 设置事件字段
2.User实体
每个User实体对应一个真实的用户,用distinct_id进行标识,描述用户的长期属性(也即Profile),并且通过distinct_id与这个用户所从事的行为,也即Event进行关联。
一般记录User Profile的场所,是用户进行注册、完善个人资料、修改个人资料等几种有限的场合,与Event类似,建议在后端记录和收集User Profile。
收集哪些字段作为User Profile,也完全取决于产品形态及分析需求。简单来说,就是在能够拿到的那些用户属性中,哪些对于分析有帮助,则作为Profile进行收集。图3-15是针对某知名直播平台业务需求进行的数据模型设计。
图3-15 某知名直播平台案例之事件模型
多维事件模型的探索经历
多维事件模型的探索经历,要从用户行为分析想法的诞生说起。
2008年,也就是我在百度知道工作一年的时间中,我们通过问题推荐的项目给产品带来了7.5%的回答量提升,之后发现很难找到发力点。百度知道从2005年推出,到那时已经过了三年时间,进入了成熟期,很难再通过某个功能改进获得产品数据的大幅提升。我想,能不能借助用户行为分析来了解百度知道的用户行为特征,也许我们都不了解用户使用产品的方式,但可以通过用户行为分析发现不同用户的访问特征,进而优化产品。
那时我对用户行为分析的理解很初级,直觉是应该做一个产品——能够研究用户的访问行为序列。我先是拿了一些Web Server的日志,然后人工去抽查,但浏览起来太不方便。我想,如果有个工具,在输入一个用户账号后就能看到他的详细行为,这会方便很多。
不久,我去负责日志统计平台,这个工作就暂停了。到了2009年中期,日志统计平台已经顺利推出,并且在公司内得到很好的推广,于是我将一些研发工作都移交给团队新人,又抽出手来继续研究用户行为分析。我的思路得到了领导的认可,新产品部门把几个业务线的人联合起来,借调了三四个工程师,作为一个跨团队的项目开展。我的思路是要把用户在百度知道、贴吧、图片、MP3等这些产品的用户行为全部规范化,导入到一个系统中,通过一个界面能够查询到任意指定用户的详细行为序列。我当初把这个平台定义为“用户行为分析平台”,可部门的架构师听了之后,觉得这个名字太大了,因为这只是一个用户行为查询平台。
用户行为查询平台
我把用户的任意一个行为操作,都分配一个行为ID,叫ActionID,它是一个数字串,由两部分组成,前三位是产品号,后三位是行为编号,比如百度知道提问行为是101001的形式。每个行为都包含一系列的属性,包括提问行为的用户ID、浏览器类型、IP、问题标题等。不同的行为,有通用的属性,也有特有的属性。有些属性需要和产品线建立查询接口来获取,访问日志中是不包含的。现在想想这个查询接口的设计很不合理,因为它让业务线的耦合性太强。
整个平台主要有两个关键点,一是数据的生成,二是数据的存储和查询。我们直接在强大的日志统计平台上开发几个MapReduce任务,将Web Server及其他后端模块的日志,处理为以ActionID为核心的行为数据,以完成数据的生成。对于数据的存储和查询,我们采用了Hypertable,当时百度系统部有三个工程师在研究Hypertable,并在社区贡献代码。Hypertable是Google BigTable论文的一个开源实现,由C++开发而成,现在用的人已经很少了。我们把处理好的用户行为数据导入Hypertable,并提供一个查询的界面,输入一个IP、UserID之类的内容就可以查看用户的行为序列。
平台推出后,我发现没什么人用。这只是一个内部的工具,主要面向产品经理,他们只会偶尔尝尝鲜,并没有很强的应用场景。与此同时,我也发现网页搜索部有个类似的工具用来人工评估一些检索的用户满意度,网页搜索的产品经理用得挺多。
LogData平台
2010年4月,网页搜索部和搜索新产品部合并了,我们的日志统计团队和网页搜索部的用户行为分析团队合并。我们就把原网页搜索部开发的一些查询工具,全部统一到一起,叫LogData平台。许多查询工具都挺类似,一个ID对应许多条记录,所以很容易统一,这样就避免每产生一个需求,都单独开发和维护一套新工具的问题。
在这之前,负责Hypertable的系统部同事已经离职,加上开源社区都转向了HBase,Hypertable本身一直没有到达稳定的状态,而且三天两头出现故障,需要重新导入数据。于是我们也抛弃了Hypertable的使用,开始转向HBase。刚开始用HBase时也经常出问题,经过几个月的完善,算是比较稳定了。谁知维护HBase的系统部团队又一次出现倒戈,开始推进内部研发的一个叫DDBS的分布式MySQL。DDBS本来是为内部的广告系统而研发的,广告部门的同事没有采纳,反而我们成了第一大用户。DDBS的存储效率不如HBase,有一个好处就是可以用SQL进行查询海量数据。
用户行为数据
前面提到的用户行为查询平台的使用情况并没那么乐观,但我们生成的用户行为数据反而有了更多的应用场景。
一是用于用户行为序列挖掘的研究,当时我花了不少时间研究时间序列的论文,并进行了一些序列模式挖掘的尝试,通过把用户的ActionID序列抽取出来进行。二是我和另一同事两个人针对百度知道、百度百科、百度图片等业务线,通过用户行为数据进行了许多用户分群的挖掘尝试,比如把访问频道和新老用户组合起来分析,生成分析报告。同样,这些分析报告发现不能直接给产品线带来价值,许多产品经理看了后,也并不能指导他的实际行动。现在看来,若利用神策分析的多维事件分析功能,这些组合分析都非常简单,当时我们可花费了不少工作和心血。
还有一个应用点是我们的用户行为数据成为个性化推荐的基础,2010年,百度成立了专门的推荐团队,专门研究推荐引擎,我们的数据成了重要数据源,在我离职前还在应用。
2011年下半年,我们开展用户数据仓库项目,同样是做用户行为事件的分析,在行为数据的整理上,最大的区别是ActionID改叫EventID,基本理念是一样的。再之后我通过Event模型将全百度的数据进行统一,叫User Data Warehouse。在百度的几年时间里把Event模型在百度公司发挥到比较理想的状态,我也深刻理解了这一模型在用户行为分析上的强大之处。
数据分析方法
行为事件分析:行为事件分析法用来研究某行为事件的发生对企业组织价值的影响以及影响程度。企业借此来追踪或记录用户行为或业务过程,如用户注册、浏览产品详情页、成功投资、提现等,通过研究与事件发生关联的所有因素来挖掘用户行为事件背后的原因、交互影响等。
行为事件分析涉及事件、维度和指标三个概念。在分析过程中,一般期望数据是实时采集并能够实时分析的,而事件、维度和指标是可以灵活自定义的。行为事件分析是上节内容讲到的Event实体的可视化展现,其中还将User实体的属性通过User ID贯穿到Event实体中,这样在分析时可以把用户属性作为分组或筛选的条件。
行为事件分析模型的特点与价值
行为事件分析法具有强大的筛选、分组和聚合能力,逻辑清晰且使用简单,已被广泛应用。行为事件分析法一般经过事件定义与选择、多维度下钻分析、解释与结论等环节。
● 事件定义与选择。事件描述的是一个用户在某个时间点、某个地方、以某种方式完成了某个具体的事情。Who、When、Where、What、How是定义一个事件的关键因素。其中:
Who是参与事件的主体,对于未登录用户,可以是Cookie、设备ID等匿名ID,对于登录用户,可以使用后台配置的实际用户ID。
When是事件发生的实际时间,应该记录精确到毫秒的事件发生时间。
Where即事件发生的地点,可以通过IP来解析用户所在省市,也可以根据GPS定位方式获取地理位置信息。
How即用户从事该事件的方式,包括用户使用的设备、浏览器、APP版本、渠道来源等。
What描述用户所做该事件的所有具体内容。比如对于“购买”类型的事件,需要记录的字段有商品名称、商品类型、购买数量、购买金额、付款方式等。
● 多维度下钻分析。高效的行为事件分析要支持任意下钻分析和精细化条件筛选。当行为事件分析合理配置追踪事件和属性,可以激发出事件分析的强大潜能,为企业回答关于变化趋势、维度对比等各种细分问题。同时,还可以通过添加筛选条件,精细化查看符合某些具体条件的事件数据。
● 解释与结论。此环节要对分析结果进行合理的理论解释,判断数据分析结果是否与预期相符,如判断产品的细节优化是否提升了触发用户数。如果相悖,则应该针对不足的部分进行再分析与实证。
漏斗分析:漏斗分析是一套流程分析,它能够科学反映用户的行为状态以及从起点到终点各阶段用户转化率情况的重要分析模型。
漏斗分析模型的特点与价值
对于业务流程相对规范、周期较长、环节较多的流程分析,漏斗分析能够直观地发现和说明问题所在。值得强调的是,漏斗分析模型并非只是简单的转化率呈现,科学的漏斗分析模型能够实现以下价值。
1.企业可以监控用户在各个层级的转化情况。
聚焦用户选购全流程中最有效转化路径,同时找到可优化的短板,提升用户体验。降低流失是运营人员的重要目标,通过不同层级的转化情况,迅速定位流失环节,针对性持续分析找到可优化点,以提升用户留存率。
2.多维度切分与呈现用户转化情况,成单瓶颈无处遁形。
科学的漏斗分析能够展现转化率趋势的曲线,帮助企业精细地捕捉用户行为变化。提升了转化分析的精度和效率,对选购流程的异常定位和策略调整效果验证有科学指导意义。
3.不同属性的用户群体漏斗比较,从差异角度窥视优化思路。
漏斗对比分析是科学漏斗分析的重要一环。运营人员可以通过观察不同属性的用户群体(如新注册用户与老客户、不同渠道来源的客户)各环节转化率,各流程步骤转化率的差异对比,了解转化率最高的用户群体,并针对转化率异常环节进行调整。
在漏斗分析方法中,科学归因、属性关联的重要性
在科学的漏斗分析中,需要科学归因设置。每一次转化节点应根据事件功劳差异(事件对转化的功劳大小)而科学设置。企业一直致力定义最佳用户购买路径,并将资源高效集中于此。而在企业真实的漏斗分析中,业务流程转化并非理想中那么简单。
留存分析:留存分析是一种用来分析用户参与情况和活跃程度的分析模型,考察进行初始行为的用户中,有多少人会进行后续行为。这是用来衡量产品对用户价值高低的重要方法。留存分析可以帮助我们回答一些问题,比如一个新客户在未来的一段时间内是否完成了你期许用户完成的行为?
留存分析模型特点与价值
科学的留存分析模型具有灵活条件配置的特点——根据具体需求筛选初始行为或后续行为的细分维度,针对用户属性筛选合适的分析对象。那么,留存分析有哪些价值呢?
1.留存率是判断产品价值最重要的标准,揭示了产品保留用户的能力。
留存率反映的是一种转化率,即由初期不稳定的用户转化为活跃用户、稳定用户、忠诚用户的过程。随着统计数字的变化,运营人员可看到不同时期用户的变化情况,从而判断产品对客户的吸引力。
2.宏观把握用户生命周期长度及定位产品可改善之处。
通过留存分析,我们可以查看新功能上线之后,对不同群体的留存是否带来不同效果?判断产品新功能或某活动是否提高了用户的留存率?结合版本更新、市场推广等诸多因素,去除使用频率低的功能,实现快速迭代验证,制定相应的策略。
分布分析:分布分析是用户在特定指标下的频次、总额等的归类展现。它可以展现出单用户对产品的依赖程度,分析客户在不同地区、不同时段所购买的不同类型的产品数量、购买频次等,帮助运营人员了解当前的客户状态,以及客户的运转情况。如订单金额(100以下区间、100元~200元区间、200元以上区间等)、购买次数(5次以下、5~10次、10以上)等用户的分布情况。
分布分析模型的特点与价值
科学的分布分析模型支持按时间、次数、事件、指标进行用户条件筛选及数据统计。为不同角色的人员统计用户在一天/周/月中,有多少个自然时间段(小时/天)进行了某项操作、进行某项操作的次数、进行事件指标。总之,分布分析价值主要体现在以下几个方面。
1.挖掘用户分布规律,优化产品策略。
对同一指标下有关数据的统计与分析,帮助企业从中挖掘用户访问规律,企业可以将规律与实际产品策略相结合,进一步修正和重新制定产品策略。
2.运营并持续产品生命力,增加客户回访率。
彻底改变之前依靠随机抽样的回访率调查方式,如电话回访等,分布分析从多角度分析辅助企业,判断单用户对产品的依赖程度,以及产品对用户的价值与黏性。
3.快速识别核心用户群体,资源配置有的放矢。
核心用户群体是对企业价值贡献最大的用户群体,是企业最大的利润来源。不同用户群体对产品需求不一样,对用户群体进行差异性辨识,可以了解到用户群体对产品的依赖动力。分布分析通过不同维度筛选出核心用户群体,在此基础上,更好地配置优质资源,以最小成本实现企业利润最大化。
点击分析:点击分析,即应用一种特殊高亮的颜色形式,显示页面或页面组(结构相同的页面,如商品详情页、官网博客等)区域中不同元素点击密度的图示。包括元素被点击的次数、占比、发生点击的用户列表、按钮的当前与历史内容等因素。
点击分析的特点与价值
点击图是点击分析方法的效果呈现。点击分析具有分析过程高效、灵活、易用和效果直观的特点。点击分析采用可视化的设计思想与架构,以简洁直观的操作方式,呈现访客热衷的区域,帮助运营人员或管理者评估网页设计的科学性。
在追求精细化网站运营的路上,企业对用户点击行为的可视化分析提出了更高需求,理想的点击分析方法能够实现以下价值。
1.精准评估用户与网站交互背后的深层关系。
除了展示单个页面或页面组的点击图,前沿的点击分析应该能够支持事件(元素)属性、用户属性的任意维度筛选下钻;运营人员可以按照事件属性和用户属性进行筛选,对特定环境下特定用户群体对特定元素的点击进行精细化分析;支持查看页面元素点击背后的用户列表,满足企业网站的精细化分析需求。
2.实现网页内跳转点击分析,抽丝剥茧般完成网页深层次的点击分析。
前沿的点击分析应支持网页内点击跳转分析——在浏览页面点击图时,使用者能够像访问者一样,点击页面元素,即可跳转至新的分析页面,且新的分析页面自动延续上一页面的筛选条件。同一筛选条件下,运营人员可抽丝剥茧般完成网页深层次的点击分析,操作流畅,分析流程简易、高效。
3.与其他分析模型配合,以全面视角探索数据价值,能够深度感知用户体验,实现科学决策。
无法精细化地深入分析,会让网页设计与优化丧失了科学性。点击图呈现用户喜爱点击的模块或聚焦的内容,是数据价值最上层表现。当点击分析与其他分析模块配合,交叉使用,将数据和分析结果以多种形式可视化展现,运营人员即可深度感知用户体验。例如,改版后,如何评估新版本对用户体验的影响?一处修改,是否影响其他元素的点击?或通过A/B测试,反复验证优化效果选择最优方案等。
用户路径:用户行为路径分析,顾名思义,是用户在APP或网站中的访问行为路径。为了衡量网站优化的效果或营销推广的效果,以及了解用户行为偏好,我们时常要对访问路径的转换数据进行分析。
用户路径分析模型的价值
用户路径的分析结果通常以桑基图形式展现,以目标事件为起点或终点,查看后续或前置路径,可以详细查看某个节点事件的流向,总的来说,科学的用户路径分析能够带来以下价值。
1.可视化用户流,全面了解用户整体行为路径。
通过用户路径分析,可以将一个事件的上下游进行可视化展示。用户即可查看当前节点事件的相关信息,包括事件名、分组属性值、后续事件统计、流失、后续事件列表等。运营人员可通过用户整体行为路径找到不同行为之间的关系,挖掘规律并找到瓶颈。
2.定位影响转化的主次因素,产品设计的优化与改进有的放矢。
路径分析对产品设计的优化与改进有很大的帮助,了解用户从登录到购买整体行为的主路径和次路径,根据用户路径中各个环节的转化率,发现用户的行为规律和偏好,也可以用于监测和定位用户路径走向存在的问题,判断影响转化的主要因素和次要因素,并发现某些冷僻的功能点。
用户分群:用户分群即用户信息标签化,通过用户的历史行为路径、行为特征、偏好等属性,我们将具有相同属性的用户划分为一个群体,并进行后续分析。
用户分群具有以下价值。
1.帮助企业打破数据孤岛并真实了解用户。
用户画像是用户分群的前提,对特定属性的用户群体进行持续深入的用户行为的洞察后,该用户群体的画像逐渐清晰。这些都有助于企业了解某个指标数字背后的用户群体具备哪些特征——他们是谁?行为特点有哪些?偏好是什么?潜在需求和行为喜好是什么?这是后续用户群体针对性分析的前提。
2.定位营销目标群体,帮助企业实现精准、高效营销。
清晰勾勒某群体在特定研究范围内的行为全貌,并定义目标人群,是运营人员信息推送的前提。运营人员根据需求对特定目标人群完成精准信息推送工作,如召回流失用户、刺激用户复购等。当完成特定人群的精准信息推送工作之后,进一步分析以实时全方位查看营销效果,帮助企业与用户实现精准高效的信息互通。
属性分析:属性分析根据用户自身属性对用户进行分类与统计分析,比如查看用户数量在注册时间上的变化趋势、查看用户按省份的分布情况。用户属性涉及用户信息,如姓名、年龄、家庭、婚姻状况、性别、最高教育程度等自然信息,也有产品相关属性,如用户常驻省市、用户等级、用户首次访问渠道来源等。
属性分析模型的价值
属性分析主要价值体现在丰富用户画像维度,让用户行为洞察粒度更细致。科学的属性分析方法,对于所有类型的属性都可以将“去重数”作为分析指标,数值类型的属性可以将“总和”“均值”“最大值”“最小值”作为分析指标,添加多个维度。数字类型的维度可以自定义区间,方便进行更加精细化的分析。
指标体系构建
第一关键指标法:第一关键指标法的概念出自《精益数据分析》( Lean Analytics )一书,即在企业发展的每个阶段,都有一个当前阶段高于一切、需要集中全部精力注意的一个数据,这个数据就是“第一关键指标”。当然,随着业务的发展,这个指标会发生变化。
创业公司所从事的业务各不相同,但从发展阶段来说,大致可以分为MVP、增长和营收三个阶段,不同的阶段关注的指标差异很大。
第一阶段:MVP阶段
MVP(Minimium Viable Product,最小可用产品)是《精益创业》一书中提出的理念,在创业的最早期,创始人的关注点是确定用户需求,并做出一个最小可用的产品来验证需求的真实性。这一阶段数据分析的价值比较小,企业需要定性分析,如通过大量的用户访谈来确定产品的满足情况,此阶段并不需要在数据分析方面投入大量工作。
第二阶段:增长阶段
此阶段的企业已经有了成型的产品以及固定的用户群,有丰富的数据可以进行数据分析。我们将数据分析细分为关注留存指标和关注引荐指标两个阶段。
在产品推广之前,留存分析直接反映了用户的活跃度,帮助企业证明产品是否给客户带来价值,同时,产品经过不断优化和迭代,企业应该关注引荐指标。我的知乎系列文章《PayPal 早期是如何通过Growth Hacking成长为独角兽的》中介绍到,PayPal用户向朋友转钱,会促使该朋友也注册PayPal。企业也可以人为促进这种传播速度,比如PayPal每引荐一位朋友注册,就可得到10美元的奖励。在这个阶段中,病毒系数和病毒周期值得关注,假如在一年的时间内,1个用户推荐2个用户成功注册,那么病毒系数就是2,病毒周期就是0.5年。
当然并非每个产品都能找到病毒传播的途径,若不能,也可尝试口碑的力量。神策数据就是用NPS(Net Promoter Score,净推荐值)来评估客户满意度的:企业级服务的本质是为客户创造价值,客户发展应像“滚雪球”一样越滚越大,在精心培养老客户忠诚度的基础上,再开拓新客户。而低劣的产品与服务只能造成“猴子掰玉米”般的客户流失。NPS在实际经营中有可能粒度太粗,实际的经营活动作用到NPS的周期可能太长。为此,我们又创建了衍生指标,即每个企业平均每周每账户的有效查询次数。通过这一指标,我们可以监控客户的使用情况,如果太低的话,就要和客户沟通到底是在数据采集还是在指标配置上出了问题。只要提升了有效查询频次,就可以提升NPS。
第三阶段:营收阶段
此阶段产品形态已相对成熟,企业的关注点聚焦在如何规模化,并实现快速盈利,关键指标主要是LTV(Life Time Value,生命周期总价值)、CAC(Customer Acquisition Cost,用户获取成本)、渠道分成比例、渠道用户盈利周期等。此时企业需要寻找新的发展方向,为下一步增长做准备,而新方向则可以重复这三个阶段。
以上是不同阶段的典型关键指标,总之,第一关键指标应该具备能够正确反映业务和阶段、简单易懂、具有指导性的特征。对于项目本身还应该具体问题具体分析,比如一直处于增长阶段的百度知道,产品已非常程度成熟,属于百度搜索的子产品,它无需过于关注盈利的问题。
海盗指标法:分别是Acquisition(获取)、Activation(激活)、Retention(留存)、Revenue(营收)和Referral(引荐),简称AARRR。
基于用户行为数据的用户智能应用