留存率预测(利用T值调整)

留存率预测(利用T值调整)

本文为《R语言游戏数据分析与挖掘》学习笔记,仅作分享。
由于由幂函数拟合得到的留存率曲线过于平滑,而现实数据往往会出现锯齿状,由幂函数预测得到的数据在后期会出现预测误差较大等情况,且后期预测值大于实际值。如图所示:
在这里插入图片描述

故可类比回归分析加权重系数的方法,添加T值对预测值进行调整。
由经验可知:T值分布如下:
在这里插入图片描述

故可借鉴上文方法,进行预测,再将预测值乘以对应的T值,便可得到调整后的预测值。

①先利用上文方法对两类游戏进行留存率预测:
程序如下:

actual <- read.csv("C:/Mathmodel/Ryuyan/GameR/实际留存数据.csv")
# 对类型1的游戏进行留存率预测
type1 <- actual[1:7,2]
day <- seq(1:7)
fit1 <- nls(type1~a*day^b,start = list(a=1,b=1))
fit1
predicted1 <- round(predict(fit1,data.frame(day=seq(1,365))),3)
# 对类型2的游戏进行留存率预测
type2 <- actual[1:7,3]
day <- seq(1:7)
fit2 <- nls(type2~a*day^b,start = list(a=1,b=1))
fit2
predicted2 <- round(predict(fit2,data.frame(day=seq(1,365))),3)
# 将预测值与原始值合并在一起
result <- data.frame(actual,predicted1,predicted2)
head(result)

结果如下:

#类型A
> fit1
Nonlinear regression model
  model: type1 ~ a * day^b
   data: parent.frame()
      a       b 
 0.3819 -0.5085 
 residual sum-of-squares: 2.76e-05

Number of iterations to convergence: 7 
Achieved convergence tolerance: 9.236e-08

#类型B
> fit2
Nonlinear regression model
  model: type2 ~ a * day^b
   data: parent.frame()
      a       b 
 0.3132 -0.6577 
 residual sum-of-squares: 5.67e-06

Number of iterations to convergence: 6 
Achieved convergence tolerance: 8.196e-07

#预测结果概况:
> head(result)
  day Type1 Type2 predicted1 predicted2
1   1 0.383 0.313      0.382      0.313
2   2 0.268 0.200      0.268      0.199
3   3 0.216 0.151      0.218      0.152
4   4 0.187 0.125      0.189      0.126
5   5 0.167 0.108      0.168      0.109
6   6 0.156 0.097      0.154      0.096

②再导入T值数据:

# 导入T值
tvalue <- read.csv("C:/Mathmodel/Ryuyan/GameR/data/第8章/T值.csv")
# 对type1类型的游戏计算调整预测值
result$adjust.predicted1 <- tvalue$T1*result$predicted1
# 对type2类型的游戏计算调整预测值
result$adjust.predicted2 <- tvalue$T2*result$predicted2
# 查看数据前六行
head(result)

结果如下:即可得到调整后的预测值

> head(result)
  day Type1 Type2 predicted1 predicted2 adjust.predicted1 adjust.predicted2
1   1 0.383 0.313      0.382      0.313             0.382             0.313
2   2 0.268 0.200      0.268      0.199             0.268             0.199
3   3 0.216 0.151      0.218      0.152             0.218             0.152
4   4 0.187 0.125      0.189      0.126             0.189             0.126
5   5 0.167 0.108      0.168      0.109             0.168             0.109
6   6 0.156 0.097      0.154      0.096             0.154             0.096

③再分别绘制对应的预测对比图,以观察两者差异:
类型1:

# 绘制实际留存率曲线
plot(Type1~day,data=result,col="slateblue2",main="类型1的留存率曲线",
     type="l",xaxt="n",lty=1,lwd=2)
# 绘制留存率预测曲线
lines(predicted1~day,dat=result,col="violetred3",type="l",lty=2,lwd=2)
# 绘制留存率调整预测曲线
lines(adjust.predicted1~day,data=result,col="yellowgreen",type="l",lty=3,lwd=2)
#  增加图例
legend("top",legend=colnames(result)[c(2,4,6)],lty = 1:3,ncol=3,
       col=c("slateblue2","violetred3","yellowgreen"),bty = "n")

在这里插入图片描述
类型2:

# 绘制type2的预测曲线
# 绘制实际留存率曲线
plot(Type2~day,data=result,col="slateblue2",main="类型2的留存率曲线",
     type="l",xaxt="n",lty=1,lwd=2)
# 绘制留存率预测曲线
lines(predicted2~day,dat=result,col="violetred3",type="l",lty=2,lwd=2)
# 绘制留存率调整预测曲线
lines(adjust.predicted2~day,data=result,col="yellowgreen",type="l",lty=3,lwd=2)
#  增加图例
legend("top",legend=colnames(result)[c(3,5,7)],lty = 1:3,ncol = 3,
       col=c("slateblue2","violetred3","yellowgreen"),bty = "n")

在这里插入图片描述
可发现,预测曲线和实际曲线十分相接近。

红色指的是:未调整的预测曲线,偏高。

蓝色代表真实留存率,灰色是调整后预测留存率,两者几乎重合。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Power BI是一款由微软开发的商业智能工具,可以用于数据分析和可视化。留存是衡量用户持续参与应用程序的指标之一。在Power BI中,可以通过使用DAX函数和可视化工具来计算和展示留存留存是指在特定时间段内用户的持续参与程度。通常,留存是根据用户在特定时间段内的活跃度来计算的。可以使用Power BI中的时间和日期函数,如TODAY()和DATESBETWEEN(),来定义特定的时间段。然后,可以使用COUNT()和DISTINCTCOUNT()函数来计算用户在不同时间段内的活跃度。 计算留存的一种常用方法是使用透视表工具。首先,数据需要被导入到Power BI中,并进行必要的清洗和转换。然后,可以在透视表中选择相应的字段用作行和列,并将计算字段设置为留存。计算字段可以使用DAX函数来计算活跃用户的数量,并将其与初始用户数量进行比较。最后,可以应用适当的可视化格式和样式,以便直观地展示留存的趋势和变化。 使用Power BI的另一种方法是使用DAX函数来计算留存,并创建定制的可视化。可以使用CALCULATE()函数和FILTER()函数来筛选出参与用户的活动,并使用DIVIDE()函数来计算留存。然后,可以使用Power BI提供的各种图表和图形来展示留存的结果。 无论采用哪种方法,Power BI都能够帮助用户轻松计算和展示留存。借助其强大的数据分析和可视化功能,用户可以更好地了解和监测用户参与程度,并采取相应的措施来提高用户的留存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值