19.04.2017

模拟用户留存:寻找最佳公式

如何找到您游戏中最优的留存率预测公式,— App2Top.ru的 devtodev公司的首席分析师 瓦西里·萨比罗夫为您解答。

无论您的产品是在线的还是离线的,适用于网络还是移动端,游戏或服务,用户的留存率都会扮演着至关重要的角色。

留存率是一种产品质量的指标,它反映了用户对您的忠诚度,以及他们愿意在一段时间后仍然与您保持联系的意愿。

这里所说的留存率是经典的“N天留存率” — 也就是在第一次访问后的N天内,继续使用您产品的用户比例。

假设在4月1日,您的游戏首次启动了100名用户。 其中,有些甚至没有启动教程,有些开始了学习但未完成,而有些则完全完成了。

到了4月2日,假设这100名用户中有40名用户重新回到您的游戏。因此,我们说第一天的留存率为40%(顺便说一下,这还不错,成功游戏的留存率通常是40%作为目标)。

而在4月8日,从这100名用户中仅有15名用户回来了。这意味着第七天的留存率为15%。

用户留存率的图形曲线对于网络应用、移动应用、电子商务以及许多离线产品都是相似的:

  • 在最初的几天(几周,几个月)中,留存率急剧下降:用户没有完成“入门培训”(这里指适应期,— 编辑注),因此没有留在项目中;
  • 然后,尽管留下来的用户逐渐减少,但速度已经不如最初那么快;
  • 最后,当用户基础已经形成后,曲线趋向于一个平稳的状态,这个平稳状态仅略有下降,随着时间的推移,曲线看起来越来越像一条水平线。

留存率的图形大致是这样的:

这种曲线被称为“遗忘曲线”,因为它描述了人类遗忘所获得信息的过程。

有时可能会出现这样一种情况:您手上有某些特定时间段的留存率数据(1天、7天、30天),而您想知道中间时间段(6天、14天、23天)或之后的数据(35天)。这在您想要预测“生命周期”或LTV(生命周期价值),或者简单地计算目前活跃的用户在未来会有多少仍然活跃时会很有用。

如果面临这样的任务该怎么办呢?

在本篇文章中,我们正想分享我们解决这个问题的经验。

在这种情况下,您将不得不自行模拟这个双曲线,以模型值回答您关心的问题。

记得在学校时您是如何根据点来绘制曲线的吗?这里的知识将派上用场。唯一要提醒的是,最终的方程可能会比学校的稍微复杂一点。

首先,我们准备使用一些程序来实现这一点。我们特别选择了一些免费的公共工具,供您日后也能自行操作“无须短信和注册”:

  • Open Office,特别是它的电子表格和“求解器”(Solver)功能,在“工具”选项卡中;
  • 需要单独安装的“非线性求解器”免费插件。

我们还将使用近似机制,即用数学公式接近实际值。在进行近似时,首先重要的是选择正确的函数(必须在需要弯曲的地方弯曲),其次是正确选择它的系数,以使模型与实际之间的差异最小。

那么,哪些函数可以用来近似留存率呢?

对于那些完成了数学课程的人来说,首先想到的是双曲线,这是正确的联想。

我们考虑几个双曲线方程(方程中的X表示时间段:日、周或月)。首先,从最简单的双曲线A/X开始,然后增加不同的系数使其复杂化:

未知数A、B、C、D是我们需要寻找的系数。

但我们的任务不仅仅在于此。在每个公式中找到系数的值后,我们必须选择出最优的方程。

也就是说,每个方程的结果是一个单独的曲线。我们将把这条曲线与实际数据进行比较(值得一提的是,这些数据有时并不会完全符合模型),并选择出与实际数据最相似的曲线。

标准将是最小平方差的和(这意味着我们使用了最小二乘法),这是实际值和模型值之间的差异(最小二乘法已经超出了学校的课程范围,这是统计学中推断理论的一部分,通常是在高等院校教授的,— 编辑注)。

在Excel中,这可以通过SUMXMY2实现,而在Open Office中没有找到该功能,但没有关系:我们在一个单独的列中计算偏差(用模型值与实际值之间的差又之间),将其平方后求和。

为了优化,我们将使用Solver。此外,考虑到偏差的平方和函数的双曲线形状,确实需要非线性的求解器。

在这里以及之后,我们交替使用DEPS进化算法和SCO进化算法,新的迭代的起始数据取自前一次迭代的系数值。这个过程在新迭代的平方和减少不超过0.01时结束。

以devtodev演示项目的留存率为起始数据(您可以自行重复所有内容,演示版无需注册即可访问)为28天。

从图中可以看出,数据远非理想,但这对于我们的任务而言恰到好处。在实践中,您很少会得到理想的数据,但依然需要解决问题。

我们将尝试为每个选定的函数选择系数值,以便构建出尽可能接近原始数据的曲线。

结果如下:

可以看到,黄色(A/(X+B))和红色(A/X)线重合了,但与原始曲线相距甚远,而绿色(A/(X+B)+C)和紫红色((A/(X↑D+B)+C))线则相当准确地重现了原始曲线。就平方和偏差而言,紫红色曲线的预测效果最准确:

因此,我们告别方程A/(X+B)和A/X,继续前进。

如果注意观察曲线,可以看出它每天的变化越来越小。我们想起了对数曲线,想知道如果在方程中将X替换为LN(X),是否会改善我们的结果?

因此,下一步我们来比较最佳函数与X和LN(X)的结果。唯一的不同是,在其中一个情况下,我们会添加一个系数E到对数中:

从视觉上看,四条曲线表现得都相当不错,但我们还是来看看偏差平方:

我们可以得出什么结论呢?

  • 四个和五个变量的曲线近似效果最佳;
  • 用LN(X)替代X能略微改善近似效果。

在这个阶段,我们告别了曲线A/(X+B)+C。它未能赢得竞争。

剩下三条曲线,但目前尚不清楚它们在长期距离上的表现如何。我们仅在最初的28天测试了它们。显然,如果在X中使用一个较大的值(比如365),它们可能会变为负值,这是留存率定义所不允许的。

因此,既然我们已经确定了三条决赛曲线,让我们接下去测试它们在更长期留存率上的表现。我们仅从网络上做了几个长期留存率的实例,测试我们的曲线:

我们将720天的例子用图形展示。

数据来自文章“How to measure the success of your app”,在这种情况下,我们试图重现社交网络中给出的留存统计:

可以看出,这三条曲线都很好地进行近似,然而红色线在蓝线的背景下稍微突出,偏差最大。

现在我们来分享三组示例的结果(请记住,偏差平方和越小越好):

如果这是一个比赛,最后一条曲线将会获胜。然而,您会同意,它的优势并不明显,特别是考虑到偏差平方和值差异不大。因此,作为儿童节的获胜者,我们承认这三条曲线,并可以推荐它们用于留存率的近似。

我们还想通过函数A/(ln(X)↑D+B)+C来说明每个系数的意义。

我们得出的结论是:三种曲线很好地适合留存率的近似:

我们已经宣布获胜者,现在想提出几个需要考虑的要点,以便进行留存率的近似。

1)。如果您的起始数据点很少,最好使用系数较少的曲线。请记住:永远不要使用未知系数比您拥有数据点更多的曲线!例如,如果您只有三个留存点(例如,第一天,第七天,第28天),那么您可以使用的最大系数数量就是三个,在这种情况下,函数A/(X+B)+C将是最佳选择。

2)。您可以随意调整优化函数(我们使用了标准的最小二乘法,并简单地计算了平方差的总和)。假设您对不同时间段的留存行为并不太关心,但希望在180天时模型与实际留存值完全一致。您可以将180天的偏差加上较大的权重或平方值。

3)。我们不提供通用的建议,而仅仅是我们解决一些具体任务的经验。也许还有其他函数能够更准确地近似留存率。但我们使用的这些函数已经取得了不错的效果。

您可以通过链接下载所有计算的文件。

最后,我们希望您项目的留存率始终保持不可预测的高水平。

评论
写评论...
Related news