多类型玩家留存数据模型的构建方法及相关设备与流程

文档序号:31722738发布日期:2022-10-04 23:44阅读:47来源:国知局
多类型玩家留存数据模型的构建方法及相关设备与流程

1.本技术涉及技术领域,尤其涉及一种多类型玩家留存数据模型的构建方法及相关设备。


背景技术:

2.相关技术中的玩家留存计算模型是针对单分类玩家(比如当日活跃玩家、当日新增玩家等)进行建模并计算的,每种类型的玩家需要单独建设数据模型并配置独立的计算调度任务,如果要新增一类玩家的留存情况(比如vip玩家留存信息),需要单独再建立一个类似的数据模型来计算该类玩家的留存情况。单分类的数据模型不仅扩展性差,而且每个数据模型的结构相似度也非常高,对存储空间也是一种浪费。且留存数据一般只观察特定的几天,例如:次日留存、3日留存、7日留存、15日留存、30日留存,那么单分类的数据模型对留存天数的可扩展性和全覆盖性反而会占用更大的存储空间。


技术实现要素:

3.有鉴于此,本技术的目的在于提出一种多类型玩家留存数据模型的构建方法及相关设备,用于解决上述问题。
4.基于上述目的,本技术提供了一种多类型玩家留存数据模型的构建方法,包括:
5.确定统计日期和基准日期并获取全部玩家的游戏数据;其中,所述游戏数据包括在所述基准日期当天获取的基准日游戏数据和在所述统计日期当天获取的统计日游戏数据;
6.基于所述基准日期和所述基准日游戏数据,确定每个所述玩家的玩家类型;
7.基于所述玩家类型和所述基准日游戏数据,构建玩家类型集合;
8.基于所述统计日游戏数据和所述统计日期,构建活跃日期集合;
9.基于所述玩家类型集合和所述活跃日期集合,统计所述玩家的当日活跃数和留存数;
10.基于所述当日活跃数、所述留存数和所述玩家类型,建立多类型玩家留存数据模型。
11.可选地,所述游戏数据还包括:每个所述玩家每天触发的游戏事件的数量;
12.所述基于所述基准日期和所述基准日游戏数据,确定每个所述玩家的玩家类型,具体包括:
13.响应于确定所述玩家首次登陆的日期与所述基准日期为同一天,该玩家的所述玩家类型为新增玩家;
14.响应于确定所述玩家在所述基准日期当天触发的所述游戏事件的数量大于预设的阈值,该玩家的所述玩家类型为核心玩家;
15.响应于确定所述玩家在所述基准日期当天具有贵宾vip标识,该玩家的所述玩家类型为vip玩家;
16.响应于确定所述玩家的所述玩家类型不属于所述新增玩家、所述核心玩家、所述vip玩家中的任意一种,该玩家的所述玩家类型为其他玩家。
17.可选地,对于任一所述玩家,若该玩家的所述玩家类型不属于所述其他玩家,该玩家的所述玩家类型包括所述新增玩家、所述核心玩家、所述vip玩家中的至少一种。
18.可选地,所述基于所述玩家类型和所述基准日游戏数据,构建玩家类型集合,具体包括:
19.提取所述基准日游戏数据中的全部玩家身份标识号id;
20.确定与每个所述玩家id关联的所述玩家类型;
21.将全部所述玩家id及关联的所述玩家类型进行组合,得到所述玩家类型集合。
22.可选地,所述基于所述统计日游戏数据和所述统计日期,构建活跃日期集合,具体包括:
23.确定每个活跃玩家的所述id;其中,所述活跃玩家为在所述统计日游戏数据中存在登录日志和/或登出日志的玩家;
24.将所述活跃玩家的所述玩家id和所述统计日期进行组合,经过去重处理后得到所述玩家类型集合。
25.可选地,所述基于所述玩家类型集合和所述活跃日期集合,统计所述玩家的当日活跃数和留存数,具体包括:
26.响应于确定所述基准日期与所述统计日期为同一天,基于所述玩家类型集合和所述活跃日期集合,通过第一统计规则计算所述当日活跃数;
27.响应于确定所述基准日期与所述统计日期不为同一天,基于所述玩家类型集合和所述活跃日期集合,通过第二统计规则计算所述统计日期当天的所述留存数。
28.可选地,所述当日活跃数包括当日新增玩家活跃数、当日核心玩家活跃数和当日vip玩家活跃数;
29.所述响应于确定所述基准日期与所述统计日期为同一天,基于所述玩家类型集合和所述活跃日期集合,通过第一统计规则计算所述当日活跃数,具体包括:
30.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型为所述其他玩家,该玩家id为无效玩家id;
31.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型包括所述新增玩家和/或所述核心玩家,该玩家id为有效玩家id;
32.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型为所述vip玩家,且在所述活跃日期集合中存在该玩家id,该玩家id为所述有效玩家id;
33.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型为所述vip玩家,且在所述活跃日期集合中不存在该玩家id,若该玩家id对应的所述玩家在所述基准日期当天触发所述游戏事件的数量大于或等于一,则该玩家id为所述有效玩家id;
34.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型为所述vip玩家,且在所述活跃日期集合中不存在该玩家id,若该玩家id对应的所述玩家在所述基准日期当天未触发所述游戏事件,则该玩家id为所述无效玩家id;
35.分别统计所述新增玩家、所述核心玩家和所述vip玩家的所述有效玩家id的数量,得到所述当日新增玩家活跃数、所述当日核心玩家活跃数和所述当日vip玩家活跃数。
36.可选地,所述留存数包括当日新增玩家留存数、当日核心玩家留存数和当日vip玩家留存数;
37.所述响应于确定所述基准日期与所述统计日期不为同一天,基于所述玩家类型集合和所述活跃日期集合,通过第二统计规则计算所述统计日期当天的所述留存数,具体包括:
38.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型为所述其他玩家,该玩家id为所述无效玩家id;
39.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型不为所述其他玩家,且在所述活跃日期集合中存在该玩家id,该玩家id为所述有效玩家id;
40.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型不为所述其他玩家,且在所述活跃日期集合中不存在该玩家id,若该玩家id对应的所述玩家在所述基准日期当天触发所述游戏事件的数量大于或等于一,则该玩家id为所述有效玩家id;
41.响应于确定在所述玩家类型集合中所述玩家id对应的玩家类型不为所述其他玩家,且在所述活跃日期集合中不存在该玩家id,若该玩家id对应的所述玩家在所述基准日期当天未触发所述游戏事件,则该玩家id为所述无效玩家id;
42.分别统计所述新增玩家、所述核心玩家和所述vip玩家的有效玩家id的数量,得到所述当日新增玩家留存数、所述当日核心玩家留存数和所述当日vip玩家留存数。
43.本技术的第二方面提供了一种多类型玩家留存数据模型的构建装置,包括:
44.信息获取模块,被配置为:确定统计日期和基准日期并获取全部玩家的游戏数据;其中,所述游戏数据包括在所述基准日期当天获取的所述基准日游戏数据和在所述统计日期当天获取的所述统计日游戏数据;
45.玩家分类模块,被配置为:基于所述基准日期和所述基准日游戏数据,确定每个所述玩家的玩家类型;
46.玩家类型集合构建模块,被配置为:基于所述玩家类型和所述基准日游戏数据,构建玩家类型集合;
47.活跃日期集合构建模块,被配置为:基于所述统计日游戏数据和所述统计日期,构建活跃日期集合;
48.统计计算模块,被配置为:基于所述玩家类型集合和所述活跃日期集合,统计所述玩家的当日活跃数和留存数;
49.模型构建模块,被配置为:基于所述当日活跃数、所述留存数和所述玩家类型,建立多类型玩家留存数据模型。
50.本技术的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本技术第一方面提供的所述的方法。
51.本技术的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行本技术第一方面提供的所述方法。
52.从上面所述可以看出,本技术提供的多类型玩家留存数据模型的构建方法及相关设备,首先会确定统计日期和基准日期并获取全部玩家的游戏数据;然后,基于在基准日期
当天获取的基准日游戏数据和基准日期,确定每个玩家的玩家类型并构建玩家类型集合;基于在统计日期当天获取的统计日游戏数据和统计日期,构建活跃日期集合;并基于玩家类型集合和活跃日期集合,统计玩家的当日活跃数和留存数;最后,基于当日活跃数、留存数和玩家类型,建立多类型玩家留存数据模型。通过将玩家进行分类并统计其当日活跃数和留存数,将不同类型的玩家的留存数据融合到同一个多类型玩家留存数据模型中,减少了存储空间的浪费,增加了业务的可读性。通过基准日期和统计日期的差值可以在多类型玩家留存数据模型直接找到特定日期的留存数,通过该差值,在保留留存天数的扩展性的同时可以指定扩展的天数,不需要统计全部的天数,减少存储空间的浪费,使留存数据的查找更精准、更方便。
附图说明
53.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1为本技术实施例的应用场景的示意图;
55.图2为本技术实施例的多类型玩家留存数据模型的构建方法的流程图;
56.图3为本技术实施例的玩家分类的流程图;
57.图4为本技术实施例的构建玩家类型集合的流程图;
58.图5为本技术实施例的构建活跃日期集合的流程图;
59.图6为本技术实施例的计算当日活跃数和留存数的流程图;
60.图7为本技术实施例的当日活跃的数具体计算过程的流程图;
61.图8为本技术实施例的当留存数具体计算过程的流程图;
62.图9为本技术实施例的多类型玩家留存数据模型的构建装置的结构图;
63.图10为本技术实施例的电子设备的结构图。
具体实施方式
64.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
65.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
66.如背景技术所示,相关技术中的留存数据模型一般如表1所示:
67.表1相关技术中的留存数据模型
68.基数天偏移天数人数2022-04-3005622022-04-2913252022-04-282278
……ꢀꢀ
2022-04-0129235
69.其中,如表1所示的留存数据模型,以计算日期(基数天)为时间分区,以2022-04-30为当前时间分区(基准日期),偏移天数为0表示:2022-04-30相较于2022-04-30偏移0天,对应的人数为当日活跃人数,数量为562人,即以2022-04-30为基准日期,以2022-04-30为统计日期,统计日期与基准日期为同一天,562为当日活跃数。偏移天数为1表示:2022-04-29相较于2022-04-30偏移1天,代表2022-04-29活跃的玩家里,在2022-04-30仍然活跃的人数为325,即以2022-04-29为基准日期,以2022-04-30为统计日期,在2022-04-29活跃的玩家里,在2022-04-30的留存数为325。偏移天数为29表示:2022-04-01相较于2022-04-30偏移29天,代表2022-04-01活跃的玩家里,在2022-04-30仍然活跃的人数为235,即以2022-04-01为基准日期,以2022-04-30为统计日期,在2022-04-01活跃的玩家里,在2022-04-30的留存数为325。
70.表1所示的留存数据模型虽然对留存偏移存储的可扩展性很好,但是只能统计同一类型玩家的留存情况,假设将游戏里的玩家分成四种类型:新增玩家、核心玩家、vip玩家和普通玩家,如果需要分别统计新增玩家、核心玩家和vip玩家的留存数据,那么如表1所示的表格需要按照玩家类型存储3份格式一样的数据,对存储空间的浪费很大;以及留存数据一般只观察特定的几天(次日留存、3日留存、7日留存、15日留存等),那么如表1所示的数据模型对留存天数的可扩展性设计没有太大意义。
71.本技术实施例提供的多类型玩家留存数据模型的构建方法,通过将玩家进行分类并统计其当日活跃数和留存数,将不同类型的玩家的留存数据融合到同一个多类型玩家留存数据模型中,减少了存储空间的浪费,增加了业务的可读性。通过基准日期和统计日期的差值可以在多类型玩家留存数据模型直接找到特定日期的留存数,不需要统计全部的天数,减少存储空间的浪费,使留存数据的查找更精准、更方便。
72.参考图1,为本技术实施例提供的多类型玩家留存数据模型的构建方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,pda)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
73.服务器102用于向终端设备101的用户提供确定玩家类型、构建玩家类型集合、构建活跃日期集合、统计玩家的当日活跃数和留存数、建立多类型玩家留存数据模型的服务,终端设备101中安装有与服务器102通信的客户端,用户可以通过该客户端收集游戏数据
(如在基准日期当天获取的基准日游戏数据和在统计日期当天获取的统计日游戏数据等)。客户端可以通过调用终端设备101的输入组件(如键盘、触控屏等)将基准日期和统计日期发送给服务器102,并接收服务器102发送的多类型玩家留存数据模型,进行展示;客户端也可以仅接收服务器102发送的多类型玩家留存数据模型并进行展示。数据存储系统103为服务器102的工作运行提供数据存储支持,如存储游戏数据、玩家id、玩家类型集合、活跃日期集合、多类型玩家留存数据模型等。服务器102可以根据终端设备101输入的基准日期、统计日期和数据存储系统103存储的游戏数据,通过其上设定的分类方法、集合构建方法及模型构建方法,执行本技术实施例的多类型玩家留存数据模型的构建方法,得到多类型玩家留存数据模型,并将多类型玩家留存数据模型以文件的形式发送至终端设备101,使用户通过客户端了解多类型游戏玩家在基准日期当天的当日活跃数及与不同统计日期对应的留存数。
74.下面结合图1的应用场景,来描述根据本技术示例性实施方式的模型的构建方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
75.在一些实施例中,如图2所示,一种多类型玩家留存数据模型的构建方法,包括:
76.步骤100:确定统计日期和基准日期并获取全部玩家的游戏数据。
77.其中,游戏数据包括在基准日期当天获取的基准日游戏数据和在统计日期当天获取的统计日游戏数据,用于为后续的步骤提供数据基础。
78.在该步骤中,如果想获取某一天的玩家的当日活跃数及该天的全部留存数据,就需要将该天设置为基准日期,然后根据不同的数据需求设置统计天数。由于一般情况下留存数据一般只观察特定的几天:次日留存、3日留存、7日留存、15日留存、30日留存等。其中,一般以一个月的时间(30天)为一个统计周期。以基准日期为2022-04-01为例,就需要将统计日期设定为2022-04-01、2022-04-02、2022-04-03、2022-04-05、2022-04-07、2022-04-15、2022-04-30。其中,统计日期设定包括2022-04-01是因为需要统计游戏玩家的当日活跃数。相比相关技术,省略了偏移天数的统计,该数据隐藏于基准日期和统计日期的差值中,省略了一定额存储空间。
79.步骤200:基于基准日期和基准日游戏数据,确定每个玩家的玩家类型。
80.在该步骤中,游戏中的不同游戏玩家对游戏的运行存在不同的贡献值,所以需要着重关注那些贡献值较高用户,根据玩家的游戏数据将用户进行分类,可以较为容易的定位到特定的玩家群体,例如:游戏玩家的中的新鲜血液——新增玩家,游戏玩家中的主力——核心玩家,游戏玩家中的贵宾——vip玩家。其中,对应不同的业务需求,将玩家分为不同数量、不同种类的多个玩家类型。将玩家进行分类后,将不同玩家的当日活跃数据和留存数据汇集在一个多类型玩家留存数据模型中,避免了为每种玩家类型的玩家单独建立一个存储模型,节约了存储空间,避免了存储空间的浪费。
81.步骤300:基于玩家类型和基准日游戏数据,构建玩家类型集合。
82.在该步骤中,基于步骤200中对玩家分类得到的多个玩家类型,从基准日游戏数据中获取不同类型玩家的玩家id,按照玩家id加玩家类型的组合构建玩家类型集合。实现了将玩家与玩家类型的对应。
83.步骤400:基于统计日游戏数据和统计日期,构建活跃日期集合。
84.在该步骤中,定义活跃玩家,假设登录/登出日志在统计日游戏数据中出现过就算当日活跃,从统计日游戏数据中提取玩家id,对活跃日期(统计日期)等信息进行去重(假设玩家在统计日期当天登录过三次,筛选时会产生三条记录,经过去重后为一条),按照玩家id加统计日期的组合构建玩家类型集合,其中,由于需要统计不同日期的留存数据,所以每个统计日期都会对应一个活跃日期集合。实现了活跃日期(基准日期或统计日期)与玩家的对应。
85.步骤500:基于玩家类型集合和活跃日期集合,统计玩家的当日活跃数和留存数。
86.在该步骤中,以玩家类型集合中的玩家id为主键,关联活跃日期集合,然后按照玩家类型集合中的玩家类型进行分组,得出每种玩家类型在每个统计日期下的活跃玩家数量,得到当日活跃数和留存数。实现了将玩家的活跃情况和留存情况可视化(以数量的形式)。其中,当统计日期与基准日期不为同一天时,计算统计日期的当日活跃数是为了在将统计日期设置为基准日期时,无需重复计算当日活跃数。
87.步骤600:基于当日活跃数、留存数和玩家类型,建立多类型玩家留存数据模型。
88.在该步骤中,以统计周期内的基准日期和统计日期为时间分区,以玩家类型为维度项,以不同统计日期的留存数为事实项,每种事实项占一个存储单元,得到如表2所示的示例性的多类型玩家留存数据模型。
89.表2多类型玩家留存数据模型
[0090][0091]
表2中的第一列是根据不同的业务需求提前进行设定的,在步骤200中,根据设定完成玩家的分类,表2中的玩家类型与步骤200中分类结果相对应,可以根据不同的业务需求进行整体的修改。通过将不同类型的玩家的留存数据融合到同一个多类型玩家留存数据模型中,减少了存储空间的浪费,增加了业务的可读性。通过基准日期和统计日期的差值可以在多类型玩家留存数据模型直接找到特定日期的留存数,不需要统计全部的天数,减少存储空间的浪费,使留存数据的查找更精准、更方便。例如:需要2022-04-01的所有留存数据,在表1的模型里需要从2022-04-01分区开始往后搜索所有分区的数据:2022-04-01,偏移量0、2022-04-02,偏移量1、2022-04-03,偏移量2、
……
、2022-04-30,偏移量29;本技术实施例提供的如表2所示的模型,只需要搜索2022-04-01对应的时间分区即可获取所有结果(即将基准日期设置为2022-04-01进行搜索即可)。
[0092]
其中,若玩家类型在某个统计周期t后进行了增加,则数据模型对应增加若干行记录。
[0093]
在一些实施例中,游戏数据还包括:每个玩家每天触发的游戏事件的数量;
[0094]
如图3所示,则步骤200:基于基准日期和基准日游戏数据,确定每个玩家的玩家类型,具体包括:
[0095]
步骤210:响应于确定玩家首次登陆的日期与基准日期为同一天,该玩家的玩家类型为新增玩家。
[0096]
在该步骤中,若玩家首次登陆游戏,该玩家的玩家id(一般为账号id)会第一次出现在基准日游戏数据中的登录日志里,首次登陆的日期就被判定为玩家的新增日期,若该玩家新增日期与基准日期为同一天,判定该玩家的玩家类型为新增玩家。
[0097]
步骤220:响应于确定玩家在基准日期当天触发的游戏事件的数量大于预设的阈值,该玩家的玩家类型为核心玩家。
[0098]
在该步骤中,若玩家在游戏过程中满足一系列的玩法参与条件,就会触发一定数量的游戏事件,在基准日期当天,若该玩家id触发的游戏事件的数量大于预设的阈值,该玩家的玩家类型为核心玩家,如果下个统计周期该玩家触发的游戏事件数没有达到阈值,则该玩家在下个统计周期就不会被算做核心玩家。
[0099]
步骤230:响应于确定玩家在基准日期当天具有贵宾vip标识,该玩家的玩家类型为vip玩家。
[0100]
在该步骤中,vip玩家的判定需要结合该玩家上一次成为vip的日期进行计算,假设该玩家上次成为vip的日期为v,vip的有效天数为d,基准日期为t,若t-v≤d,则该玩家在本次的统计周期的基准日期当天具有贵宾vip标识,该玩家的玩家类型为vip玩家,vip玩家的判定也会随着统计周期进行变化,若在下个统计周期内,以统计周期为30天为例,满足t-v+30≥d,则该玩家不具有vip标识,则该玩家在下个统计周期就不会被算做vip玩家。
[0101]
步骤240:响应于确定玩家的玩家类型不属于新增玩家、核心玩家、vip玩家中的任意一种,该玩家的玩家类型为其他玩家。
[0102]
在该步骤中,若该玩家的分类属性不属于新增玩家、核心玩家、vip玩家中的任意一种,表明该玩家并未对游戏做出较大的贡献,该玩家的玩家类型为其他玩家,统计其当日活跃数或留存数会占用一定的资源,所以在最后的多类型玩家留存数据模型中可以选择不统计该玩家类型的玩家,进一步节约存储空间。
[0103]
需要说明的是,对于任一玩家,若该玩家的玩家类型不属于其他玩家,该玩家的玩家类型包括新增玩家、核心玩家、vip玩家中的至少一种。这是因为一个玩家可以同时属于多种玩家类型。例如,玩家a在基准日期当天第一登录游戏,则玩家a的玩家分类属性为新增玩家,且玩家a在基准日期当天即第一次登录的当天就购买了vip服务,玩家a的玩家分类属性也可以为vip玩家,此时玩家a既属于新增玩家,也属于vip玩家。若玩家a在第一次登录的当天没有购买vip服务,但是在第一次登录的当天触发的游戏事件的数量大于预设的阈值,此时玩家a既属于新增玩家,也属于核心玩家。若玩家a在第一次登录的当天就购买vip服务,且在第一次登录的当天触发的游戏事件的数量大于预设的阈值,此时玩家a同时属于新增玩家、核心玩家和vip玩家。若玩家a在基准日期当天不是第一登录,且该玩家在基准日期当天具有vip标识或购买了vip服务,且基准日期当天触发的游戏事件的数量大于预设的阈值,此时玩家a既属于vip玩家,也属于核心玩家。
[0104]
在一些实施例中,如图4所示,步骤300:基于玩家类型和基准日游戏数据,构建玩家类型集合,具体包括:
[0105]
步骤310:提取基准日游戏数据中的全部玩家身份标识号id。
[0106]
在该步骤中,需要从基准日游戏数据中提取可以确定玩家身份的玩家id,为接下
来将玩家与玩家类型进行组合提供数据支持。
[0107]
步骤320:确定与每个玩家id关联的玩家类型。
[0108]
在该步骤中,玩家id作为确定玩家身份的唯一标识,在对玩家进行分类后,需要将玩家对应的玩家类型与玩家id进行关联,即可以通过玩家id查询玩家的玩家类型。
[0109]
步骤330:将全部玩家id及关联的玩家类型进行组合,得到玩家类型集合。
[0110]
在该步骤中,将全部玩家的玩家id及关联的玩家类型进行一一组合,得到如表3所示的玩家类型集合。
[0111]
表3玩家类型集合
[0112]
玩家id玩家类型a11新增玩家a22核心玩家、新增玩家a33核心玩家a44其他玩家a55vip玩家
[0113]
在一些实施例中,如图5所示,步骤400:基于统计日游戏数据和统计日期,构建活跃日期集合,具体包括:
[0114]
步骤410:确定每个活跃玩家的id。
[0115]
其中,活跃玩家为在统计日游戏数据中存在登录日志和/或登出日志的玩家。
[0116]
在该步骤中,在该步骤中,需要从统计日游戏数据中提取可以确定活跃玩家身份的玩家id,为接下来将活跃玩家与统计日期进行组合提供数据支持。
[0117]
步骤420:将活跃玩家的玩家id和统计日期进行组合,经过去重处理后得到活跃日期集合。
[0118]
在该步骤中,将全部活跃玩家的玩家id和统计日期进行一一组合,经过去重处理(假设玩家在统计日期当天登录过三次,筛选时会产生三条记录,经过去重后为一条)后,得到如表4所示的活跃日期集合。
[0119]
表4活跃日期集合
[0120]
玩家id统计日期a11ta22ta44ta55t
[0121]
其中,没有玩家id为a33的玩家可能是该玩家在统计日期当天没有登录或登出行为,是非活跃玩家。其中,时间t表示统计日期与基准日期为同一天,用于统计算当日活跃数。若要计算次日留存数,则统计日期为t+1。计算其他的留存数更改相应的统计日期即可。
[0122]
在一些实施例中,如图6所示,步骤500:基于玩家类型集合和活跃日期集合,统计玩家的当日活跃数和留存数,具体包括:
[0123]
步骤510:响应于确定基准日期与统计日期为同一天,基于玩家类型集合和活跃日期集合,通过第一统计规则计算当日活跃数。
[0124]
在该步骤中,若基准日期与统计日期为同一天,以玩家类型集合中的玩家id为主
键,关联活跃日期集合,得到如表5所示的第一关联集合,然后按照玩家类型集合中的玩家类型进行分组,得出每种玩家类型在每个统计日期下的活跃玩家数量,得到当日活跃数。
[0125]
表5第一关联集合
[0126][0127]
其中,当日活跃数包括当日新增玩家活跃数、当日核心玩家活跃数和当日vip玩家活跃数;接下来将结合表5对步骤510:响应于确定基准日期与统计日期为同一天,基于玩家类型集合和活跃日期集合,通过第一统计规则计算当日活跃数。进行详细的说明,如图7所示:
[0128]
步骤511:响应于确定在玩家类型集合中玩家id对应的玩家类型为其他玩家,该玩家id为无效玩家id。
[0129]
在该步骤中,在玩家类型集合中记录为其他玩家,例如玩家a44,说明玩家a44不属于需要统计的玩家类型中的任何一种类型,玩家a44应该被剔除统计,所以将a44判定为无效玩家id,在统计数量时不计算a44。
[0130]
步骤512:响应于确定在玩家类型集合中玩家id对应的玩家类型包括新增玩家和/或核心玩家,该玩家id为有效玩家id。
[0131]
在该步骤中,若在玩家类型集合中记录的玩家类型包括新增玩家和/或核心玩家,例如玩家a11、a22、a33。其中,对于玩家a11来说,基准日期当天第一登录游戏,说明玩家a11在基准日期当天一定进行了登入行为,在基准日游戏数据中一定存在登入日志,为有效玩家id,统计计数时计算玩家a11。玩家a22与玩家a11情况是相同的。而对于玩家a33来说,在活跃日期集合中没有玩家a33的记录,说明玩家a33在基准日期当天没有登录或登出行为,在基准日游戏数据中不存在相应的登录或登出日志的记录。但是核心玩家的判定条件为该玩家在基准日期当天触发的游戏事件的数量大于预设的阈值,所以玩家a33在基准日期有大量的游戏行为,在活跃日期集合中没有记录是因为玩家a33在基准日期之前就已经登录游戏,且在基准日期当天挂机或游玩了一整天(24小时),到基准日期结束仍未登出游戏,所以玩家a33仍会被判定为活跃玩家,是有效玩家id,统计计数时计算a33。
[0132]
步骤513:响应于确定在玩家类型集合中玩家id对应的玩家类型为vip玩家,且在活跃日期集合中存在该玩家id,该玩家id为有效玩家id。
[0133]
在该步骤中,在玩家类型集合中记录为vip玩家,例如玩家a55,且在活跃日期集合中存在玩家a55的玩家id,说明玩家a55在基准日期当天一定进行了登入和/或登出行为,在基准日游戏数据中一定存在登入和/或登出日志,为有效玩家id,统计计数时计算玩家a55。
[0134]
步骤514:响应于确定在玩家类型集合中玩家id对应的玩家类型为vip玩家,且在活跃日期集合中不存在该玩家id,若该玩家id对应的玩家在基准日期当天触发游戏事件的
数量大于或等于一,则该玩家id为有效玩家id。
[0135]
在该步骤中,示例性的,若在玩家类型集合中记录为vip玩家,但是在活跃日期集合中不存在玩家a55的玩家id,说明玩家a55在基准日期当天没有进行登入和/或登出行为,在基准日游戏数据中不存在登入和/或登出日志,此时,查看该玩家id对应的玩家的基准日游戏数据,若该玩家在基准日期当天触发了至少一件游戏事件,说明玩家在基准日期当天挂机或游玩了一整天(24小时),判定该玩家id为有效玩家id,统计计数时计算该玩家的玩家id。
[0136]
步骤515:响应于确定在玩家类型集合中玩家id对应的玩家类型为vip玩家,且在活跃日期集合中不存在该玩家id,若该玩家id对应的玩家在基准日期当天未触发游戏事件,则该玩家id为无效玩家id。
[0137]
在该步骤中,示例性的,在玩家类型集合中记录为vip玩家,但是在活跃日期集合中不存在玩家a55的玩家id,说明玩家a55在基准日期当天没有进行登入和/或登出行为,在基准日游戏数据中不存在登入和/或登出日志,此时,查看该玩家id对应的玩家的基准日游戏数据,若该玩家在基准日期当天没有触发任一游戏事件,说明玩家在基准日期当天没有进行游戏行为,判定该玩家id为无效玩家id,统计计数时不计算该玩家的玩家id。
[0138]
步骤516:分别统计新增玩家、核心玩家和vip玩家的有效玩家id的数量,得到当日新增玩家活跃数、当日核心玩家活跃数和当日vip玩家活跃数。
[0139]
在该步骤中,示例性的,如表5所示,当日新增玩家活跃数为2,包括玩家a11和a22;当日核心玩家活跃数为2,包括玩家a33和a22;当日vip玩家活跃数为1,包括玩家a55。
[0140]
步骤520:响应于确定基准日期与统计日期不为同一天,基于玩家类型集合和活跃日期集合,通过第二统计规则计算统计日期当天的留存数。
[0141]
在该步骤中,若基准日期与统计日期为同一天,以玩家类型集合中的玩家id为主键,关联活跃日期集合,得到如表6所示的示例性的第二关联集合,然后按照玩家类型集合中的玩家类型进行分组,得出每种玩家类型在每个统计日期下的活跃玩家数量,得到留存数。
[0142]
表6第二关联集合
[0143][0144]
其中,留存数包括当日新增玩家留存数、当日核心玩家留存数和当日vip玩家留存数;
[0145]
接下来将结合表6对步骤520:响应于确定基准日期与统计日期不为同一天,基于玩家类型集合和活跃日期集合,通过第二统计规则计算统计日期当天的留存数。进行详细
说明,如图8所示:
[0146]
步骤521:响应于确定在玩家类型集合中玩家id对应的玩家类型为其他玩家,该玩家id为无效玩家id。
[0147]
在该步骤中,在该步骤中,在玩家类型集合中记录为其他玩家,例如玩家a44,说明玩家a44不属于需要统计的玩家类型中的任何一种类型,玩家a44应该被剔除统计,所以将a44判定为无效玩家id,在统计数量时不计算a44。
[0148]
步骤522:响应于确定在玩家类型集合中玩家id对应的玩家类型不为其他玩家,且在活跃日期集合中存在该玩家id,该玩家id为有效玩家id。
[0149]
在该步骤中,若在玩家类型集合中记录的玩家类型包括新增玩家、核心玩家和vip玩家中的至少一种,且在活跃日期集合中存在该玩家id,例如玩家a11、a22。其中,对于玩家a11来说,统计日期(t+1)当天第一次登录游戏,说明玩家a11在基准日期当天一定进行了登入行为,在统计日游戏数据中一定存在登入日志,为有效玩家id,统计计数时计算玩家a11。玩家a22在统计日游戏数据中存在登录和/或登出日志才会记录到活跃日期集合中,所以玩家a22为有效玩家id。
[0150]
步骤523:响应于确定在玩家类型集合中玩家id对应的玩家类型不为其他玩家,且在活跃日期集合中不存在该玩家id,若该玩家id对应的玩家在基准日期当天触发游戏事件的数量大于或等于一,则该玩家id为有效玩家id。
[0151]
在该步骤中,以玩家a33为例进行解释说明,玩家a33在玩家类型集合中记录为核心玩家,但是在活跃日期集合中不存在玩家a33的玩家id,说明玩家a33在统计日期当天没有进行登入和/或登出行为,在统计日游戏数据中不存在登入和/或登出日志,此时,查看玩家a33的统计日游戏数据,若该玩家在统计日期当天触发了至少一件游戏事件,说明玩家在统计日期当天挂机或游玩了一整天(24小时),判定a33为有效玩家id,统计计数时计算a33。
[0152]
步骤524:响应于确定在玩家类型集合中玩家id对应的玩家类型不为其他玩家,且在活跃日期集合中不存在该玩家id,若该玩家id对应的玩家在基准日期当天未触发游戏事件,则该玩家id为无效玩家id。
[0153]
在该步骤中,以玩家a55为例进行解释说明,玩家a55在玩家类型集合中记录为vip玩家,但是在活跃日期集合中不存在玩家a55的玩家id,说明玩家a55在统计日期当天没有进行登入和/或登出行为,在统计日游戏数据中不存在登入和/或登出日志,此时,查看玩家a55的统计日游戏数据,若该玩家在统计日期当天没有触发任意一件游戏事件,说明玩家在基准日期当没有进行游戏行为,判定a55为无效玩家id,统计计数时不计算a55。
[0154]
步骤525:分别统计新增玩家、核心玩家和vip玩家的有效玩家id的数量,得到当日新增玩家留存数、当日核心玩家留存数和当日vip玩家留存数。
[0155]
在该步骤中,示例性的,假设玩家a33和a55均为无效玩家id,当日新增玩家留存数为2,包括玩家a11和玩家a22;当日核心玩家留存数为1,包括玩家a22;当日vip玩家留存数为1,包括玩家a22。
[0156]
需要说明的是,若表4中存在玩家a66,而玩家类型集合中不存在为a66的玩家id,说明玩家a66是基准日期后新加入的新增玩家,由于在关联玩家类型集合和活跃日期集合时,是以玩家类型集合的玩家id为主键进行的,所以例如a66这样的玩家直接被剔除掉了,如果想查找相关数据,可以将基准日期设置为玩家a66第一次登录的日期。这是因为统计留
存数时,是统计在基准日期当天的全部活跃玩家中,在统计日期当天依然活跃的玩家的数量,所以当统计日期与基准日期不为同一天时,计算留存数时统计日期当天增加的新增玩家不需要进行统计。
[0157]
最后,统计不同的设定好的统计日期的留存数,根据留存数、当日活跃数和玩家类型建立如表2所示多类型玩家留存数据模型。
[0158]
需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0159]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0160]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种多类型玩家留存数据模型的构建装置。
[0161]
参考图9,所述多类型玩家留存数据模型的构建装置,包括:
[0162]
信息获取模块10,被配置为:确定统计日期和基准日期并获取全部玩家的游戏数据,其中,游戏数据包括在基准日期当天获取的基准日游戏数据和在统计日期当天获取的统计日游戏数据;
[0163]
玩家分类模块20,被配置为:基于基准日期和基准日游戏数据,确定每个玩家的玩家类型;
[0164]
玩家类型集合构建模块30,被配置为:基于玩家类型和基准日游戏数据,构建玩家类型集合;
[0165]
活跃日期集合构建模块40,被配置为:基于统计日游戏数据和统计日期,构建活跃日期集合;
[0166]
统计计算模块50,被配置为:基于玩家类型集合和活跃日期集合,统计玩家的当日活跃数和留存数;
[0167]
模型构建模块60,被配置为:基于当日活跃数、留存数和玩家类型,建立多类型玩家留存数据模型。
[0168]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0169]
上述实施例的装置用于实现前述任一实施例中相应的多类型玩家留存数据模型的构建方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0170]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的多类型玩家留存数据模型的构建方法。
[0171]
图10示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中
处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0172]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0173]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0174]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0175]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0176]
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0177]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0178]
上述实施例的电子设备用于实现前述任一实施例中相应的多类型玩家留存数据模型的构建方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0179]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的多类型玩家留存数据模型的构建方法。
[0180]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0181]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的多类型玩家留存数据模型的构建方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0182]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非
旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0183]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0184]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0185]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1