比较两组的退出率

时间:2015-10-12 11:51:43

标签: r statistics

我们在R中有2个数据集goodbad。它包含usersgames。 游戏包含10种不同的游戏类型1,2,...,10。数据集good包含已播放很长时间且bad包含已播放短时间然后停止播放的用户的用户。

head(good)
user   game
1      4
2      3
3      4
1      1
15     4
1      2

head(bad)
user   game
10      4
22      3
37      4
37      1
38      4
46      2

我找到了用户在他/她停止播放之前玩过的最新游戏。 因此,对于固定游戏的一个群体,我们有过最后一场游戏的时间和#39; /它播放的总时间。 这给了我们一个退出率。如果退出率很高,则仅表示它可能是最近玩过的游戏,如果退出率低,则意味着游戏可能不是最后一场比赛。

在R中,我们可以看到组good

的退出率
exitrate_good
game  exitrate
1     0.133333
2     0.127772
3     0.090332
...
9     0.317307
10    0.190854

与其他组bad

类似
exitrate_bad
game  exitrate
1     0.186522
2     0.045888
3     0.192556
...
9     0.365899
10    0.119331

例如,我们可以看到游戏9在goodbad中的退出率都很高。

我的问题是:如何找到不受欢迎的游戏并导致玩家停止游戏?

最后一次为用户播放的游戏可能导致用户停止播放。我应该如何比较两组的退出率?

-------(扩展)

让我们看看小组good。 在R中我键入last_game_good,我们得到此输出

latest_game_played   not_latest_game_played
734                  3917
645                  3507
...
765                  2100
112                  535

所以第一行简单地说734+3917玩了这个游戏,这是734个案例中玩的最新游戏。

在这里,我们还可以看到游戏ID 9(倒数第二行)与latest_game_played相比具有非常高的not_latest_game_played。为此,我使用pairwise.prop.test并获得所有成对相关性,一些具有低p值,一些具有高于0.05的p值。我如何使用这些信息,如果我为其他组运行相同的事情,如何对组bad进行比较?

1 个答案:

答案 0 :(得分:1)

因此,您可以做的一件事是比较各组之间的游戏差异。例如。与优秀组中的游戏Y相比,游戏X的退出率是否更高?坏组怎么样?它是一样的模式吗?也许完全不同的模式?

您可以做的另一件事是将游戏与不同组中的游戏进行比较。例如。良好组中的游戏X在坏组中的出口率是否高于游戏X?

第三件事是预先指定并修复对您不利的退出率,并将所有组中的所有游戏与之比较。例如。我知道40%的退出率对我不利。是否有任何一组游戏的退出率高于40%?

我将专注于第一个案例。

我像这样创建数据集

dt = read.table(text=
"latest_game_played   not_latest_game_played
734                  3917
645                  3507
765                  2100
112                  535", header=T)

# create game id
dt$game_id = c(1,2,9,10)

# create total numbers
dt$totals = dt$latest_game_played + dt$not_latest_game_played

dt

#   latest_game_played not_latest_game_played game_id totals
# 1                734                   3917       1   4651
# 2                645                   3507       2   4152
# 3                765                   2100       9   2865
# 4                112                    535      10    647

然后我计算百分比并检查是否存在至少一个统计上显着的差异

# check percentages
prop.test(dt$latest_game_played, dt$totals)

# 4-sample test for equality of proportions without continuity correction
# 
# data:  dt$latest_game_played out of dt$totals
# X-squared = 176.51, df = 3, p-value < 2.2e-16
# alternative hypothesis: two.sided
# sample estimates:
#    prop 1    prop 2    prop 3    prop 4 
# 0.1578155 0.1553468 0.2670157 0.1731066 

请注意,您还可以将这些百分比保存在您自己可以创建的新列中。您看到的p值小于0.05所以至少有一个游戏的退出率高于另一个游戏。或者,换句话说,检查成对差异/比较是合理的。不知道(尚未)哪个差异具有统计显着性,或者是否存在更多差异。下一步是去了解。

# check pairwise comparisons
pairwise.prop.test(dt$latest_game_played, dt$totals)

# Pairwise comparisons using Pairwise comparison of proportions 
# 
# data:  dt$latest_game_played out of dt$totals 
# 
#      1       2       3      
# 2 0.82    -       -      
# 3 < 2e-16 < 2e-16 -      
# 4 0.82    0.82    3.2e-06
# 
# P value adjustment method: holm 

这是成对p值的表。你可以看到游戏9(道具3)在统计上显着高于所有其他百分比。其他游戏的退出率没有区别。

您可以为其他组执行类似的过程,看看是否找到相同的事物/模式