2020年11月19日,我们走进《不休的乌拉拉》《香肠派对》研发商「真有趣」,在真有趣大厦图书馆内举办了游戏数据分析高端沙龙,特邀了真有趣《不休的乌拉拉》数据项目负责人何鹏老师进行分享。在本次活动中,何鹏老师根据TA系统在乌拉拉项目中的实践经验,为大家具体分析了如何利用TA系统提升项目数据利用率。本文为活动现场何鹏老师的内容部分实录,需要观看完整视频的可以访问数数科技官网。
大家好,很荣幸受邀来分享一下真有趣内部,主要是乌拉拉这个项目的数据分析实战经验。我们从接入TA系统开始到现在应该是还不到一年的时间。从这么短的时间内,其实我觉得对于我们乌拉拉的整个的项目管理以及乌拉拉整个数据的利用率都提高了很大一个层次。今天的分享主要是有4部分:
01 我们为什么选择接入TA系统
我们接入TA系统,是想通过这个平台给项目内所有人进行数据分析的机会,哪怕你之前没有数据分析的基础,你可以在TA系统上进行探索,比如说一些API这些词汇你不明白是什么意思,但是首先你要有个便利的平台让你去看,只要你去看了,那肯定就会对于你想分析的东西有一个概念,这个也是落实到我们真有趣的价值观——数据导向,用户第一,以用户为导向,做用户喜欢的产品。我们给用户提供更多的选择,给用户带来长期有效的快乐,逻辑就是我们不但从我们自己的经验或者我们的项目经验要给用户带来什么,所有的基础其实还是以数据为基础,用户是不是喜欢?是不是受欢迎,还是要以数据来说话,不能是你拍脑袋去想,否则项目是走不长的。
首先讲一下乌拉拉之前没有接触数数科技的情况,也就是乌拉拉项目上线之初,我们采用的数据架构可以说是阿里云的全家桶,开始数据收集,组建服务基地去做本地的gameserver,包括服务端所有的服务器的日志收集,然后去转发到最后上传到阿里云,然后有一部分是到 OSS做日志的机器查询,但是它的查询效率不高,因为它只有30天的有效期,而且对于这个产品包括你的SQL能力都是有很高的要求,然后做一些数据清洗,最后主要的数据查询,包括数据分析都是通过DIH查询,查询已经清洗好了的数据,生成一个大宽表,但是查询效率很低,我们会根据不同的事件去分表,还会对所有的用户做分类,我们需要用到一些用户属性,因为DIY的系统只能做SQL查询,对于数据分析来说,主要依靠数据分析师,包括数据开发,我们想要的数据分析是把数据转起来。首先是数据埋点设计,然后做数据存储,数据分析,以及数据分析的预警,这部分主要是数据分析师,包括可能还有一部分是我们平台运营的一些同学做,然后因为策划对于SQL可能是没有那么那么普及,只有个别会,他们可能都需要通过跟数据开发同学去对接,经过再三确认,才能拿到他想要的数据结果,但是这些查询的过程对接会占用很大的一部分的精力,率就会很低,整个的它的埋点设计包括有效性验证效率都很低。我们数据是T+1,但是整个转起来它可能就会更慢。
数据设计单方面最开始我们是以整个项目设计,因为我们数据开发人员也不是很多。数据的采集收集效率是T+1会很慢,包括数据清洗,如果错了或者说有问题,整个都要重新来。数据分析时效性也不强,应用性也很差,只能通过脚本或者SQL,或者用第三方的BI去去做数据展示,但是它的可定制化就比较弱。我们策划或者运营,如果想要一个报表,想实时监控一个页面,他要先提出需求,然后等很久才能看到报表,可能需要一周或者更长的时间,因为中间大部分时间是在做数据对接,数据验证,对接消耗的能源太多,效率很低,尽管他提出了分析需求,数据组因为人手不够,可能有一些需求就会没有那么快响应,或者说我没办法现在去响应,等有时间做的时候,可能这个活动也已经结束了,所以我就没办法看到这个活动的数据变化。
02 接入TA过程中遇到的问题及解决方法
为了解决这个问题,我们最终还是决定接入 TA系统,首先第一个遇到的问题就是我们的文本数据结构跟数数科技的原始数据结构是一样的,但是他们有一些数据,比如说关键字段,埋点方式,还有我们的数据不光是我们自己用,因为和心动合作之类的,可能还有第三方,我们不可能完全改掉我们原有的埋点,整个程序都重构,这样的话成本比较高,所以我们在中间加了一层数据转发,把我们现有的埋点字段转成数数科技他们需要的,比如进看台的这种就是做一层映射,因为数数他们使用的监视文本数据格式比较通用,所以转起来也是比较顺畅。
接下来分享一下实时数据这一块,因为我们乌拉拉的技术站是够的,我们要运维两套环境,就继续沿用我们之前的组件,但是需要考虑到接口问题,当时也是数数连夜给我们用他们的API接口重新调整一个数据格式,我们通过更轻量化的一个数据收集转发,通过ATP接口转发到TA端,解决了实时的问题,经过测试一秒钟是上万条是没问题的,同时传上万条也没有数据丢失。
再分享一下历史数据,历史数据最开始导入时间拉得比较长,其中的一个问题是我们怎样把数据导到数数平台,在保证数据的唯一性同时更高效,好在TA有各种的数据接入接口,整个测试下来效率还是很高的,使用下来也很顺畅。再讲讲数数的分析平台,我主要讲一下我们自己的使用体验。
先看流程部分,如果是我们传统的BI报表,首先会遇到的一个问题是复杂度的问题,因为你的需求要同时去想,至少涉及到研发和平台部,平台又要分后端和前端分别负责计算和展示的部分,最后你做一个验收。这套流程走下来,它的时间很长,而且跨度很大,跨部门的难度很大,中间万一出了bug,是研发上报的数据有问题,还是平台的计算逻辑有问题,还是平台的前端展示有问题,很难排查。整个过程就会很漫长,它的成本也很高。在接入数数的TA之后,我们现在的流程依然是提出需求,但是只需要研发做一个数据埋点,刚刚讲到埋点的数据会直接回复到我们的平台本身的数据库里面,然后我们只要对数据来源,数据本身做一个验收就可以了。比如说我们去跑一下他的生成数据事件,看一下这个升级的数据是不是对的,就可以做我们的报表了,整个复杂度和时间是有很大优化的。所以我们可以说TA平台提供的这套模块化的工具集带来的一个流程优化比较显著。
接下来跟大家介绍一下我们在TA系统下的应用经验。
首先事件分析,流程分析都是我们经常会用到的,开箱即用极大的提高了效率,我们在分析日活或者不同事件的日活,如果用我们之前自己DIY的系统查询的话,虽然知道怎么查,但是SQL都要重新写,其实对于数据分析师来说,成本就会比较高,比如上了一个新的玩法,上了一个新的礼包或者一个新的宠物,所有的分析都要从0开始。然后复杂分析就是说我们的漏斗,包括路径分析,数据下钻,它就会探索游戏内各步骤的转化情况,包括流程其实也可以来分析,分析用户的偏好以及关键节点的漏斗分析,如果单纯写SQL的话,从零开始进行路径分析其实是很难的,分析越多整个数据复杂度会成倍的增加,通过数数科技的产品我们就能简单操作,直接添加一个事件,整个的分析过程就会很顺利很便利。
用户画像,就是用户分群,用户标签以及用户属性。用户分群从多角度掌握我们指定用户的分群特征, 我们根据用户的特征,用户的一些行为属性,包括付费,活跃度,包括它在是否参与某个事件,去分析当前指定用户的情况,比如我们有时候分析乌拉拉一个宠物,最近上线一个宠物进化的功能,我们首先在立项做这个功能前,我们就可以分析当前的宠物玩家,就是玩家对于宠物这个模块的使用参与率以及他在这个方面付费的情况,在功能上线之后,我们就可以对比。如说之前他是重度玩家重度玩宠物的,或者对于宠物这个功能他并不感兴趣的。在我们上线之后,对于这部分群体,就是说我们划分了标签之后,我们就可以看转化情况,喜欢玩的是不是更喜欢,不喜欢玩的,是不是更多的去参与新的宠物进化这个模块。
自定义查询就是对于数据分析和数据开发很有帮助,我们对于现有的模型,或者我们的埋点没办法去覆盖的一些数据,可以通过回溯达到我们想要的效果。
比如自定义的SQL查询,可能他它外部UI面板没办法覆盖,比如说20%有这些需求,我们可以去查询,再去展示,反馈给我们的策划,包括我们的运营。
数据回溯,举个例子,在乌拉拉,我们之前对于设备新增其实没什么办法,因为我们之前是没有客户端SDK埋点的,所以我们只有数据源的数据,服务端的数据,我们是没办法去做的,通过数据回溯,我们可以通过历史采集的一些设备ID,去存量计算,比如当前哪些设备是新增的,再反过来说,用设备新增去看我们新的设备,包括设备新增到账号创建到角色,创建到登录它的一个转化率,主要是平台后台的维护。
权限的话,其实是我今天重点想讲的,也是TA系统的看板分享,TA系统给我们带来的变化,是多部门的协作更加密切,不同部门的分析结果,不光会自己看,而是分享出来,大家都可以去查看你的报表,也可以看你的整个的分析过程,就是说你的数据是可追溯的。
维度表加虚拟属性,其实对于数据埋点,你之前的埋点设计跟你后续的分析可能有一些出入,或者有一些考虑不到的地方,你没有直接去埋点,我会通过维度表去映射,比如我们的一些媒体类型,比如职业。对于一些记录的时间,虚拟属性的灵活度会更高,因为我们乌拉拉可能有一个不同点就是我们有一个和服,我们分了各个首列季,赛纪的和服,我们其实只记录了他是某个赛季的,对于这个赛季的和服时间在日志里面其实是不好记录的,我们可以通过虚拟属性,就是它通过自己本身所在赛季开服的时间,然后去映射,我们通过计算事件发生的时间,然后去计算当前属于这个赛季开服的第几天,或者这个事件发生的时候属于它的生命周期。这样对于说我们在数据分析的时候,就会有更多的维度指标去筛选,或者说去分组去分析。
报警管理主要是常用的指标实时监控,你可以设置你的预警值,如果出现异常,那就可以及时发出消息。
03 TA系统为乌拉拉项目带来的变化
第三部分讲讲我们接入TA系统之后我们做了什么,TA系统为乌拉拉项目带来的变化,从三个方面来讲。
第一个,运营分析,比如不同的活动不同的时间段去上线,想看看玩家的付费意愿,我们可以在数数平台上面,用报表用看板的形式把这些这些项目这些活动都作一个分组,能够持续的去观察,观察它的ARPU,如果把他们都放在一个界面里,看板如果做完了,我们后续再上线一个新的活动,就不需要再去重新开始去拿这个活动的 ARPU,到了固定的时间上线,我们的报表里面就会有展示, 这对于我们持续观察,或者对比我们历史上线的项目,都有很大的帮助。
第二点,我们可以持续观察指标的变化,比如说创作有效性,需要多方位判断,不光是跟自己比,还要和同类的项目对比,看有没有提高。对于CPI我们会去设定它的预警值,一个项目如果连 CPI都达不到,那肯定是有问题的,后续要总结经验去优化。
最后主要是业务分析,比如玩法分析,比如说宠物,我们之前推出三个超级宠物老虎,狼,龙。对于说我们推出的宠物,只要他抽到了,并且进化,对于它之后的一个用户的活跃,包括留存,其实都是有很大的提升。其实我们之前在没有接入TA系统之前,主要是策划提需求,我们去分析,但是接入TA之后,这次的宠物进化都是策划自己去分析的。因为整个策划是他们做的,对于模块有更深的理解,如果策划去分析的话,对于业务逻辑或者说他想要达到的一个设计目的,他会有更深的一个理解,他分析出来可能更有说服力,我们数据分析可能就会有更多的精力从我们的角度去验证它,去分析。我们每一个版本都会有分析,我们从不同的角度去分析活动。看看这个结论是不是都是正向的,或者说完全相反,TA系统的上线对于这种思维碰撞都有推动作用。
04 如何更好的使用TA系统化
最后说说乌拉拉和TA系统后续合作的一个期待,也希望我们的合作能走的更长远,首先有一个好的工具,可以解放大部分生产力。我们之前对接策划和运营的需求,会占用大量工作时间,就没有更多精力再去分析,以我们的角度分析项目其他的功能。使用TA系统也提升数据分析能力,这其实需要深度的了解业务,并且具有严谨的逻辑推理能力。我觉得除了策划或者专门做数据分析运营的同学,其实对于业务了解更多的或者说逻辑推理能力更强的,我觉得程序开发也更有发言权。我希望能够增强公司整体的数据意识,不光是公司的高层或者产品,比如程序员或者UI美术,依托于TA系统这样好的工具,都可以培养大家的数据意识,在数据上反应用户为我们做的东西花费了多少精力,有没有付费或者付费的多少,用户的热情是什么?这样才能推动我们对于我们所做的东西有成就感,更好的推动我们去优化我们开发能力,如果你看到我们线上的bug也好,能够真实的看到数据。比如今天日活是100万,因为出现了 bug,日活掉了10万。是不是你更有动力去做好自身的业务模块,然后给整个项目一个正向的反馈。
最后想说和数数的合作,一起发现了数据的价值,数据是信息的载体,也是玩家对于我们游戏产品的反馈。我们希望坚持用户第一、提高创作的有效性,并且不断丰富我们的数据分析思路,充分发掘数据的价值。希望和数数团队也有更多的交流,不断进行效率提升,谢谢大家。