用户行为伴随产生大量数据。我们需要对用户行为数据进行采集、清洗、存储、计算、可视化、分析,将数据转化为关键维度指标或者用户行为规则,这些数据后续会成为项目、活动、产品迭代的客观支撑。用户数据采集作为整个流程的基础,采集的质量在数据分析的过程中将起到决定性的作用。
常用的用户数据可分为属性(User)数据与事件(Event)数据,常用的数据来源主要包括客户端、服务端、业务数据与历史数据。TA系统用户行为分析就使用属性(User)+事件(Event)的定义方式,高效、清晰地满足了用户多维分析与深度下钻分析的要求。
在游戏产品中,用户交互所产生的事件越来越多,数据量也越来越大,如何构建良好的用户数据采集体系显得愈发重要。那么,如何构建完备的用户数据采集体系??
一、全面的用户数据采集数据源
通过客户端SDK进行数据采集的方式十分常见,除了接入方便以外,用户的部分客户端点击行为往往不会通知服务器,而这类行为可能恰恰反映了用户的操作习惯,适合通过客户端进行采集。然而受制于客户端网络状况的不确定性以及数据的有效性,仅通过客户端进行数据采集,往往会导致最终的分析结果存在误差,并且深度有限,无法满足游戏行业愈发精细化的运营需求。
服务器端所输出的数据显然更为准确深入,所以对于某些精确度要求较高的数据,建议使用服务端日志作为原始数据。此外,除了上述两种数据源,产品的业务数据库、历史日志、第三方数据源等都可以在数据分析过程善加利用,提供价值。比如出海的游戏公司会对接第三方归因平台 AppsFlyer、Adjust等,这些第三方所提供的数据也可以很好地与项目内端口采集到的用户行为数据进行耦合联查。
基于各种数据源本身的特性,选择合适的接入方式所产生的数据,方能全面精准地洞察用户在产品各个时间段内的具体行为,夯实整个数据分析环节的数据基础。
每种数据源都有其不可替代性,因此需跳出客户端埋点数据采集的固有思维,真正理解并运用各项数据源。当然,在融合不同的数据源时也要注意避坑,比如:
不同数据源数据格式及含义都不同,需要做统一的数据ETL处理,从而能够在同一系统内交叉分析。
不同数据源可能存在同类型的用户行为记录,在采集的过程如不加梳理,反而容易使得后续的分析过程变得繁琐,所以在埋点的时候,对其进行有效地梳理工作,能够大幅提高数据埋点的质量。?
二、精细的用户数据采集维度
在不同行业的数据分析领域中,经常强调无埋点的数据采集方案,但无埋点仅采集标准化的用户交互数据,在数据维度的层面会有很大的缺失。例如,无埋点采集能够获取用户购买的点击行为,但无法得知用户具体购买了什么商品,导致数据深度不足,分析的深度也随之降低。
因而在数据采集的过程中,不仅需要关注数据源的全面性,数据维度也非常重要。以手游产品为例:在采集玩家开始战斗行为的同时,除了事件本身,建议将关卡ID、难易度、出战卡牌、角色等级、角色职业等相关信息一并落地,这样不仅能够分析玩家对于关卡的粘度,更可以通过这些维度发现关卡难度的平滑程度、卡牌的使用率及强度、角色的强度等问题。
针对游戏产品中主要玩家行为及其维度建议的案例,仅供参考:
其实绝大多数的数据维度在代码埋点时并不会添加多余的工作量,但基于这些维度,后续可分析的角度及深度将大大增加。多维度的数据能够为后续分析的深度提供保障,使分析过程不再局限于简单的事件统计,而是从各个角度去了解掌握玩家。?
三、实时的数据流转
数据实时性的重要程度是不言而喻的,无论在服务器、活动的开启阶段,还是广告的投放,都需要根据实时数据做出快速的反应。然而这一点往往也是很容易被忽略的,数据分析人员一般认为客户端SDK在用户产生数据后,经过短暂的延迟即发往数据接收端,基本上可以说是实时的,却忽略了一个重要的问题:数据流转时间。数据接收端的确准实时地收到了数据,然而这些数据是否可以实时查询,是否已经聚合到各个统计维度中,如果整个数据分析系统的数据流转是有延迟的,H+1甚至是T+1的,那么数据的实时性便无从谈起。
所谓实时的数据流转,并不是指数据实时地从源端发送至数据接收端,而是指从数据的产生到数据真正应用于分析的整个过程是否是实时的。
实时的数据流转一直是数据分析中的一大课题,虽然各种分析工具中都有所谓的实时统计模块,但也仅仅是基于一些简单的重要的常规指标,例如DAU、当日充值等数据的展示,其覆盖面显然是不够的。开服过程中,运营人员需要实时地监测各个模块的实时情况,而非仅仅登陆和充值,譬如新用户转化情况、首次充值时间、新人促销活动的参与,这些数据越早获取,对运营决策的帮助越显著,而大多数分析工具往往要第二天才能输出该类数据。
目前实时的数据流转主要采用了流式数据处理方式,而与之对应的则是之前常规的批量计算方式,数数科技推荐流式计算保障数据实效性,TA系统是一套流式架构、实时计算的系统,和传统BI在数据聚合、离线计算的特性上有很强的互补性。
推荐采用流式计算方式:
1、与批量计算慢慢积累数据后按批次计算不同,流式计算将数据计算平摊到每个时间点上,连续地进行进行传输,数据持续流动。
2、计算结果上,批量计算对全部数据进行计算后落地结果并展示,流式计算是每次小批量计算后,立刻应用于在线系统,实时化展现。
流式计算看似与数据采集关系不大,实则息息相关,没有实时的数据流转,数据的实时传输也就没有意义。
可以说,“要想数据分析做得好,优质数据不能少”。完备的数据采集体系至少必须符合以上三个特性:全面、精细、实时,基于此,后续的数据分析才能事半功倍。
CIO之家 www.ciozj.com 公众号:imciow