【游戏实战】用数学模型预测游戏留存和LTV

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"什么是LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"用户的LTV(生命周期价值)是游戏从用户获取到流失所得到的全部收益总和。在游戏行业,LTV是大多数运营策略的最终衡量指标,也是一个游戏的价值体现,被广泛应用于广告推量投放的决策行为中。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV的定义为用户生命周期价值(Life Time Value),其值大小由两部分决定:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"a. 生命周期,即Lt部分","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"b. 价值,即V部分","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"放到产品中,即单个用户在产品中存活的时间乘以用户在存活时间期间内单位时间所付的费,用通俗的表达就是:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV = 单用户存活Days *ARPU(per Day)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" = 所有人在总存活期内总付费 / 所有人的人数","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由于用户的存活行为是连续生成的,同时付费行为也是伴随存活行为连续生成的,所以LTV是一个【连续变化的积累值】,绝不是一个固定值。通常长成这个模样:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/7f/7f48614feffed33c8537e7c902f78a8a.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"如何计算LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"bgcolor","attrs":{"color":"#ffffff","name":"user"}}],"text":"举个例子","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"某游戏C,其每日的留存可以用R(t)来表示(即30日留存为R(30)),其每日的ARPU可以用V(t)来表示(即第8天的arpu为V(8))。假设其在某一天中新增了用户1000人,这1000人在后续的n天中的表现为:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/8e/8e743e9f946a2dedfb23b39a79384ef5.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此时在这n天里,这1000人总计付费额度为:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/6d/6d600e8ac71f77b13887f0628c6ae523.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以此1000人的n日LTV为:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/c7/c7fe20c7bb3298fd7afcd421c397ad9b.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"从上述公式中我们可以知道,LTV只与产品本身的留存函数R和ARPU函数V有关,与具体的新增用户数量无关,是由产品本身决定的。","attrs":{}}]},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"为什么要预测LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在游戏广告推量领域,如何进行高质量的推量投放以达到用户持续性增长的目标,是行业的普遍痛点。在传统的游戏广告推量行业中,投放及运营人员根据几款游戏的历史LTV数据,凭借长久的行业经验,对游戏未来的发展性价值进行评估;继而调整相应的游戏投放权重与力度,或进行相应的运营策略(如:开展活动)。随着市场规模扩大、用户群体复杂化,依赖行业经验的人为决策难度越来越大,对游戏及用户群体的价值进行准确评估的可行性也愈来愈低。因此,对于依赖数学算法的、可信的、拥有相对稳定准确性的LTV预估方法的开发研究,在游戏行业得到越来越多的重视。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"LTV作为衡量游戏中用户的价值的重要指标,在游戏评级、用户质量评级、用户增长等应用中具有至关重要的参考价值。历史的LTV数据与当前的LTV数据仅体现游戏发展至今的市场价值,而该游戏未来的市场效益是否能持续稳定发展、是否会陷入瓶颈甚至停滞,往往不得而知。相关人员仅依赖行业经验进行判断与决策将不可避免地伴随主观风险;加入数据分析与算法模型作为决策辅助可以降低决策风险、提高决策效益。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不同游戏的LTV直接影响其ROI(投资回报率),体现游戏的市场价值。以游戏LTV的发展趋势与幅值为参考指标,对游戏进行评级,可以帮助游戏广告投放人员合理地调整不同游戏的资源投放比例;以用户群LTV的发展趋势与幅值为参考指标,对用户群的价值评估,可以帮助游戏广告投放人员合理地调整用于不同用户渠道的资源投放比例。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"某些游戏在发布初期表现良好,之后在某一时间玩家开始大量流失,收益增长停滞,迅速进入瓶颈期。这样的发展趋势在初期也许稍显端倪,却容易被表面的良好数据掩盖(如,初期具有较高的留存率,但已出现异常的衰减情况)。此时运营人员再针对此情况商讨、研究、开发相应的运营策略,往往难以及时降低玩家流失。可预测未来LTV的算法模型可以为运营方提供游戏LTV在未来某时间段的潜在停滞风险,帮助运营方及时甚至提前做好调整运营策略的准备。","attrs":{}}]},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"刚上线的产品,如何预测未来LTV?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"当产品上线后,根据已有的LTV数预测未来LTV走势和节点值,我们将会应用到——时序预测。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"时序预测的思路主要是围绕四个部分来构建预测算法:趋势(T)、季节(S)、周期(C)、不规则波动(I)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"时序预测的模型分为加法模型和乘法模型两种:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"加法:Y=T+S+C+I","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"乘法:Y=T*S*C*I","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"考虑到LTV曲线本身的特性,其趋势(T)的影响占比非常非常大,而季节、周期和不规则波动影响非常非常小,所以从运营人员的角度出发,我们可以简化为Y=T,直接找出符合LTV趋势的函数来做拟合,把时序预测领域的事情又变回为函数拟合的事情。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"当然,对于数据分析方向的研究员在这个领域里可以使用更多更复杂的时序预测方法来预测未来的短期LTV,但是通过函数拟合找到描述趋势的函数表达式,可以更有效的预测未来更长时间段内的节点LTV值。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对于充值包兑换率集中,玩家较稳定的游戏,我们可以取平均ARPU简化LTV公式:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/46/460e62b9a0386b0473576692530337f5.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"为了更细致地把握留存率的变化对LTV的影响,我们试用通过拟合留存率来预测LTV的算法。首先拟合玩家的留存率,并预测出未来留存率的情况;再对留存率进行积分得到LT(生命周期);假设ARPU变化稳定(即使用其平均值),由LT乘ARPU即可得到LTV的预测值。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此算法通过优先拟合留存率,将各因素(如:活动)对留存率的直接影响体现出来,可以一定程度预测未来的留存率波动对LTV的影响。但是对于ARPU值变化较明显的情况不适用。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"这里我们对于业界常用的几种函数进行了整理:","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基于逻辑回归公式的逻辑模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/df/dfedc8581d9cac67f4028e8f10a6d467.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基于反正切函数的反正切模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/49/49ee7350f60cf639e66eb9ee468914e2.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基于幂函数的模型:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/ce/ce47c30b75f404df4dcaec6de00903e0.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在我们超过100个游戏的实验中,幂函数拥有最出色的拟合度和预测准确率:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/90/90a371050beb726e69b2907107304154.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"模型偏差修正","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"仅仅使用幂函数对留存率进行拟合的方式适用于arpu稳定的游戏。如果游戏的arpu存在波动,则直接用均值代替会产生预测误差为了能将ARPU变化对LTV的影响体现,同时从宏观上修正拟合留存率时造成的LTV预测值和LTV真实值之间的偏差,在算法3的基础上我们采用对数函数","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/05/055130922ecb18f86ee18427849aa6d2.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":1,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"(其中E为偏差率,c、d为常数)","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拟合LTV真实值和LTV预测值之间的偏差率,即","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/a6/a6a7f693c70d87839b81d75251d91c37.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我们使用接近真实偏差率的拟合偏差率E,通过公式:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/b0/b01957d929ab1415616679469654bf9d.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"修正首次预测的LTV,得到最终的预测LTV。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"此算法由于将留存率和ARPU对LTV的影响都考虑,具有更强的预测稳定性和普适性,同时也有更高的预测准确度。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在超过100个游戏的实验中,我们可以发现,在使用幂函数拟合留存率后,对LTV进行对数修正的方式,可以提高游戏LTV预测准确率,且准确率随训练数据天数增加而升高:","attrs":{}}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/f9/f9a2e26120dc60b5c007ef12b19a99e3.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"horizontalrule","attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":18}},{"type":"strong","attrs":{}}],"text":"风险与对策","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"当前应用算法存在一定应用风险:若活动信息未知(前7日无活动对留存率造成波动),则不可预测未来的活动对留存率的影响。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对策:尝试使用历史同期活动影响情况来预测;尝试使用其他机器学习模型,将活动信息作为输入参数传给模型。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章