对于新玩家流失和资深玩家流失情况的预测
本文最后更新于 998 天前,其中的信息可能已经有所发展或是发生改变。

我曾在之前的文章阐述了我对于新用户(刚注册游戏)流失情况的预过程,即根据他们头1,2天的游戏情况所收集到的数据进行猜测。而在这一范围的另一端是那些愿意在游戏中投入数月时间的资深玩家,及关于他们最终放 弃游戏的多种原因。虽然猜测他们离开游戏的想法很容易,但是在本篇文章中我们将进一步分享我们的数据挖掘方法论。

技术支持

我们的数据集中有来自3万8千名资深玩家长达6个月的游戏记录。

定义流失时刻

明确新玩家的流失时刻非常简单,他们总是会在进入游戏几分钟或几小时后离开。所以我们可以很容易确定这些玩家最后的游戏时间,并因此确定这种流失元素的数据挖掘模式。而对于资深玩家,我们便需要经过多次迭代才能 准确地定义流失情况。我们的第一种假设是:玩家只是一时喜欢游戏,之后他可能就会选择离开游戏。用绿色去标记他们的游戏时间,结果将如下图所示:

6598296821633427818

我们采取较为直接的方法去明确流失时间,即根据玩家最后一次的游戏时间。但是实际上却不是这么简单;大多数玩家的游戏时间如下:

6597981261796467638

我们可以看到8月25日便是玩家最后一次的游戏时间,但是它是否就等于流失点呢?我们可以从图中看到,8月16日前玩家已经连续七天未玩游戏了,或者在7月31日后玩家也是连续7天未曾打开游戏。我们尝试了各种假设,但 却发现简单的假设都是不成立的。以一种简单的方法去明确流失情况(即将某一天当成是玩家的最后一天游戏时间)只能获得65%的精确度。

手动数据调查的结果便是流失者总会经历“较长的”游戏时间,这种间歇性的活动时间有可能持续数周,甚至长达好几个月(就像第二张日历上所示那样)。他们可能老早就不再积极玩游戏了,但却仍会不时地登录到游戏中。 实际上他们可能已经退出了游戏,但偶尔也会为了竞拍,与好友聊天或者核查帐号是否转交给其它同伴而登录游戏。

接下来便是使用经验阀值去砍断这段“较长的”时间,从而明确玩家的游戏积极性是从何时开始淡灭的。最有效的查询方法便是“当日历上前30天的所有游戏时间少于9天时便可以算是最后的游戏时间。”但是这种方法的精确 度也仍然低于80%,并且这种法则只适合临时玩家而非忠实玩家。

6597809737982536557

重新定义流失时刻

决定该项目的成功元素在于重新架构流失时刻,从“玩家离开游戏”到“玩家的积极性低于流失阀值”。我们已经保存并广泛使用了频率参数,并以此界定“日历后30天玩家登录游戏的天数。”总之,如此我们便能够明确玩家的游戏频率,是每天游戏,每隔一天游戏,每周末玩游戏还是一个月只玩几天游戏。我们将根据玩家的游戏频率而划分出不同玩家:

接下来便是定义玩家在变成“The Pit”时的流失情况(这一领域的玩家具有极低的积极性以及极高的流失可能性)。从商业角度来看这种方法非常棒,因为比起研究流失者离开游戏的时间,我们现在更专注于早期检测以及预 测哪些玩家开始对游戏失去兴趣,从而让我们拥有数周时间去激励这些玩家继续游戏。

一种新方法便是预测哪些玩家将在2周内跌进“The Pit”区域内,是7–9,10–15,16–20队列中的玩家,或者是21–25队列的玩家将在3周内跌进这一区域。也就是我们将明确哪些玩家正在失去游戏动力,以及哪些玩家的积 极性将在今后几周时间里快速跌落:

6597693189749984715

选择参数

第一个项目的一大关键点在于一般活动参数对于预测流失情况非常重要。

虽然我们希望这种参数也能够用于分析资深玩家,但是最终我们还是决定尝试一些游戏特有的且具有社交性的参数:

聊天活动,跟同伴聊天以及发送聊天信息
锻造和收获资源
玩家对抗玩家与玩家对抗敌人模式
帐号中的最大角色级别
记下付费订阅天数

每日活动与游戏时间被当成主要的预测元素,而事实也证明它们就是。

选择适当的公式

当我们在分析新玩家时,因为只拥有少数几天的数据,所以我们必须使用简单的即时数值。而面对资深玩家我们却可以使用长达数周甚至数月的数据,所以对于数据收集我们也必须使用不同的方法。移动总数和移动平均值,以及导数和数据拦截在这种情况下都非常有帮助。

6597809737982536559

我们使用30天的移动总数去分析长期的每日活动,并根据线性方程式进行计算。实际用于数据挖掘模式中的参数只会是近似值的拦截值。在数据准备过程中使用普通最小二乘法便是运行T-SQL的一种非常简单的方法。

而对于每日游戏时间的分析,我们必须在使用近似值前删去零点游戏时间中的不活动天数:

6597868012098812678

我们必须重写ETL(游戏邦注:提取,转换,加载)程序并重新加载所有数据,而这么做也是值得的:因为一开始我们所获得的结果都较为粗糙,而面对16–20队列的不和谐的数据挖掘模式只能获得80%的精确度。

最后,基于不同的聚合时期和方法我们共获得30种参数,而关于预测哪些玩家将在2至3周内进入“The Pit”区域我们也达到了80%至90%的精确度。虽然这是一个棒的结果,但是在整个过程中我们却遭遇了种种瓶颈,不管使用 何种新参数或方法都没用。最终,当我们开始使用详尽的过去参数时才取得了突破。

详尽的过去体验

那时候我们模式中的时间轴如下:

6598131894889251606

零点是指我们开始预测未来的时候。基于队列数,我们将提前2,3周进行预测。数据挖掘模式是基于过去时期的各种参数进行估算,例如每天游戏时间的移动平均值的首个导数。所有参数都是从零点开始基于最后X天进行估算 —-最后3天,5天,1周前等等。

一种新方法便是去估算与过去某个点相关的参数。例如,我们能够估算来自7天中每日游戏时间的移动平均值的导数,但却需要追溯到零点前14天。你们是否还记得我之前所提到的玩家的长时间活动影响?本质来看这种方法应 该是将这些时间切割成不同部分,并将其作为各个独立的参数进行分析。在过去的查询过程中我们便尝试了这种参数组合,如(7,-21) 即在-7天至过去21天的时段,还有(7,-14), (7,-7)以及(14,-14)。

可以说这是我们的制胜法宝,能够帮助我们将有关所有队列的精确度推至95%:

6598131894889251614

黑盒子

实际上具有最高精确度的最终数据挖掘模式是基于两种参数的导数和估算,这两种参数分别是活动天数和每日游戏时间!不同队列需要参考不同导数。例如在21-25队列中,详尽的过去估算值非常重要;而对于7-9队列,30天 平均值以及零点前的3至5天参数则更加重要。不管怎样,用于估算资深玩家流失情况的公式总是比估算新玩家复杂得多。下图便是最终数据挖掘模式的示例:

6598090113447397393

如果你说这是一个带有各种神秘数字的黑盒子,那么你的想法便是对的。当我们重新回到对于新玩家流失情况的预测,我们会发现即使我们的模式获得了较高的精确度,但是我们却仍不清楚造成用户流失的具体原因。这种情 况同样也发生在资深玩家身上,即我们还未能把握用户流失的真正原因。我们只是获得了一个拥有95%精确度的黑盒子而已!

如今我们能在资深玩家离开游戏前2,3周预测到他们积极性开始下降的情况,从而让我们的社区管理者能够尽早面向这些玩家而解决这一问题,或提供一些奖励以提高他们对于游戏的忠实度。

比起新手对于用户流失情况的预测,这种数据挖掘模式更侧重于使用公式和黑盒子方法,并要求我们必须投入更多时间去调整并修改结果,从而才能获得95%的精确度以及玩家的回访率。事实上在最终数据挖掘模式中我们未参 杂任何游戏玩法参数。我们只是基于源自活动天数和每日游戏时间的参数进行预测,而这种预测更是适用于所有游戏,乃至各种网络服务。

本作品采用 “知识共享署名-非商业性使用 4.0 国际许可协议” 进行许可。
免责声明:本站文章除特殊说明为原创禁转外,您可以自由的转载和修改,但请务必注明文章来源并不可用于商业目的。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇