查看原文
其他

数据分析与玩家生命周期

2016-05-09 Unity官方 Unity官方平台
今天这篇文章将由Unity官方Evangelist, Oscar Clark,为大家分享活用数据分析增加游戏盈利及玩家留存的数据分析方法以及具体应用。
使用数据增加游戏留存率和收入
在过去的一年中,为游戏行业带来巨变的创新不仅仅有免费游戏模式。最重要的改变可能是使游戏作为服务运营成为可能,尤其是数据的使用方面。

我曾有幸在一家电信公司就职,其中很长一段时间我都是作为一名游戏开发人员。正是如此,我才有机会很早就发掘了对数据的热爱。但就目前来说,此类话题还没有被广大人群所熟知。本文中我会提供一个快速入门指南并给出一些切实有效的建议,例如使用数据来减少玩家流失,提高广告和IAP的收入。除此之外,我还需要让你了解,正确地使用数据在游戏中与玩家对话的重要性。随着玩家游戏进程的逐渐深入,你还需正确应对玩家的变化
首先需要知道的是,玩家的反应和决择是会随着游戏进行而变化的。虽然有一定的规律可循但也和具体的游戏有关。如果想了解如何有效地引导玩家,就需要知道不同类型的玩家在游戏不同阶段的行为。在此,我将游戏阶段分为四种:发现(Discovery),学习(Learning),参与*(Engaging)。理解玩家为什么在某个阶段做了什么事是进行分析的关键。本小节中,我们还将继续深入讨论“参与”阶段的一些细节,并对一些特殊情况,例如“沉迷(Super-Engagement)”和“回归参与(Re-Engagement)”进行讲解。



涉及到的多种形式
在开始详细讨论玩家生命周期之前,我们首先要达成一些基本共识,关于将要使用的术语(terminology),以及对这些数据的类型,如何使用它们的一些基本理解。



如何采集数据(事件)?
为了得到玩家行为数据,我们需要知道玩家在玩的时候做了什么,因此需要采集事件和行为数据。与质量分析不同,我们要的不是玩家的意见和模糊的记忆,我们需要确切地知道玩家作出的每一个具体的选择和行为。要做到这一点,需要创建一系列事件,这些事件将会被大部分玩家通过特定的触发点触发,触发后游戏就可以回馈给我们特定时间的一些游戏数据。

举例来说,在一个FPS游戏中,我们可能想在玩家射击时采集一些数据。首先给这个事件起一个名字,例如PlayerShot,然后拟定采集该事件时所需要的数据,例如一系列变量:射击发生时的日期和时间、匿名处理的玩家ID、游戏角色的XYZ坐标位置、射击造成的伤害、被击中玩家的匿名ID以及该游戏回合的会话ID。
注意我们并不是说要采集游戏中的一切数据,我们需要的是那些有统计价值的静态参考数据。例如,一张地图中的某一个位置。只要知道采集数据时的地图版本,那么就可以用地图上的坐标位置创建热点图。我们还可以通过一些其它的事件来推断出很多有用的信息,只要这些信息和事件是有关联的。举例来说,我们需要了解玩家玩游戏时关卡内发生的事件,我们不需要每发生一次事件就纪录一次关卡数据,甚至不需要时时记录该场游戏的玩家列表。我们仅需为一个特定的开始游戏事件记录一些关键数据,这样我们就能使用会话ID来还原这场游戏发生的所有事情
注意,玩家的数据应是匿名的。我们并不是要监视玩家,我们需要的是了解所有玩家的游戏过程 。
应该采集什么样的事件?
正因为我们想要了解玩家的生命周期,所以要根据游戏进程的时间轴来考虑需要记录的事件很重要。我发现明确区分出不同类型玩家的游戏进程是很有好处的,例如我们可以收集首次进入游戏的玩家的体验数据,而从老玩家那里收集另外的体验数据。就我个人来说,我不会去记录所有按钮的点击数据,我会倾向于记录那些有意义的数据。现有成熟的解决方案HACPP被用于食品行业。我在Develop Online上写了一篇分析文章,所以这里就不深入细节了。基本原则就是记录那些“危险信号”:例如是否导致玩家恶心(从而流失),还有一些开发者希望看到的事件如使用IAP购买道具或观看视频广告。

必须知道很重要的一点是,我们收集到的数据可能不是完整的,如果玩家在玩游戏的时候电池耗尽或是接听电话,我们就无法得到最新数据。尽管这对于基于网络的游戏来说不是什么大问题,但我们仍然无法保证能够收集到所有数据,而且这种游戏也不能离线使用,无形中减少了培养玩家兴趣的机会。

下面是一些典型的事件(这里使用的是伪变量名):


通过这些事件,我们能够推断出大量的信息。举例来说,如果想知道有多少玩家完成了某一关卡,我们就可以通过GameMenuLaunch事件配合LevelComplete事件来进行统计。我们也可以用这些数据分析出一些更有趣的内容,例如调查有多少人完成了某个关卡(记录LevelIDSelected)中的某个任务目标(记录ObjectiveID),并与之后的关卡的完成数量统计(记录LevelComplete)做比较,这样就能分析出,跳过早期关卡中的某些游戏目标是否会对后面的游戏体验产生影响。
统计这些事件并不仅仅是为了简单地比较数值。简而言之,通过分析某些事件的时间戳,我们可以了解到某些深层次的问题。例如,如果我们注意到玩家在主菜单停留的平均时间开始增长,这就可能是一个危险的信号,意味着玩家可能要开始流失了,也可能意味着(最近)修改过的主菜单对玩家不是特别友好。
什么信息是无法得知的?

尽管之前讨论的数据采集方法很强大,然而你采集的数据会由于你对自己所开发的游戏的理解而产生偏差。也就是说,我们必须经常检查数据收集的标准。这里最大的问题在于,我们无法得知玩家们想做什么,打算做什么却没做成。我们要从数据中洞察到这一点,并据此修改游戏的设计


如果说仅有2%的玩家会在免费游戏中付费,我们就没办法知道怎样做才能让剩下98%的去付费。也许我们根本就没有办法说服这些人去付费,但我想说问题关键在于采集到的数据不是完整的,我们应考虑到这些数据的统计学意义,格外注意因果关系分析,而不是相关性分析[1] 。分析的同时辅以参考玩家生命周期可以弥补这方面的缺陷,因为我们可以将可能的行为按玩家所处的当前阶段进行分类,分别为这些阶段寻找转化玩家的方法,增加转化率。总的来说,就是要在正确的时间提出正确的问题。


漏斗思维
现在有很多先进的技术可以帮我们分析玩家生命周期,其中最有用的一种称做漏斗分析(Funnel Analysis)。该方法可以帮我们跟踪一组玩家,并指出其中有多少玩家成功地进入了游戏的下一个阶段。该类型分析中最常用的一种方法是ARM漏斗(ARM Funnel)。

使用该种类型的分析手段,我们会首先观察从何种途径获得了多少玩家(一般来说是游戏总下载量,虽然从GameMenuLaunch事件得到的统计会更准确一些),途径可分为自发安装(Organic Installs),广告传播安装(Direct Advertising)或者口口相传。(译注:用户安装了你的App,但不是通过点击广告安装的,该种情况即称为自发安装)。接下来的一段时间内,我们会跟踪两种类型玩家的数量。当我们在比较第二天(我称之D2,有些人说D1)与第七天(D7)或第三十天(D30)的两种玩家的数量时,我们就能得到一个很好的留存数据。然后再比较付费玩家的占比,这样我们就又得到了付费转化率
然而,仅仅做到这些还是不够的。当我们把运营一款游戏当作提供一种服务时,我们就有必要将漏斗的职能扩大,大到足以反映出玩家的生命周期——我称之为服务型漏斗(Service Funnel)。这样做的好处是可以将参与游戏的玩家作为帮助因素而非口口相传(该种类型的传播近几年里已经显著减少),还会鼓励其他玩家愿意在游戏中投入更多(时间和金钱)。这就是为什么不愿付费的玩家(Freeloader players)仍然可以带来附加价值的原因——这也是他们从游戏中获益的方式,例如观看有奖励的视频广告。
通过该种分析,结合我们吸引和留住玩家的方法,就能更好地映射出游戏的周期流程。更重要的是,帮助找出创造重复付费行为的因素。



我们能不能做出更好的游戏?
这种问题的答案基本上都是很枯燥的,还会有一些设计师认为一味地追求“好游戏”会扼杀创造力。但实际情况正好相反。这是一个怎样使用手中的数据去创造最吸引人的游戏的问题。我们想尽可能多的留住玩家,如果他们付费一次并且感觉良好,他们就会愿意为之多次付费(只要我们持续为他们提供相应价值的内容)。

我们有必要将游戏体验划分成多个参与阶段,这样就能根据阶段对症下药,利用游戏体验、广告和IAP来增加各阶段的游戏乐趣
然而,数据应启发设计者,而不是成为设计者的障碍——因此进行质量调研是很有必要的。通过你的游戏来获得玩家的意见,观察玩家行为——得到的信息将会是无价的,但是要了解一个事实:这种调查结果只能帮助你了解玩家的动机。社区和在线调研可以为我们带来一些启发,但要记住,这种类型的信息基本上是不可信的,玩家在描述他们的游戏行为时与真实情况比会有很大的差别,更不用说去描述将要做的事情。尽管如此,他们还是可以告诉你他们对游戏的看法,以及他们为什么会作出某些选择。还有一点局限性是,这种调查方式只适用于正式场合——和朋友聚餐可能并不会得到什么有用的信息。玩家的直接反馈用处很大,但在这里我要再次强调,要小心对待这类数据。它仅仅描述了一个特定玩家对游戏的特定看法,这并不能代表所有人。不过说一千道一万,倾听玩家的心声还是很重要的。



我们要的究竟是什么?
世界上没有两片树叶是完全相同的,游戏亦是如此。就游戏的表现和不同阶段的玩家行为而言,下面基本上就是我一直期望达到的目的。这里的关键问题是,我们如何引导玩家到达某个阶段,到达该阶段后都需要做些什么准备以便引导到下一个阶段。



探索
探索是最开始的过渡阶段,从玩家发现这款游戏开始,到安装游戏结束。在本阶段,我们需要确切地了解玩家下载游戏的原因,还要确保玩家确实进行了游戏。

  • 归属——我们不仅需要知道玩家的来源,从何处了解到的游戏,还要知道哪些来源带来了留存率(retention)和付费率(monetisation)。你可以将其作为单独自定义的阶段来追踪数据并比较。

  • 一定要比较玩家在玩游戏过程中的流失时间。最好在同期玩家之间比较(在相同日期开始玩的玩家),虽然基于玩的天数来比较也可以得到有用的结果(即他们的游玩行为并不是同步的)。

  • 有时广告商会用CPI或eCPm或二者组合来计算广告活动的成本,我们需要就下载转换率来看待广告活动的有效性。

  • 下载并不意味着就万事大吉了,你知道有百分之多少的人在下载游戏后从来没有运行过吗?知道他们从下载完游戏到第一次运行经过了多长时间吗?


学习
学习阶段意味着玩家首次获得了游戏体验。本阶段会在游戏对该玩家产生黏性的时候结束。这很重要,我们需要的是真正的热心玩家,要让他们成为游戏的粉丝。我们一定要搞明白的一个关键问题是,玩家是否知道如何去玩这款游戏?这款游戏是不是这个玩家喜欢的类型?

  • 第二天的留存率是多少?如果我们不能在第二天留住玩家,则说明游戏的内容不足以吸引到玩家,更不用说让他们为游戏内容付费。即便我们的游戏很优秀,但这么早就放弃游戏并不是一个好征兆。

  • 玩游戏的频率和持续时间是多少?游戏和游戏之间是不一样的,没有一个标准答案说多少是好多少是坏,因此我们要关注的是一段时间内这些数值是如何变化的。

  • 游戏教程给予的乐趣并不多,但我们知道有百分之多少的人进入第二关或后续关卡?解锁关卡的频率和节奏可以告诉我们游戏真正的乐趣在哪里。

  • 学习阶段中,我不是那么急切地希望把玩家转化成付费玩家——因为早早付费的玩家通常都是一次性付费的玩家。然而我们还是有必要设置一个期望值。一种检测的手段是查看有多少玩家观看了奖励视频广告。

  • 通常来说,追踪玩家在一局游戏中的最后位置是很有用的。这可以用来指示出游戏过程的自然中断频率和位置,此时你应在这些位置上设置一些“召回手段”,例如让玩家一段时间后再次打开游戏的理由。


参与
能进入到此阶段的玩家都是真正的热心玩家。该阶段我们需要重点关注留存率和期望值。作为游戏设计者,我很珍惜“回头玩家和重复付费玩家”。我将出现很多一次付费玩家视为危险信号,这说明我的盈利机制可能是有问题的。创收的秘诀是让玩家有付费的欲望,让他们知道道具的价值(通常辅以奖励式广告向玩家开放部分核心元素)然而,这里的关键问题是:他们有没有做好付费的准备?

  • 留存率依然是关键的度量标准,长期投入对付费意愿的影响,以及付费的多少与玩游戏时长之间的关联。这可能听起来很讽刺,但实际上不是这样。这是提醒我们必须把游戏做好,这样玩家才愿意在游戏上花费更多的时间。那么你游戏的七日留存率是多少?

  • 游戏与游戏之间各有千秋,所以对于付费转化率而言没有硬性规定。然而,游戏中的付费行为应让玩家感觉良好,认为这个钱花的值得,同时不影响非付费玩家的游戏体验。想象一个剪刀石头布的游戏。如果我购买了Lizard-Spock(译注:剪刀石头布的升级版)升级包,我就有了更多的选择也激励了其它玩家。但我仍然可以和其它玩家一起玩游戏。

  • 在学习阶段,我们可以通过分析观看视频广告的频率来发现我们的IAP内容是否足够吸引玩家。如果该数据经常变动,就能分析出我们是否成功地转化了一个付费玩家,或将要失去这个玩家。当然,很可能花钱多的也会是看广告看得最多的人。

  • 留心玩家在参与阶段时的关卡通过成功率。关卡失败带来的沮丧是继续前行的动力,但这也可能会成为阻碍。

  • 不要在关卡平均成功失败比率上有任何偏袒

  • 还有一个小技俩,我们可以记录玩家在游戏中第一次观看奖励广告或付费的时间点。它可以帮助我们理解玩家为什么会付费,而不仅仅是在游戏中的什么位置。如果想让玩家重复付费,我们就应该让他们感受到付费的快感。



热心参与
从优秀游戏中区分出拥有优秀IAP设计的游戏的一个关键点是,让真心喜爱游戏的玩家有动力去继续投入更多来提升体验。这里需要再次强调,这可能听起来有些俗套,但我们应该能够从分析结果中看到玩家的真正价值是什么,而不仅仅是关注哪些玩家开始真正地深入体验游戏。

  • 我个人的做法是参考15日留存率。不管玩家有没有付费,这是一个很重要的指标。

  • 重点关注二次或多次重复付费所占比率,以及不同类型付费的频率和变化。因为这能帮你找出有价值的游戏道具,有助于将来提升游戏的留存率。这很重要,尤其是你能以此确定更有价值的游戏道具来帮助留存玩家。让玩家感到他们花钱买到的东西物有所值才是关键。

  • 同时还要关注社区活动,通过社区也能了解到游戏中道具的真正价值,这也是很重要的。


再次参与
玩家会遇到挫折并放弃游戏,我们应持续不断地激励他们,让他们从游戏体验中获得尽可能多的快感。如果我们能提前发现并解决问题——即便不能及时解决也可以提供新的内容——我们就能帮助玩家乐享其中。不过有时可能没什么效果,他们就是不想玩了。

  • 玩家通常很热心于游戏的更新内容。注意关注不同群体的玩家,观察更新内容有没有成功地让他们再次回到游戏体验中来。游戏更新后,玩家行为的变化可以为我们提供启发。

  • 留心游戏频率、购买道具/观看视频广告数量统计、社区活动甚至是游戏关卡的成功率,如果它们的数值开始下降/减缓,你有没有可以激励玩家的方案?


流失
玩家流失是必然会发生的。我们能做的是尽可能的抓住他们的兴趣点,激励他们,尽可能长时间的留住他们。我们需要确切地知道这个时间点,以便我们接下来推出新的内容,召回流失的玩家。

  • 一次游戏时间长度的变化频率,从关闭游戏到再次打开游戏的时间间隔,相对于上次游戏更新关卡的反应,这些数据有规律可循吗?

  • 这些流失的玩家会继续向其他人推荐我的游戏吗?

  • 虽然玩家已经离开了,但他们此时对游戏的评价是怎样的?这些对于我来说都很关键。因为只要玩家是带着美好的记忆而离去的,他们就有可能在将来的某一天回来。


今天的分享就介绍到这里,如果对Unity Ads或Analytics感兴趣,或是使用过程中遇到什么疑问,欢迎来下方评论区留言。


延展阅读

用游戏引擎拍电影:Unity遇见《奇幻森林》(上)

用游戏引擎拍电影:Unity遇见《奇幻森林》(下)

Made With Unity|数学与艺术的碰撞:Desolus

Unite 2016|Unity 5.4的GPU Instancing功能简介


我们还会分享更多Unity Ads或Analytics相关的内容在Unity官方中文论坛(forum.china.unity3d.com),请保持关注!






点击“阅读原文”进入Unity官方中文论坛!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存