游戏开发论坛

 找回密码
 ????
搜索
查看: 9814|回复: 6

[原创] 付费玩家与非付费玩家的分类模型训练

[复制链接]

8360

主题

9283

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
29945
发表于 2016-8-3 15:26:59 | 显示全部楼层 |阅读模式
文/青果灵动公司AlphaGame组 马恒

  研究目的:游戏玩家分两类:付费玩家和免费玩家,他们在游戏内的行为上存在一定差异。本研究针对一款成功手机网游《狂暴之翼》,使用支持向量机(SVM)训练了一个分类器,能自动识别一个玩家属于付费玩家的概率。本研究使用的数据是该手游的埋点数据,采用了4个显著特征作为输入维度。最终分类正确率达到81%。

  分类器的应用:应用本分类器,可以识别游戏开服后具有潜在付费倾向的免费玩家,项目组有针对性地对这些玩家进行个性化服务(例如打折,特殊活动等),促进免费玩家向付费玩家的转变,从而提升游戏付费率和总体收益。对于有付费倾向但暂时没有付费的玩家,我们做两点假设:

  1、他对这款游戏感兴趣,以至于产生了付费玩家的特征。

  2、游戏中的商品(钻石,月卡等)价格高于他的心里预期。

  在这个假设基础上,我们对这个玩家进行商品打折,或是低价销售,可以有效地促进破冰(玩家进行第一笔消费)。

  一、玩家特征提取

  我们从《狂暴之翼》埋点数据中,选取4个统计特征对玩家数据进行数据挖掘,然后训练分类器。这4个特征数据如下:

  a、玩家开服当天到达的最高等级;

  b、玩家的总点击次数;

  c、玩家点击游戏按键的频率;

  d、玩家开服当天游戏的总时间。

image001.jpg
玩家特征数据示意图

  对开服当天付费玩家和同样数量的非付费玩家进行上述数据统计,加一维付费/非付费标签属性,付费玩家标记为1,非付费玩家标记为0。

  选取这四维属性的原因如下:

  假设一个玩家付费,那么玩家等级在第一天应该会达到一个比较高的级别,同时他的在线时间也会较长;点击次数代表一个玩家的疲劳值,点击次数多,玩游戏越易产生疲劳,说明玩家对游戏的喜欢,更有可能成为付费玩家;点击频率太快,说明对游戏没认真的体验,点击频率太慢,说明挂机时间长,付费玩家的点击频率应该在一个合理的值附近波动。

  在处理过程中,我们还有一个假设:玩家所在的地域影响玩家付费意愿和付费能力。考虑到人均收入越高的地区,付费玩家应该会越多,我们根据玩家的登录ip获取玩家的地区,根据2015年31个省的人均收入,对玩家进行了偏序度量,划分为了6个等级,如北京、上海、江苏省的度量为6,西藏,青海等省度量为1。按此方式为每个玩家增加了一维地区属性。

  二、分类模型训练

  我们定义的四个维度,都是连续的数值属性,并假设我们的玩家数据是线性可分的,所以我们选取了SVM(支持向量机)进行模型训练。

  支持向量机,因其英文名为support vector machine,一般简称SVM,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略是通过间隔最大化,最终转化为一个凸二次规划问题的求解。

  具体过程如下:随机选取了《狂暴之翼》三十个服的埋点数据,每个服随机选取与付费玩家等量的非付费玩家。然后利用SVM进行模型训练,最后得到一个玩家付费与非付费的分类器。由于每个服的数据量不同,为了保证数据不受服务器的影响,统计好玩家的特征之后,把玩家特征数据合并之后,再随机打乱分成2等份。其中,一份数据用做训练,另一份数据用来测试,测试分类器的准确度。

  三、结果分析

  分类器的量化评价标准是分类准确度,其定义如下:

image003.png

  其中,A表示被分类器正确分类的玩家数,B表示被分类器错误分类的玩家数,A与B的和,表示玩家总数。

  从实际意义上来讲,80%准确度表示,对100个游戏玩家进行付费和非付费判断,分类器会把其中80个玩家正确的分为是否付费玩家,把20个玩家错误的分类。当分类器把一个玩家分到付费玩家中,说明这个玩家的特征符合付费玩家的特征,相比于其他非付费玩家更有可能通过我们的努力(促销,激励),转化为付费玩家。

  图1为训练数据中不包含玩家地区属性,训练出的分类器对应的分类正确度。图2为训练数据中包含玩家地区属性,训练出的分类器对应的分类正确度。横坐标表示训练的数据量的大小,从5到30分别表示用了几个服的数据。纵坐标表示进行100次试验的准确度平均值。可以看出随着训练数据量的增大,模型的准确度会逐渐提高,然后稳定下来。同时测试的准确度也随着训练数据量的增大,逐渐提升,最后稳定在0.81附近。

  在测试中我们发现:玩家的地区属性对分类器基本没影响。分析原因:付费玩家与非付费玩家在地区分布上的差异度很小。图3为付费玩家与非付费玩家的地区分布图,0代表非付费玩家,1代表付费玩家。随机选取与付费玩家等量的非付费玩家数。由于是随机选取,样本在一定程度上是可以代表整体的。从图中可以看出在样本中,虽然发达地区,付费玩家远多于欠发达地区,但是非付费玩家的地区分布与付费玩家地区分布基本相同,导致地域属性在分类中无显著区分能力。

image005.png
  图1训练数据中没有地区属性的分类器准确度变化曲线

image007.png
图2训练数据中加入地区属性的分类器准确度变化曲线

image009.png
图3付费玩家与非付费玩家的地区分布图

  总结

  本次研究得到的分类器的预测准确度有待提高。研究中,刻画玩家的维度较少,提取的某些特征区分付费与非付费玩家的作用有限。我们下一步工作有两点,一是对分类器进行一些应用,二是增加玩家的特征属性,发现更有价值的特征。

  差异化服务一直以来都是商业竞争的核心,游戏业也如此。本文采用机器学习手段实现的用户分类器,可以使我们发现不同用户的需求,方便我们提供差异化的服务,从而提高产品盈利能力。

0

主题

3

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2016-8-3 16:22:07 | 显示全部楼层
好文。很有用

1

主题

136

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
发表于 2016-8-3 16:34:21 | 显示全部楼层
a~d 这几个指标是想当然?还是从数据中逆推的?

26

主题

466

帖子

967

积分

高级会员

Rank: 4

积分
967
发表于 2016-8-4 09:55:43 | 显示全部楼层
sai1219 发表于 2016-8-3 16:34
a~d 这几个指标是想当然?还是从数据中逆推的?

四维属性的原因描述看,显然是主观假定。
从数据逆推的话 至少依赖的数据点是不能说明什么的
他是先假定
等级比较高的用户付费的可能性比较大
在线时间比较多的用户付费的可能性比较大
点击次数比较多的用户付费的可能性比较大
点击频率合理的用户付费的可能性比较大
然后才去取的等级、在线、点击、点击频率
讲真心话,[假定]本身没错,可是基于这些假定应该进一步的细分才合理
比如
[在线时间比较多的用户付费的可能性比较大]?
是因为
在线时间多,接触的游戏内容多,受游戏内容吸引付费的可能性加大
还是因为
在线时间多,免费渠道获得的收益衰减,受利益驱动吸引付费的可能性加大?
又或者
在线时间多,看到和理解充值活动的次数增加,被活动吸引的概率提高导致付费冲动?

说到底,你数据分析的目的是要得到
一个用户,进行到游戏里的那个阶段时候,最可能付费
那单纯做了四个维度的假设后,每个维度应该围绕[点充值]这个行为去拆分的更细致才合理。

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2016-8-4 16:11:27 | 显示全部楼层
cdm123cdm 发表于 2016-8-4 09:55
四维属性的原因描述看,显然是主观假定。
从数据逆推的话 至少依赖的数据点是不能说明什么的
他是先假定

       非常感谢您的意见,您的意见是通过细分游戏阶段,来发现运营活动和游戏功能刺激玩家消费的能力,进而对一个玩家会在那个阶段消费进行预测。
    我们做这个模型的目的是,通过统计玩家的一些特征,用来发现付费与非付费玩家的特征,由于我们在数据量很大时的计算能力有限,10个服一天的数据量就会超出百G,能提取的玩家特征有限。下一步,随着我们计算能力的增加,我们会逐步增加玩家的特征。例如某些功能的使用次数,战力提升的速率,手机类型,运营活动参与的次数,来源渠道等等。用来玩家刻画的维度特征越多,对一个玩家刻画的也越准确。比如您说的评价游戏功能和运营活动,预测玩家的消费,我们就可以根据付费玩家游戏功能使用次数,运营活动参与次数,来预测该玩家对新活动的喜好和付费意愿,通过改进游戏功能和活动,进而提升游戏整体付费。
     当然不仅仅是付费与非付费玩家分类,比如通过流失与留存玩家分类,分析游戏功能的吸引力、来源渠道的优劣等等。一切都刚刚开始,再次谢谢您!

0

主题

11

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
发表于 2016-8-5 09:44:03 | 显示全部楼层
有这样一个疑问,使用这个模型是为了“通过统计玩家的一些特征,用来发现付费与非付费玩家的特征”
那么为什么要通过假定特征,然后对已知的玩家“是否充值”的属性进行判断呢?
首先,已知玩家是否充值,充值次数、充值金额(即大r,中r,小r),然后对玩家数据进行差异化分析,找出其中差异最大的50个数据,其中就有玩家充值差异的原因了吧。
即:
方法一:先假定特征、再与玩家已知是否充值进行判断。
方法二:已知玩家是否充值与充值额度,对数据进行差异化分析。
第二种会更明确吧。
抛砖引玉之见,见到疑惑不吐不快

0

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2016-8-5 11:34:33 | 显示全部楼层
hyhyhy19921 发表于 2016-8-5 09:44
有这样一个疑问,使用这个模型是为了“通过统计玩家的一些特征,用来发现付费与非付费玩家的特征”
那么为 ...

感谢您的回复
第一,因为埋点数据是玩家一条条的点击记录,要进行差异化分析,首先也要进行玩家的特征提取,把玩家的特征进行统计汇总。那么统计哪些特征呢?玩家各种各样的特征,游戏时间,登录时间段,点击次数,战力提升率等等,每统计一个维度,空间复杂度都会有所提升,有的维度会大大增加时间复杂度。对那些特征进行提取,其实也需要作出假设,对吧。
第二,分类器的本质其实就是发现玩家特征的差异,而且它是对所有玩家数据的差异分析,更高效更准确,也可以分析不同特征的组合对玩家的类别影响,如单纯游戏时间不太能表明玩家的类别,加上玩家的点击频率,点击数等等,便可以更准确的对玩家分类。
您需要登录后才可以回帖 登录 | ????

本版积分规则

????|????|????|????|?????? ( ?ICP?17032699?-3 )

GMT+8, 2025-5-24 18:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表