【数据分析案例】使用机器学习做游戏留存数据挖掘的一种尝试

案例来源:@深极智能

1. 目标:针对K游戏数据,预测玩家留存情况,并找出影响留存的因素

2. 数据:玩家id,动作,动作时间戳,玩家关键属性(金币、装备、等级等)

3. 数据清洗:
1)剔除操作数<16的玩家,这类对游戏题材不感兴趣,非目标用户
2)剔除冷门动作信息(在这里绝大部分冷门动作信息是玩家固有的聊天动作)

4. 特征工程:
1)动作特征:以词袋法处理,做tf-idf化
2)动作平均间隔:所有动作间间隔的平均值(由于剔除掉了极端值,所以这里采用平均值是合理的)。平均间隔低,说明连贯性好,用户操作熟练
3)动作间隔最大值:反映了操作卡点,该值大,很可能是游戏优化不好卡住了
4)某特征平均增长速度(特征指的是用户等级、金币、装备等):玩家对游戏的熟悉程度,以及投入程度
5)某特征最大值、最小值:玩家的获得感知和失落感知程度
6)特征变化次数:玩家在游戏中的活跃程度
7)玩家基本属性:是不是vip账号等

5. 分类器:xgboost
1)对于留存玩家:准确率72%,召回率60%
2)对于流失玩家:准确率74%,召回率85%

6. 分析
1)首日流失分析
a. 玩家行为特征:首先用xgb的feature_importance找出重要动作特征,然后分析留存/流失玩家在该行为上的差异。如留存玩家点击“明日领取”的平均次数是非留存玩家的6倍(表中C是玩家数,D是点击该动作后流失玩家的数量,E是留存玩家点击该动作的平均次数/流失玩家点击该动作的平均次数)
b. 玩家关键属性:可以看到流失玩家的上手难度大于留存玩家
2)次日流失分析
a. 玩家行为分析:同上文,注意到“好友提示”等动作,游戏满足的需求是娱乐与社交
b. 玩家关键属性:同上文分析方式
3)卡点分析:计算卡顿时间与留存率之间的相关性,仅0.09,说明卡顿的影响不大,或者说明游戏没有存在明显影响玩家体验的卡顿

7. 待提升点
1)要剔除游戏强制引导的动作
2)动作间的关联没有考虑

————————————————————
思考:
1. 本案例的思路过程很清晰,大致过程是:
1)根据业务理解预设一些特征,将日志中的信息引入到模型中
2)建立树模型,通过树模型分辨特征的重要程度
3)对于重要特征,分析留存/流失用户在该特征上的差异,思考差异原因,提出优化改进
2. 进一步思考,树模型除了识别特征的重要性,还能识别特征的关联性(如“男-三十岁-游戏时间短-充值”),特征关联性可以从树的叶节点得到。分析树的分类路径是否也能帮助我们带来更多洞察?
3. 引入的特征空间是我们模型的上限,我们最后的分析也只能针对一开始引入的特征。如果才采用能自己抽取特征的模型(神经网络、自动编码机),就可以避免我们先验知识不够带来的特征抽取不够问题,但是这类特征又应该如何解读?

猜你喜欢

转载自blog.csdn.net/u013382288/article/details/80764570
今日推荐