标题:Playtime Measurement with Survival Analysis
作者:Markus Viljanen, Antti Airola, Jukka Heikkonen, Tapio Pahikkala
译者:游戏数据科学
1 游戏中的游戏时间
1.1 为什么游戏时间很重要
游戏分析在理解玩家行为方面变得越来越重要[1]。游戏的广泛采用、互联网连接和新的商业模式导致了前所未有的数据收集规模。随着数据的日益丰富,研究者和行业都被激励通过游戏分析来深入了解数据。
分析的焦点是玩家留存和流失[2]。留存已被用于许多相关措施和方法,旨在增加产品使用时间[3–12]。更好的留存意味着玩家更长时间地参与游戏。玩家流失,意味着玩家暂时或永久地退出游戏,减少了产品使用,因此是留存的对立面。它也被广泛研究[13–20]。留存指标很受欢迎,因为它们被认为反映了玩家的享受程度,并且增加的产品使用提供了在免费游戏和订阅游戏中增加货币化可能性的机会。游戏的成功可归因于获取新用户并通过有效的货币化留存这些用户的过程[2]。
在分析中量化留存的实际措施中,总游戏时间是一个非常有用的整体留存指标[21, 22],而会话游戏时间[23–30]可以用来衡量游戏内留存。离散指标如会话次数[3, 4]、进度[9]和活跃期[13–20]也与留存相关。
在本文中,我们描述了用于测量留存的生存分析方法,重点是总游戏时间:这使得游戏开发者能够更好地对游戏进行基准测试[1]。生存分析非常适合留存分析,因为它是专门为持续时间数据开发的。其他具有悠久历史的领域中,这些统计方法已成为标准,包括人口统计学[31]、可靠性工程和生物医学科学[32]。
生存分析在许多领域成为事实上的标准的主要原因是它在处理非正态和截尾数据方面表现出色,并且不需要参数方法[33]。游戏时间表现出非正态特征:持续时间为正,严重偏向零并且通常有长尾。由于在行业中通常难以等待所有用户流失以获取其总游戏时间,因此也存在截尾。此外,用户留存可能并不总是完全遵循流行的参数模型[12],这使得无模型方法具有吸引力。在具有类似数据的领域中生存分析的广泛认可以及对科学分析的需求表明,游戏分析将从这种方法中受益。
1.2 相关研究
在游戏分析[21, 22]和游戏网络[23–30]中,作为一个独立的话题,用户行为在测量持续时间数据方面进行了研究,网络通常与闲置时间一起分析游戏时间。游戏分析文献试图理解用户留存以及游戏本身如何对其做出贡献。游戏网络研究如何通过网络质量和相关因素增加用户留存,以及用户活动如何对服务器施加负载,运营商可能试图减轻这种负载。总游戏时间[21, 22, 34]、会话游戏时间[23–30]和会话到达时间[23, 24, 26]或闲置时间,是流行的测量指标。会话通常被定义为连续游戏的持续时间[23–30],但也用于指完整的比赛[3–8]。对于长期游戏,流行的留存测量是订阅时间[13–15]或日历时间内的活跃期[16–20],可能结合使用[14]。会话次数[3, 4]和进度[9]也是用户留存的实例,在抽象层面上相当于离散的持续时间变量。
在许多研究中,游戏时间已被实证分析,一些研究拟合了参数游戏时间分布。一个显著的例子是对超过3000个Steam游戏中600万玩家的总游戏时间的研究[22],利用Weibull分布进行原型分析。使用参数模型的研究经常调查指数[23, 24, 35]、Weibull[11, 12, 21, 22, 25, 26, 30]、Gamma[21]、对数逻辑斯蒂[12]、对数正态[21, 30, 34]和Pareto型[12, 23, 24, 29]分布。
生存分析在游戏分析中的应用处于早期阶段。一些研究使用了生存分析中的核心工具,如游戏时间的生存曲线或流失率[25–28],其中值得注意的是Kaplan-Meier估计的使用[27, 28],以处理由于收集时间短而导致的截尾会话持续时间。专注于生存分析的研究已经研究了用户过程的建模[11]、通过自动化游戏测试测量难度[35]和随时间变化的游戏特征的留存回归[34]。
1.3 游戏时间的生存分析
在本文中,我们描述了生存分析如何为游戏时间分析做出贡献。我们介绍了游戏分析师可以对由观察到的游戏时间组成的数据进行的以下基本分析,使用标准的生存分析软件,如R[36]、SAS和Stata[33]等:
-
生存曲线和风险曲线:这两个生存分析的基础概念允许从视觉上和分析上研究玩家在不同时间点从游戏中流失的速率。它们使分析师能够更好地理解游戏的整体质量,包括强项和弱项。
-
均值和中位数:提供单一指标来表征预期和典型的游戏时间。它们允许分析师将数据聚合为一个有信息的数字,并附带置信区间。
-
对数秩检验:通过比较不同组(例如,不同版本游戏的玩家)的生存曲线提供科学的AB测试。这使得分析师能够推断出这些组是否在给定的置信度下存在差异。
我们将研究限制在没有协变量的生存分析,这涵盖了教科书的前几章,并且通常是任何生存分析研究的起点[33]。所有呈现的方法都伴随着分析Tribeflame Ltd.的移动游戏《Hipster Sheep》总游戏时间的示例。这些方法可以更广泛地用于分析任何持续时间数据,对于留存来说,重要的目标还可以是会话和订阅持续时间。
2 游戏时间数据
2.1 留存
生存分析的目标是一个正的持续时间变量,通常称为事件时间。这可能是流行病学中的人类寿命、可靠性工程中的机器故障时间以及医学中的疾病复发时间 [32]。持续时间变量也可以是离散的,例如以年为单位的寿命或失败的重复次数。正式地,一个给定的群体有一组 m m m 个持续时间变量 { t 1 , … , t m } \{t_1, \ldots, t_m\} {t1,…,tm} 其中 t i > 0 t_i > 0 ti>0。
在游戏中,留存指的是玩家活动直到用户流失事件。根据调查的文献,有几种留存的候选持续时间变量:
- 总游戏时间
- 会话游戏时间
- 总进度
- 总活跃或订阅时间(如MMORPG等)
总游戏时间是指玩游戏的总时间,例如以秒为单位。会话游戏时间对应于连续游戏的持续时间。总进度依赖于游戏开发者的直觉,即如何将游戏消费转化为一个正的非递减值,一个自然的例子是完成的关卡。在具有开放目标和长期游戏的游戏中,可以分析总活跃时间为玩家在游戏世界中参与的日历时间,或总订阅期如取消前的月份数。
2.2 流失和删失
删失在生存分析类型数据中非常常见。例如,在医学研究中,患者可能在经历感兴趣的事件之前退出研究,或者研究可能有一个有限的随访时间,在每个患者经历事件之前终止研究 [33]。这样的个体称为删失,在这种情况下数据受右删失影响。研究对象贡献信息,因为我们知道故障时间必须大于删失时间。为处理这种可能性, m m m 个持续时间观测值 t i t_i ti 的集合扩展为相应的删失指示符 δ i \delta_i δi,给出数据集 { ( t 1 , δ 1 ) , … , ( t m , δ m ) } \{(t_1, \delta_1), \ldots, (t_m, \delta_m)\} {(t1,δ1),…,(tm,δm)}。如果 δ i = 1 \delta_i = 1 δi=1,我们表示事件时间大于或等于 t i t_i ti,而 δ i = 0 \delta_i = 0 δi=0 表示事件发生在 t i t_i ti。
在具有非常长游戏时间的成功游戏中,删失通常是不可避免的,因为游戏开发者希望在等待每个用户流失之前进行分析。即使在显示短游戏时间的移动游戏中,跨日历时间分散的会话也意味着可能需要非常长的实际随访时间。在生存分析中没有发现的第二个重要挑战是,我们总是可以观察到某人是否患病或机器是否故障,但原则上无法知道玩家是否确实流失。玩家可能随时回到游戏中;只有随着时间的推移,我们才会增加这种情况不会发生的信心。
与总游戏时间相关的流失检测问题在文献中已通过各种规则处理,以推断流失和非流失玩家:假设玩家已流失 [21, 22] 或定义一个表示流失的不活跃窗口 [16, 17]。更复杂的流失检测方法将使用文献中的流失预测算法之一来预测删失标签 [18],这里流失等于“事件观察到”,非流失等于“事件删失”。复杂的用户过程模型也能够推断流失 [11]。
这个问题在没有通知的退出情况下表现出来,因为有时很难说用户是否会回来。如果流失事件是可观察的,则不存在这个问题,这些包括会话结束、关卡失败和订阅取消。尽管如此,目前没有一种解决方案是完全令人满意的,因为它们可能会根据方法增加偏差。玩家流失是一个扩展的话题,我们进一步假设有一个简单的方法来推断流失。这使我们能够专注于普遍适用且具有强理论基础的标准方法 [32]。我们旨在在未来的研究中讨论结合流失不确定性的扩展方法。
2.3 游戏时间数据集
在本研究中,我们选择使用一个正在开发中的移动游戏的总游戏时间来展示每种方法在实际生存分析应用中的效果。重要的是要记住,这些方法可以同样适用于任何游戏或任何由留存测量驱动的持续时间数据。
我们使用了Hipster Sheep的数据,如图1所示,这是由Tribeflame Ltd.开发的一款商业级益智游戏。该游戏的目标人群是年轻成年女性,艺术主题是通过自嘲来轻松地取笑时髦人士。游戏目标是引导一只拟人化的绵羊穿越迷宫,寻找下一个大目标。游戏为免费游玩,基于关卡,并使用游戏内购买进行货币化。能量机制用于限制无限制的免费游戏可能性。关卡结合了技能和大量的运气,这在现代免费游戏中很常见。
在开发过程中,有三次重要的用户获取活动,分别对应版本1.11、1.15和1.18,其目的是在连续的开发周期之间测试游戏的吸引力。游戏还有许多其他版本迭代,但我们专注于这些版本,因为它们占据了大多数用户基础。用户通过社交网络广告随机获取。也有一些自然增长,用户邀请朋友或在Google Play上找到游戏,但大部分数据集由获取的用户组成。
在图2中,我们展示了每日新增用户(DNU)和由此产生的每日活跃用户(DAU)。在版本1.11中,2015年6月初共获取了970名用户,在版本1.15中,2015年9月初共获取了1246名用户,在版本1.18中,大多数在10月中旬,共有1537名新玩家加入。这三个版本共有3753名玩家。这不包括只有一次极短会话的玩家,因为这被推断为“获取现象”而非实际游戏;游戏加载需要十几秒钟。
众所周知的统计工具如直方图、经验密度函数和累积分布函数被用于跨游戏分析和网络的持续时间数据 [21–30, 34, 35]。图3绘制了一个直方图,以便与新方法进行比较。
2.4 游戏时间示例数据集
玩家活动通过一个内部日志框架记录到数据库中,该框架通过在短时间间隔内发送累积的事件包来操作。数据被处理以计算总游戏时间。对于几乎每个玩家,我们可以自信地说他们已经流失,但接近观察限制时,我们决定按照 [16, 17] 的方法,认为在收集时间内玩了14天的玩家未流失。这适用于1%的玩家,并导致他们的游戏时间被“删失”。
为了说明计算过程,我们从Android版本1.18中随机抽取了10名玩家的子集。结果显示在表1中,包含游戏时间和删失指示符。
图4展示了样本的游戏时间数据。我们看到有显著的早期流失,有40%的玩家在游戏时间不到1小时内流失,且有一个12小时游戏时间的重尾观察。其他玩家似乎有更典型的1-6小时游戏时间。有一名玩家恰好被删失,但总体来看样本似乎相当具有代表性。
3 生存分析
现在我们开始研究生存分析如何帮助分析游戏时间数据。在本节中,我们解释生存分析中的两个基础概念:生存曲线和风险函数。这些概念使分析师能够在视觉和计算上分析游戏时间数据。生存曲线是一种自然的方式来可视化给定人群的存活比例,这就是为什么它通常在持续时间数据的上下文中使用 [33]。风险函数通常被认为是给定生存曲线的原因,从而简化分析。
3.1 生存函数
假设有 $ m $ 个玩家的游戏时间为 { t 1 , … , t m } \{t_1, \ldots, t_m\} {t1,…,tm}。从统计学角度来说,这些游戏时间是一个随机变量 $ T > 0 $ 的样本,代表了总体的游戏时间,并基于样本我们希望分析 $ T $ 的分布。在离散情况下,例如游戏时间四舍五入到小时,我们使用概率质量函数(PMF),即在 $ t $ 时失败的概率: $ f(t) = P[T = t] $。如果 $ T $ 是连续的,我们则定义概率密度函数(PDF):
f ( t ) = lim Δ t → 0 P [ t ≤ T < t + Δ t ] Δ t f(t) = \lim_{\Delta t \to 0} \frac{P[t \leq T < t + \Delta t]}{\Delta t} f(t)=Δt→0limΔtP[t≤T<t+Δt]
无论我们使用 PMF 还是 PDF,累积分布函数(CDF)用于描述游戏时间小于或等于 $ t $ 的累积概率。在生存分析中,我们通常分析生存函数(SF)[32],它给出了游戏时间大于 $ t $ 的概率:
F ( t ) = ∫ 0 t f ( u ) d u = P [ T ≤ t ] F(t) = \int_{0}^{t} f(u) \, du = P[T \leq t] F(t)=∫0tf(u)du=P[T≤t]
S ( t ) = 1 − F ( t ) = P [ T > t ] S(t) = 1 - F(t) = P[T > t] S(t)=1−F(t)=P[T>t]
作为累积分布函数的补充,生存函数是单调递减的函数,并具有 $ S(0) = 1 $ 和 $ S(t) \to 0 $ 当 $ t \to \infty $ 的性质。有时在实际应用中,生存函数不受限于趋近于零,在这种情况下分布是不正则的。
3.2 风险函数
生存分析分布通常通过玩家的几何衰减来理解最为容易。由于流失的玩家不再面临流失风险,考虑对剩余玩家施加的恒定流失率是有用的。我们也可能有高初始流失率,然后是简单的恒定流失。例如,在表2中,50%的玩家玩了不止一个会话,但在第二个会话后,80%的玩家继续玩第三个会话,其中80%的玩家继续玩第四个会话,等等。在这种情况下,流失指的是在会话 $ i $ 后不再玩下一会话 $ i + 1 $ 的玩家数量,而生存量化了玩超过第 $ i $ 个会话的玩家数量。
这在风险的概念中形式化。对于离散情况,风险函数[32]量化了剩余玩家中流失的比例:
h ( t ) = P [ T = t ∣ T ≥ t ] = f ( t ) S ( t − 1 ) h(t) = P[T = t \mid T \geq t] = \frac{f(t)}{S(t-1)} h(t)=P[T=t∣T≥t]=S(t−1)f(t)
对于连续情况,风险是剩余玩家基础中的瞬时失败率,其定义为极限:
h ( t ) = lim Δ t → 0 P [ t ≤ T < t + Δ t ∣ T ≥ t ] Δ t = f ( t ) S ( t ) h(t) = \lim_{\Delta t \to 0} \frac{P[t \leq T < t + \Delta t \mid T \geq t]}{\Delta t} = \frac{f(t)}{S(t)} h(t)=Δt→0limΔtP[t≤T<t+Δt∣T≥t]=S(t)f(t)
需要注意的重要一点是,连续风险不是在时间 $ t $ 的失败概率,它可以大于1。在小区间内失败概率的近似为 $ P[t \leq T < t + \Delta t \mid T \geq t] \approx h(t) \Delta t $。比例失败概率和失败率的关系类似于 PMF 和 PDF。这两种设置实际上可以用黎曼-斯蒂尔杰斯积分一起处理,更多信息请参阅 [32, 37]。
3.3 风险与生存的连接
了解风险或生存函数,我们可以推导出另一个。在实际应用中,风险常常被分析以便于更简单的解释,而生存曲线作为风险的函数被推导出来。对于离散情况,很容易看出可以使用乘积公式:在时间点 $ t $,生存是 $ u = 1, 2, \ldots, t $ 时流失事件后剩余比例的乘积。例如,在表2中,第三次会话后的生存率为:
S ( 3 ) = ( 1 − 50 % ) ( 1 − 20 % ) ( 1 − 20 % ) = 32 % , 即 320 名玩家 S(3) = (1 - 50\%) (1 - 20\%) (1 - 20\%) = 32\%, \text{即} 320 \text{名玩家} S(3)=(1−50%)(1−20%)(1−20%)=32%,即320名玩家
S ( t ) = ∏ u = 1 t [ 1 − h ( u ) ] S(t) = \prod_{u=1}^{t} [1 - h(u)] S(t)=u=1∏t[1−h(u)]
在连续情况下,我们采用乘积积分,它像黎曼积分一样对定义域进行划分。结果不是求和,而是划分上的项的乘积极限,由生存比例 $ 1 - h(t) \Delta t $ 组成。实际上,较少为人知的乘积积分可以通过取对数用黎曼积分表示 [37]:
S ( t ) = ∏ ( 0 , t ] [ 1 − h ( t ) d t ] = exp ( − ∫ 0 t h ( t ) d t ) S(t) = \prod_{(0,t]} [1 - h(t) \, dt] = \exp \left( - \int_{0}^{t} h(t) \, dt \right) S(t)=(0,t]∏[1−h(t)dt]=exp(−∫0th(t)dt)
风险的积分是累积风险函数 [32]。其作用在于生存函数 $ S(t) $ 的比例变化对应于累积风险函数 $ H(t) $ 的线性变化。取对数得到用生存函数表示的累积风险:
H ( t ) = ∫ 0 t h ( t ) d t = − log [ S ( t ) ] H(t) = \int_{0}^{t} h(t) \, dt = - \log [S(t)] H(t)=∫0th(t)dt=−log[S(t)]
在最简单的情况下,风险 $ h(t) = \lambda $ 是均匀的,意味着流失率随时间恒定。这个风险可以用来推导出两个著名的分布:离散情况的几何分布和连续情况的指数分布。在表3列出的常见生存分布中,韦布尔分布是最受欢迎的之一 [38],它在游戏中也有广泛的应用 [11, 12, 22]。
4 游戏时间生存分析
在本章中,我们利用生存函数和风险函数来衡量游戏的好坏。我们首先使用10名玩家的样本介绍理论,然后将方法应用于整个游戏数据。在分布拟合中,选择参数模型是一个问题。然而,在生存分析中实际上不需要猜测分布;可以使用随访时间内的数据进行无模型估计。这些方法称为非参数方法 [37]。
4.1 拟合生存模型
假设有人有理由相信数据遵循参数模型,并且已指定了风险或生存率。那么接下来该怎么做?拟合分布通常利用最大似然(ML)[38]来完成。具体来说,对于具有持续时间 $ t_1, \ldots, t_m $ 和删失指示符 $ \delta_1, \ldots, \delta_m $ 的数据集 $ D $,通过假设观测值独立同分布(i.i.d.)并找到最大化观测数据似然 $ L(D, \theta) $ 的参数 $ \theta^* $,来拟合由参数 $ \theta $ 表示的概率密度函数(PDF)/概率质量函数(PMF) $ f(t | \theta) $。
L ( D , θ ) = ∏ i = 1 m f ( t i ∣ θ ) 1 − δ i S ( t i ∣ θ ) δ i L(D, \theta) = \prod_{i=1}^{m} f(t_i | \theta)^{1-\delta_i} S(t_i | \theta)^{\delta_i} L(D,θ)=i=1∏mf(ti∣θ)1−δiS(ti∣θ)δi
θ ∗ = arg max θ l ( D , θ ) \theta^* = \arg\max_{\theta} l(D, \theta) θ∗=argθmaxl(D,θ)
为了避免与极小值相关的数值误差,实际操作中会取对数似然 $ l(D, \theta) = \log[L(D, \theta)] $。可以使用如牛顿-拉弗森(Newton-Raphson)[37]等优化算法迭代找到最大似然估计。
例如,为了拟合图5中的指数分布,最小化目标函数中的似然:
L ( D , θ ) = ∏ i = 1 m ( λ e − λ t i ) 1 − δ i ( e − λ t i ) δ i = λ d e − λ R L(D, \theta) = \prod_{i=1}^{m} (\lambda e^{-\lambda t_i})^{1-\delta_i} (e^{-\lambda t_i})^{\delta_i} = \lambda^d e^{-\lambda R} L(D,θ)=i=1∏m(λe−λti)1−δi(e−λti)δi=λde−λR
其中我们定义了观察到的流失次数 $ d = \sum_{i=1}^{m}(1 - \delta_i) $ 和流失风险的总时间 $ R = \sum_{i=1}^{m} t_i $。当导数为零时,取对数似然最大化。在这种情况下,我们可以直接找到最大似然估计:
l ′ ( D , λ ∗ ) = d λ ∗ − R = 0 ⇒ λ ∗ = d R l'(D, \lambda^*) = \frac{d}{\lambda^*} - R = 0 \Rightarrow \lambda^* = \frac{d}{R} l′(D,λ∗)=λ∗d−R=0⇒λ∗=Rd
根据表1中的生存时间,有10个玩家,其中9个流失($ d = 9 $)。流失风险的总时间是累积游戏时间的总和:R = 0.38 + 5.93 + 0.18 + 0.00 + 1.85 + 2.36 + 0.79 + 4.76 + 11.92 + 0.03 = 28.21(小时)。因此,我们得到的失败率或风险为:
$
\lambda = \frac{9}{28.21 \text{小时}} = 0.32 \text{次流失/小时}
$
参数 $ \lambda^* $ 的95%置信区间(C.I.)可以使用正态近似 $ X \pm 1.96 \sqrt{\text{Var}[X]} $ 得到,其中1.96是标准正态分布的值,使得 $ P[-z \leq Z \leq z] = 0.95 $。为了估计渐近正态分布量的置信区间,需要估计其方差。
方差,或一般来说协方差估计,可以通过观察信息的逆得到,在这种情况下是负的二阶导数,或者一般来说是负的Hessian矩阵[36]。由于
l ′ ′ ( D , λ ) = − d λ 2 l''(D, \lambda) = -\frac{d}{\lambda^2} l′′(D,λ)=−λ2d
方差估计可以通过替代最大似然参数得到:
Var [ λ ] = ( − ( − d λ ∗ 2 ) ) − 1 = d R 2 \text{Var}[\lambda] = \left( -\left( -\frac{d}{\lambda^{*2}} \right) \right)^{-1} = \frac{d}{R^2} Var[λ]=(−(−λ∗2d))−1=R2d
因此,带有置信区间的失败率估计为:
λ = 0.32 ± 0.21 次流失/小时 \lambda = 0.32 \pm 0.21 \text{次流失/小时} λ=0.32±0.21次流失/小时
4.2 估计游戏时间生存率
由于所选的参数模型可能并不总是适合数据,因此通常希望使用经验估计作为基准。如果没有删失观测值,可以直接通过计算大于 $ t $ 的游戏时间的比例来经验性地计算生存函数(SF):$ \hat{S}(t) = \frac{1}{m} \sum_{i=1}^{m} I(t_i > t) $。然而,如果存在删失观测值,则需要使用 Kaplan-Meier 估计。
给定 $ m $ 个事件时间 $ t_1, \ldots, t_m $,在时间 $ t_i $ 时存活的非删失或“风险”玩家数为 $ n_i $,流失玩家数为 $ d_i $,流失比例为 $ q_i = \frac{d_i}{n_i} $。Kaplan-Meier(KM)乘积极限估计定义如下 [33]:
S ^ K M ( t ) = ∏ t i ≤ t ( 1 − d i n i ) \hat{S}_{KM}(t) = \prod_{t_i \leq t} \left(1 - \frac{d_i}{n_i}\right) S^KM(t)=ti≤t∏(1−nidi)
通过一个例子来描述该估计器是最简单的。表4和图6展示了表1数据的估计值。在每个事件时间 $ t_i $,我们计算剩余比例 $ 1 - \frac{d_i}{n_i} $ 并将其与之前失败时间的 KM 生存估计 $ \hat{S}{KM}(t{i-1}) $ 相乘以获得生存人口 $ \hat{S}_{KM}(t_i) $。
注意,在 $ t = 0.79 $ 的一个删失事件时间不在事件时间表中,但减少了 $ t = 1.85 $ 时的风险集。
4.3 估计游戏时间累计风险
另一种方法是 Nelson-Aalen(NA)[33] 累计风险估计,它通过流失比例的总和给出:
H ^ N A ( t ) = ∑ t i ≤ t d i n i \hat{H}_{NA}(t) = \sum_{t_i \leq t} \frac{d_i}{n_i} H^NA(t)=ti≤t∑nidi
非参数风险估计 [37] 需要通过核函数平滑累计风险阶梯函数估计。例如,有多种核函数存在;常用的选择是均匀核、Epanechnikov 核和高斯核。核函数 $ K(t) $ 是在零附近集中的密度质量,总面积为一,由带宽 $ b $ 决定,给出风险估计:
h ^ ( t ) = 1 b ∑ i = 1 m K ( t − t i b ) d i n i \hat{h}(t) = \frac{1}{b} \sum_{i=1}^{m} K\left(\frac{t - t_i}{b}\right) \frac{d_i}{n_i} h^(t)=b1i=1∑mK(bt−ti)nidi
当然,使用 KM 估计,我们可以通过
H ^ K M ( t ) = − log [ S ^ K M ( t ) ] \hat{H}_{KM}(t) = -\log[\hat{S}_{KM}(t)] H^KM(t)=−log[S^KM(t)]
得出累计风险估计。等效地,对于 NA 估计,我们有
S ^ N A ( t ) = exp [ − H ^ N A ( t ) ] \hat{S}_{NA}(t) = \exp[-\hat{H}_{NA}(t)] S^NA(t)=exp[−H^NA(t)]
。这两种估计器在实践中广泛使用 [37]。
可以计算 KM 的置信区间。方差可以通过 delta 方法 [37] 近似:
Var [ S ^ K M ( t ) ] = [ S ^ K M ( t ) ] 2 ∑ t i ≤ t n i − d i n i d i \text{Var}[\hat{S}_{KM}(t)] = [\hat{S}_{KM}(t)]^2 \sum_{t_i \leq t} \frac{n_i - d_i}{n_i d_i} Var[S^KM(t)]=[S^KM(t)]2ti≤t∑nidini−di
这些方差估计可能会超出零以上和以下,这违反了生存曲线的假设。一个常见的修正方法 [37] 是估计对数-对数变换估计的方差,这也为 NA 估计提供了置信区间:
Var [ g [ S ^ K M ( t ) ] ] = [ log ( 1 S ^ K M ( t ) ) ] 2 ∑ t i ≤ t n i − d i n i d i \text{Var}\left[g[\hat{S}_{KM}(t)]\right] = \left[\log\left(\frac{1}{\hat{S}_{KM}(t)}\right)\right]^2 \sum_{t_i \leq t} \frac{n_i - d_i}{n_i d_i} Var[g[S^KM(t)]]=[log(S^KM(t)1)]2ti≤t∑nidini−di
其中 $ g(u) = \log[-\log[u]] $。通过 $ g^{-1}(u) = \exp[-\exp[u]] $ 变换回去,得到表4中的 KM 置信区间。
4.4 游戏数据中的游戏时长生存分析
表3中列出的指数分布、Weibull分布、Log-Normal分布和Log-logistic分布是常见的生存数据参数模型 [32]。在图8中,我们使用ML对Hipster Sheep的游戏时长进行了这四种模型的拟合。我们观察到三个模型具有显著的模型偏差。指数分布高估了早期生存率并低估了晚期生存率。Log-Normal分布和Log-logistic分布适合短游戏时长,但其尾部显著长于实际观察到的。Weibull分布似乎具有最小的模型偏差,证实了它为多个游戏提供良好近似的发现 [22]。
图8展示了为什么非参数Kaplan-Meier和Nelson-Aalen估计在流行。参数模型在描述数据时更强大,但当它们不适用时结果会不正确。非参数模型对模型偏差具有鲁棒性,换句话说,它们通常是安全的选择,即使在有限的数据集下,它们也可能足以描述感兴趣的量 [33]。提供的置信区间在数据受限的行业应用中是有信息量的。由于获取用户需要成本 [2],经理可能会要求具有最少用户的统计显著性用户测试,这使得置信区间非常有用。
5 游戏时长指标
本节的目标是解释三个用于基准测试游戏质量的重要指标。这些指标由生存曲线引出:风险率、平均游戏时长和中位游戏时长。这些指标简单、易于测量,并且可以通过置信区间评估其可靠性。
5.1 作为指标的风险率
在可靠性工程中,故障率是衡量产品可靠性的关键指标 [32]:它提供了可靠性随时间变化的概况。产品可能由于缺陷单元在早期出现故障,随后在“有用寿命”期间稳定到一个常数,并在“磨损”期间上升。流失率为游戏提供了类似的漏斗型可视化,可以根据早期、中期和后期游戏的风险进行调查。总体而言,风险率是一个与时间相关的有信息量的指标,用于衡量事件发生的风险。
在免费游戏中,通常观察到故障率在初始会话期间非常高,并随着大多数忠实玩家的留下而稳定或持续下降 [12]。在带有战役的付费游戏中,可能会观察到更集中的游戏时长 [34]。这种分析对游戏设计也可能很有用 [35]。在游戏进程方面,良好的关卡设计应具有大致均匀的流失率:流失率的意外增加表明存在缺陷,而关卡特定的减少则表明改进未被充分利用。
小样本风险估计的一个主要问题是解释可能取决于所选择的方法。图9中的10名玩家样本说明了这一点。分段指数法在给定域的片段(区间)内具有恒定的风险率或指数分布。以1小时区间为例,第一个小时内有 d 1 h = 4 d_{1h} = 4 d1h=4 次流失,总风险时间为 T 1 h T_{1h} T1h = 0.38 + 1 + 0.18 + 0.00 + 1 + 1 + 0.79 + 1 + 1 + 0.03 = 6.38 小时,使得第一个小时的流失率为 λ 1 h = 4 6.38 = 0.63 \lambda_{1h} = \frac{4}{6.38} = 0.63 λ1h=6.384=0.63 次流失/小时。在没有流失的区间内,流失率为 0.00,而在最后一个区间内,有 1 次流失且只有 1 名玩家处于风险中, T 12 h = 0.92 T_{12h} = 0.92 T12h=0.92 小时,意味着 λ 12 h = 1.09 \lambda_{12h} = 1.09 λ12h=1.09 次流失/小时。
5.2 作为指标的平均游戏时长
风险函数不是一个单一的度量,而是一个函数:一组度量,每个时间点都有一个度量。通常需要一个单一的度量来基准测试游戏。如果我们假设货币化与留存率成正比,那么使用预期游戏时长或平均值作为单一指标来预测利润是理想的,这个利润是预期用户价值减去获取成本。对于游戏时长分布,平均游戏时长定义为:
E [ T ] = ∫ t = 0 ∞ t f ( t ) d t E [T] = \int_{t=0}^{\infty} t f (t) \, dt E[T]=∫t=0∞tf(t)dt
平均游戏时长与游戏时长生存曲线有一个惊人的联系:它是曲线下的面积(AUC)[32]:
E [ T ] = ∫ t = 0 ∞ S ( t ) d t E [T] = \int_{t=0}^{\infty} S (t) \, dt E[T]=∫t=0∞S(t)dt
因此,要使用单一指标比较两个生存曲线,可以比较每个曲线下的面积。这非常显著,因为我们有一个单一的统计量来量化游戏的好坏。即使在生存曲线交叉且排名随时间变化的情况下,比较也是明确的。该指标量化了一个生存曲线在额外平均游戏时长上比另一个生存曲线好多少。视觉上,生存曲线的形状描述了额外游戏时长的累积来源:可能是通过减少初期流失或增加长期留存实现的。
通过生存曲线下的面积推导平均值估计的方法是有益的,因为它适用于截尾观察。简单地忽略截尾观察会导致估计的向下偏差。此外,可以利用面积推导出平均值的置信区间。在表5中,我们计算了流失事件之间的区间 t i − t i − 1 t_i - t_{i-1} ti−ti−1 以及每个事件对总面积的贡献 A i = S i − 1 ( t i − t i − 1 ) A_i = S_{i-1} (t_i - t_{i-1}) Ai=Si−1(ti−ti−1)。尾部面积 B i = ∑ k = i + 1 m A k B_i = \sum_{k=i+1}^{m} A_k Bi=∑k=i+1mAk 表示在所有面积计算到第 i i i 点之后尾部剩余的面积。总面积 A = B 0 = ∑ i = 1 m A i A = B_0 = \sum_{i=1}^{m} A_i A=B0=∑i=1mAi,即预期游戏时长,可以计算为3.28小时。
使用正态近似得到的95%置信区间为 A ± 1.96 Var [ A ] A \pm 1.96 \sqrt{\text{Var} [A]} A±1.96Var[A],在这种情况下为3.28 ± 2.47(小时)。 A A A 的方差估计可以推导得到 [31]:
$
\text{Var} [A] = \sum_{i=1}^{m} \frac{B_i^2}{n_i (n_i - 1)}
$
5.3 作为指标的中位游戏时长
平均游戏时长在许多情况下是非常有信息量的,但由于许多早期失败或长尾的存在,它可能无法量化典型的玩家体验。另一方面,中位数试图量化“典型”的游戏时长。它定义为一半玩家存活的时间点:
Median [ T ] = min { t ∣ S ( t ) ≤ 0.5 } \text{Median} [T] = \min \{t | S (t) \leq 0.5\} Median[T]=min{t∣S(t)≤0.5}
通常,可以为生存曲线定义任意分位数。具体来说,分位数定义为:
p th quantile [ T ] = min { t ∣ S ( t ) ≤ 1 − p } p\text{th quantile} [T] = \min \{t | S (t) \leq 1 - p\} pth quantile[T]=min{t∣S(t)≤1−p}
要比较两个生存曲线,可以比较一半玩家流失的时间点。相对中位数来说,流失一半玩家所需时间更长的游戏被认为是更好的。这一基准可以通过创建分位数度量来扩展,例如每个游戏在10%、20%、…、100%玩家流失时的时间序列 {t_{10%}, t_{20%}, …, t_{100%}}。这些度量提供了短期和长期留存的明确基准。
中位游戏时长可以通过找到生存曲线降至或低于0.5的最早时间 t t t 来读取。此外,中位数的置信区间也可以直接从点估计的KM置信区间读取:从中位数处画一条垂直线,读取线与KM置信区间相交处的左(下)和右(上) T T T 值。具体来说,我们寻找满足以下不等式的最小和最大值 t t t,其中对数-对数变换 g ( u ) = log [ − log [ u ] ] g (u) = \log [- \log [u]] g(u)=log[−log[u]] 满足 [36]:
− z α / 2 ≤ g ( Var [ S ^ ( t ) ] ) g ( − S ^ ( t ) ) ≤ z α / 2 -z_{\alpha/2} \leq \frac{g \left( \sqrt{\text{Var} \left[ \hat{S} (t) \right]} \right)}{g \left( - \hat{S} (t) \right)} \leq z_{\alpha/2} −zα/2≤g(−S^(t))g(Var[S^(t)])≤zα/2
其中 Var [ g ( S ^ ( t ) ) ] \text{Var} \left[ g \left( \hat{S} (t) \right) \right] Var[g(S^(t))] 之前已估计得到对数-对数变换的KM置信区间。基于正态近似的值为 z α / 2 = 1.96 z_{\alpha/2} = 1.96 zα/2=1.96 对于95%置信区间。通过在不等式中替换 g ( 0.5 ) → g ( p ) g (0.5) \rightarrow g(p) g(0.5)→g(p) 可以估计 p p p 分位数的置信区间。在这种情况下,我们得到一个高度不确定的估计1.85 [0.00 ↔ 5.93](小时)。
5.4 游戏数据的游戏时长指标
流失率提供了一个非常有用的时间相关的游戏质量指标。如前所述,它可以用作漏斗来量化游戏的强项和弱项。在具有长期消费模式的游戏中,简单的风险率可以实现可靠的玩家生命周期预测。在图11中,我们使用Epanechnikov核来获得数据集中三个版本的风险估计。由于游戏时长由流失事件终止,这是流失率的平滑估计。我们看到版本1.18的流失率在初期相当高,约为0.6次流失/小时,在前4小时内减半至0.3次流失/小时,这被指定为早期游戏。随着大多数忠实玩家留在游戏中,流失率继续稳步下降,并在10小时后达到接近恒定的0.2次流失/小时。
对于总结生存曲线的单一指标,表6计算了数据集中三个游戏版本的平均值和中位数及其置信区间。需要注意的是,1.11的平均置信区间与1.15或1.18相比没有重叠,这意味着差异是显著的。然而,1.15和1.18之间的置信区间足够宽,包含了另一个平均值估计。包括中位数在内的分位数指标可以从图12中的KM估计中读取其置信区间。
作为指标的平均值和中位数之间的差异是显而易见的;在1.18版本中,随机玩家通常在0.77小时后退出,而从随机玩家中提取的预期游戏时长是2.41小时,是前者的三倍。既有易变玩家又有忠实玩家的存在产生了效果,使得这两个指标从不同的管理角度来看都具有信息量。
6 游戏时长比较
6.1 比较群组生存率
给定两条生存曲线,通常需要测试它们的差异。可以使用统计测试来实现这个目的。这些测试假设在零假设下样本是同分布的,并且我们获得的证据可以在给定的置信度下拒绝这个结论。例如,我们可以有两个游戏版本和由每个游戏版本的玩家组成的两个群组产生的生存曲线。然后我们假设这些变化没有影响,生存率是相等的,玩家提供的证据可以测试这个假设,从而得出结论,确实这些变化影响了游戏。
虽然存在几种统计测试,但能够全面比较两条生存曲线是有用的。除了比较平均值 AUC [ S 1 ( t ) ] = AUC [ S 2 ( t ) ] \text{AUC} [S1 (t)] = \text{AUC} [S2 (t)] AUC[S1(t)]=AUC[S2(t)] 或者可能的一条严格优于另一条 S 1 ( t ) < S 2 ( t ) S1 (t) < S2(t) S1(t)<S2(t),我们提出了对数秩检验 [33],该检验在截尾观察下测试 S 1 ( t ) = S 2 ( t ) S1(t) = S2(t) S1(t)=S2(t) 的假设,并允许使用生存曲线来确定差异。为了简单起见,我们称一个群组为对照组,另一个为测试组。
假设在时间 t i t_i ti 时,对照组有 n 0 i n_{0i} n0i 名玩家,其中 d 0 i d_{0i} d0i 名玩家流失,测试组有 n 1 i n_{1i} n1i 名玩家,其中 d 1 i d_{1i} d1i 名玩家流失。记总玩家数为 n i = n 0 i + n 1 i n_i = n_{0i} + n_{1i} ni=n0i+n1i,总流失数为 d i = d 0 i + d 1 i d_i = d_{0i} + d_{1i} di=d0i+d1i。对数秩检验基于以下观察:如果零假设为真,两个群组是相等的,那么给定 n 0 i n_{0i} n0i、 n 1 i n_{1i} n1i 和 d i d_i di,数值 d 0 i d_{0i} d0i 是超几何随机变量 D 0 i D_{0i} D0i 的样本:
P ( D 0 i = d 0 i ∣ n 0 i , n 1 i , d i ) = ( n 0 i d 0 i ) ( n 1 i d 1 i ) / ( n i d i ) P (D_{0i} = d_{0i} | n_{0i}, n_{1i}, d_i) = \binom{n_{0i}}{d_{0i}} \binom{n_{1i}}{d_{1i}} \bigg/ \binom{n_i}{d_i} P(D0i=d0i∣n0i,n1i,di)=(d0in0i)(d1in1i)/(dini)
该分布的均值和方差为 [31]:
E [ D 0 i ] = n 0 i d i n i E [D_{0i}] = \frac{n_{0i} d_i}{n_i} E[D0i]=nin0idi
Var [ D 0 i ] = n 0 i n 1 i d i ( n i − d i ) n i 2 ( n i − 1 ) \text{Var} [D_{0i}] = \frac{n_{0i} n_{1i} d_i (n_i - d_i)}{n_i^2 (n_i - 1)} Var[D0i]=ni2(ni−1)n0in1idi(ni−di)
利用这些事实,可以构建基于得分统计量的线性检验统计量,通过对观察到的和预期事件数之间的差异求和得到 [31]:
U = ∑ i = 1 m ( d 0 i − E [ D 0 i ] ) U = \sum_{i=1}^{m} (d_{0i} - E [D_{0i}]) U=i=1∑m(d0i−E[D0i])
Var [ U ] = ∑ i = 1 m Var [ D 0 i ] \text{Var}[U] = \sum_{i=1}^{m} \text{Var} [D_{0i}] Var[U]=i=1∑mVar[D0i]
卡方检验统计量允许获得 p 值:[31]:
U 2 Var [ U ] ∼ χ 1 2 \frac{U^2}{\text{Var} [U]} \sim \chi^2_1 Var[U]U2∼χ12
为了在实际示例中应用此检验,在表7中我们将版本1.15作为对照组,并将其与版本1.11和1.18的群组进行比较,如图12所示。第一个检验回答了版本1.15是否比1.11有所改进,第二个检验回答了1.18是否进一步改进了游戏。1.11/1.15之间的差异非常显著,然而与图12中可能得出的视觉结论不同,1.15/1.18在生存尾部的差异完全不显著。
对数秩检验有一些修改,强调生存曲线的不同方面:可能希望更重视早期或晚期的失败。例如,带权重的检验统计量 [36]:
U = ∑ i = 1 m w i ( d 0 i − E [ d 0 i ] ) U = \sum_{i=1}^{m} w_i (d_{0i} - E [d_{0i}]) U=i=1∑mwi(d0i−E[d0i])
Var [ U ] = ∑ i = 1 m w i Var [ d 0 i ] \text{Var} [U] = \sum_{i=1}^{m} w_i \text{Var} [d_{0i}] Var[U]=i=1∑mwiVar[d0i]
通常使用权重 w i = m S b ( t i ) ρ w_i = m S_b (t_i)^\rho wi=mSb(ti)ρ。设置 ρ = 1 \rho = 1 ρ=1 得到 Prentice 或 Peto-Peto 修改的 Gehan-Wilcoxon 检验,它更重视早期生存差异。在我们的情况下,这导致了 p 值为 0.004 和 0.76,解释相同。
6.2 分层
群组可能并不总是直接可比的。例如,用户获取可能通过不同的营销活动或在不同的国家进行。因此,两版本之间的差异可能实际上反映了玩家的不同组成,而不是版本导致的行为变化。
为了纠正这种影响,需要调整被怀疑是效果替代原因的协变量。这相当于在组间 j = 1 , … , G j = 1, \ldots, G j=1,…,G 测试零假设 S 1 j ( t ) = S 2 j ( t ) S1j (t) = S2j (t) S1j(t)=S2j(t)。该检验基于分别计算每组的得分统计量 U g U_g Ug 和方差 Var [ U ] \text{Var}[U] Var[U],并使用检验 [36]:
( ∑ g = 1 G U g ) 2 / ∑ g = 1 G Var [ U g ] ∼ χ 1 2 \left( \sum_{g=1}^{G} U_g \right)^2 \bigg/ \sum_{g=1}^{G} \text{Var} [U_g] \sim \chi^2_1 (g=1∑GUg)2/g=1∑GVar[Ug]∼χ12
在我们的情况下,调整国家来源后,我们获得的 p 值为 7.88e-06 和 0.608,这并不改变解释。
7 结论
在本研究中,我们展示了生存分析可以用于衡量游戏中的留存率。正态分布、偏斜和截尾的持续时间数据使其成为一个非常自然和强大的工具。量化留存的持续时间变量,如游戏时间、会话时间和订阅时间,甚至游戏进度,都可以用生存分析的方法进行分析。在本研究中,我们使用了一个实际的游戏开发示例,重点关注总游戏时间。
我们介绍了生存分析的基本基础,认为可以通过流失率或其补数——留存率,以简单的方式分析现象。研究重点关注生存分析测量的三个关键动机:计算生存曲线、推导生存指标和比较生存数据。这些方法通过引入新的游戏分析方法,有助于科学数据分析,同时能够处理截尾数据并利用统计显著性检验。
为了计算生存曲线和累积风险,我们介绍了 Kaplan-Meier 和 Nelson-Aalen 估计。核方法可以用来计算流失率并生成平滑的非参数生存曲线。
对于指标,我们讨论了风险率相比使用生存曲线作为漏斗型估计的改进。在可靠性工程中广泛使用,将其应用于游戏分析尤其有助于在留存和进度分析中检测偏离自然恒定率模式的情况。此外,从生存曲线中推导出平均和中位游戏时间指标,并附有置信区间。
为了进行生存比较,我们使用对数秩统计检验来检验生存曲线是否相等的零假设。该检验可以扩展到协变量分层并比较多个群组。这种方法能够对游戏版本质量进行科学的 AB 测试,例如。
读者可以利用表8中的方法进行应用。它列出了我们介绍的方法以及实现这些方法的 R 软件函数。
总而言之,生存分析驱动的函数、指标和比较提供了多种工具,可用于游戏开发中的留存和进度测量。我们认为该领域在科学游戏分析中具有巨大潜力,并期待在这一主题上进行进一步研究。
References
[1] M. S. El-Nasr, A. Drachen, and A. Canossa, eds., Game Analytics, Maximizing the Value of Player Data. Springer, 2013.
[2] E. B. Seufert, “Freemium metrics,” in Freemium Economics, pp. 83–113, Boston: Morgan Kaufmann, 2014.
[3] B. G. Weber, M. Mateas, and A. Jhala, “Using data mining to model player experience,” in Proc. FDG Evaluating Player Experience in Games Workshop, ACM, 2011.
[4] B. G. Weber, M. John, M. Mateas, and A. Jhala, “Modeling player retention in madden NFL 11,” in Proc. Innovative Applications of Artificial Intelligence Conf. (D. G. Shapiro and M. P. J. Fromherz, eds.), AAAI Press, 2011.
[5] B. E. Harrison and D. L. Roberts, “When players quit (playing Scrabble),” in Proc. AAAI Artificial Intelligence and Interactive Digital Entertainment Conf. (M. Riedl and G. Sukthankar, eds.), The AAAI Press, 2012.
[6] B. Harrison and D. L. Roberts, “Analytics-driven dynamic game adaption for player retention in Scrabble,” in Proc. IEEE Computational Intelligence in Games Conf., pp. 1–8, 2013.
[7] B. E. Harrison and D. L. Roberts, “Analytics-driven dynamic game adaption for player retention in a 2-dimensional adventure game,” in Proc. AAAI Artificial Intelligence and Interactive Digital Entertainment Conf., 2014.
[8] B. Harrison and D. L. Roberts, “An analytic and psychometric evaluation of dynamic game adaption for increasing session-level retention in casual games,” IEEE Trans. Comput. Intell. AI in Games, vol. 7, no. 3, pp. 207–219, 2015.
[9] T. Debeauvais, C. V. Lopes, N. Yee, and N. Ducheneaut, “Retention and progression: Seven months in World of Warcraft,” in Proc. Int. Foundations of Digital Games Conf. (M. Mateas, T. Barnes, and I. Bogost, eds.), Society for the Advancement of the Science of Digital Games, 2014.
[10] T. Debeauvais and C. V. Lopes, “Gate me if you can: The impact of gating mechanics on retention and revenues in Jelly Splash,” in Proc Int. Foundations of Digital Games Conf. (J. P. Zagal, E. MacCallum Stewart, and J. Togelius, eds.), Society for the Advancement of the Science of Digital Games, 2015.
[11] M. Viljanen, A. Airola, T. Pahikkala, and J. Heikkonen, “Modelling user retention in mobile games,” inProc. IEEE Computational Intelligence and Games Conf., pp. 62–69, IEEE, 2016.
[12] M. Viljanen, A. Airola, T. Pahikkala, and J. Heikkonen, “User activity decay in mobile games determined by simple differential equations?,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 126–133, IEEE, 2016.
[13] J. Kawale, A. Pal, and J. Srivastava, “Churn prediction in MMORPGs: A social influence based approach,” in Proc. Int. Computational Science and Engineering Conf., vol. 4, pp. 423–428, 2009.
[14] Z. Borbora, J. Srivastava, K. W. Hsu, and D. Williams, “Churn prediction in MMORPGs using player motivation theories and an ensemble approach,” in IEEE Int. Privacy, Security, Risk and Trust Conf. and IEEE Int. Social Computing Conf., pp. 157–164, 2011.
[15] Z. H. Borbora and J. Srivastava, “User behavior modelling approach for churn prediction in online games,” in IEEE Int. Privacy, Security, Risk and Trust Conf. and IEEE Int. Social Computing Conf., pp. 51–60, 2012.
[16] J. Runge, P. Gao, F. Garcin, and B. Faltings, “Churn prediction for high-value players in casual social games,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 1–8, 2014.
[17] P. Rothenbuehler, J. Runge, F. Garcin, and B. Faltings, “Hidden Markov models for churn prediction,” in Proc. SAI Intelligent Systems Conf., pp. 723–730,2015.
[18] F. Hadiji, R. Sifa, A. Drachen, C. Thurau, K. Kersting, and C. Bauckhage, “Predicting player churn in the wild,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 1–8, 2014.
[19] M. Tamassia, W. Raffe, R. Sifa, A. Drachen, F. Zambetta, and M. Hitchens, “Predicting player churn in Destiny: A hidden Markov models approach,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 325–332, IEEE, 2016.
[20] R. Sifa, S. Srikanth, A. Drachen, C. Ojeda, and C. Bauckhage, “Predicting retention in sandbox games with tensor factorization-based representation learning,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 142–149, IEEE, 2016.
[21] C. Bauckhage, K. Kersting, R. Sifa, C. Thurau, A. Drachen, and A. Canossa, “How players lose interest in playing a game: An empirical study based on distributions of total playing times,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 139–146, IEEE.
[22] R. Sifa, C. Bauckhage, and A. Drachen, “The playtime principle: Large-scale cross-games interest modeling,” in Proc. IEEE Computational Intelligence and Games Conf., pp. 1–8, IEEE, 2014.
[23] T. Henderson and S. Bhatti, “Modelling user behaviour in networked games,” in Proc. ACM International Multimedia Conf., (New York, NY, USA), pp. 212–220, ACM, 2001.
[24] M. Kwok and G. Yeung, “Characterization of user behavior in a multi-player online game,” in Proc. ACM SIGCHI Int. Advances in Computer Entertainment Technology Conf., (New York, NY, USA), pp. 69–74, ACM, 2005.
[25] C. Chambers, W.-c. Feng, S. Sahu, and D. Saha, “Measurement-based characterization of a collection of on-line games,” in Proc. ACM SIGCOMM Internet Measurement Conf., pp. 1–1, USENIX Association, 2005.
[26] W.-c. Feng, D. Brandt, and D. Saha, “A long-term study of a popular MMORPG,” in Proc. ACM SIGCOMM Network and System Support for Games Workshop, (New York, NY, USA), pp. 19–24, ACM, 2007.
[27] P.-Y. Tarng, K.-T. Chen, and P. Huang, “An analysis of WoW players’ game hours,” in Proc. ACM SIGCOMM Network and System Support for Games Workshop, (New York, NY, USA), pp. 47–52, ACM, 2008.
[28] K.-T. Chen, P. Huang, and C.-L. Lei, “Effect of network quality on player departure behavior in onlinegames,” IEEE Trans. Parallel Distrib. Syst., vol. 20, no. 5, pp. 593–606, 2009.
[29] D. Pittman and C. GauthierDickey, “A measurement study of virtual populations in massively multiplayer online games,” in Proc. ACM SIGCOMM Network and System Support for Games Workshop, (New York, NY, USA), pp. 25–30, ACM, 2007.
[30] D. Pittman and C. GauthierDickey, “Characterizing virtual populations in massively multiplayer online role-playing games,” in Proc. Int. Advances in Multimedia Modeling Conf., (Berlin, Heidelberg), pp. 87–97, Springer-Verlag, 2010.
[31] S. Selvin, Survival Analysis for Epidemiologic and Medical Research (Practical Guides to Biostatistics and Epidemiology). Cambridge University Press, 1 ed., 2008.
[32] J. F. Lawless, Statistical models and methods for lifetime data. Wiley series in probability and mathematical statistics. Applied probability and statistics, New-York, Chichester, Brisbane: J. Wiley, 1982.
[33] D. G. Kleinbaum and M. Klein, Survival Analysis: A Self-Learning Text (Statistics for Biology and Health). Springer, 2nd ed., 2005.
[34] T. Allart, G. Levieux, S. Natkin, and A. Guilloux, “Design influence on player retention : A method based on time varying survival analysis,” in Proc. IEEE Computational Intelligence and Games Conf., IEEE, 2016.
[35] A. Isaksen, D. Gopstein, and A. Nealen, “Exploring game space using survival analysis,” in Proc. Int. Foundations of Digital Games Conf. (J. P. Zagal, E. MacCallum-Stewart, and J. Togelius, eds.), Society for the Advancement of the Science of Digital Games, 2015.
[36] D. F. Moore, Applied survival analysis using R. User!, Cham: Springer, 2016.
[37] R. J. Cook and J. F. Lawless, The statistical analysis of recurrent events. Statistics for biology and health, New York, London: Springer, 2007.
[38] F. E. Harrell, Regression Modeling Strategies, with Applications to Linear Models, Logistic and Ordinal Regression, and Survival Analysis. New York: Springer, second edition ed., 2015