R语言游戏数据分析与挖掘:为什么要对游戏进行分析

Python011

R语言游戏数据分析与挖掘:为什么要对游戏进行分析,第1张

本书从实际应用出发,结合实例及应用场景,通过对大量案例进行详细阐述和深入分析,进而指导读者在实际工作中通过R语言对 游戏 数据进行分析和挖掘。这是一本关于数据分析实战的书籍,里面的知识、方法、理论是可以直接应用到整个互联网的。

全书一共13章,分为三篇:基础篇、实战篇和提高篇。

第一篇是基础篇(第1~4章): 介绍了 游戏 数据分析的基本理论知识、R语言的安装与使用、R语言中的数据结构、常用操作和绘图功能。

第1章主要介绍了 游戏 数据分析的必要性和流程;第2章讲解了R语言和RStudio的安装及使用方法,并对数据对象和数据导入进行了介绍;第3章介绍了R语言绘图基础,包括常用图形参数设置、低级绘图函数和高级绘图函数;第4章介绍了lattice和ggplot2绘图包,并详细介绍了一些基于R语言可用于生成交互式图形的软件包,包括rCharts、recharts、rbokeh、plotly等。

第二篇是实战篇(第5~11章): 主要介绍了 游戏 数据的预处理、常用分析方法、玩家路径分析和用户分析。

第5章介绍了 游戏 数据预处理常用的手段,包括数据抽样、数据清洗、数据转换和数据哑变量处理;第6章介绍了 游戏 数据分析的常用方法,包括指标数据可视化、 游戏 数据趋势分析、 游戏 数据相关性分析和 游戏 数据中的降维技术;第7章介绍了事件点击行为常用的漏斗分析和路径分析;第8章介绍了留存指标的计算、留存率计算与预测、常用分类算法原理和模型评估;第9章介绍了常用用户指标计算、LTV计算与预测、用户物品购买关联分析、基于用户物品购买智能推荐和 社会 网络分析;第10章介绍了渠道数据分析的必要性和对渠道用户进行质量评级;第11章介绍了常用收入指标计算、利用用户活跃度衡量 游戏 经济状况、RFM模型研究。

第三篇是提高篇(第12~13章): 介绍了R语言图形界面工具Rattle和Web开发框架shiny包。

第12章介绍了R语言的图形界面工具Rattle,该工具能够在图形化的界面上完成数据导入、数据 探索 、数据可视化、数据建模和模型评估整个数据挖掘流程;第13章介绍了Web开发框架shiny包,使得R的使用者不必太了解CSS、JS,只需要了解一些HTML的知识就可以快速完成Web开发。

关键词: 程序语言,程序设计

完整课程可前往UWA学堂《R语言 游戏 数据分析与挖掘》阅读。

https://edu.uwa4d.com/course-intro/0/383

随着 游戏 市场竞争的日趋激烈,在如何获得更大收益延长 游戏 周期的问题上,越来越多的手机 游戏 开发公司开始选择借助大数据,以便挖掘更多更细的用户群来进行精细化、个性化的运营。数据分析重要的不是提供 历史 和现状,而是通过分析发现手机 游戏 现状,以及对未来进行预测。一切以数据出发,用数据说话,让数据更好地指导运营服务好玩家,对玩家的行为和体验不断进行分析和调整,使玩家可以在虚拟世界中得到各方面的满足。要实现这个目的,需要搭建专业的数据化运营团队。此外, 游戏 数据分析与其他行业的数据分析不同的是, 游戏 综合了经济、广告、社交、心理等方面的内容,这就对数据分析师提出了更高的要求。

伴随着 游戏 互联网的快速发展和智能终端的普及,移动 游戏 进入了全民时代。越来越多的玩家利用碎片化时间进行 游戏 ,使得 游戏 数据呈现井喷式增长,同时也对数据存储技术、计算能力、数据分析手段提出了更高的要求。海量数据的存储是必须面对的第一个挑战,随着分布式技术的逐渐成熟,越来越多的互联网企业采用分布式的服务器集群 分布式存储的海量存储器进行数据的存储和计算,从而解决数据存储和计算能力不足的问题。如何在海量的、复杂高维的 游戏 数据中发掘出有价值的知识,将是很多公司下一步亟待解决的难题。

虽然积累了海量的玩家数据,很多公司也开发了自己的BI报表系统,但是多数停留在“看数据”阶段,还是用传统的数据分析方法对数据进行简单的加工、统计及展示,并没有进行深度挖掘发现数据背后的规律和把握未来趋势。正是在这样的大背景下, 游戏 数据分析逐渐在 游戏 行业中变得重要。公司需要从传统的粗放型运营进化到精细化运营,从而了解如何有效地获取用户、评估效果;如何激活用户、评估产品质量;如何提升收益,并挖掘潜在的高价值用户。要满足精细化运营的需求,数据化运营就应运而生了。数据化运营就是在以海量数据的存储、分析、挖掘和应用的核心技术支持的基础上,通过可量化、可细分、可预测等一系列精细化的方式来进行的。

数据化运营是飞速发展的数据存储技术、数据挖掘技术等诸多先进数据技术直接推动的结果。数据技术的飞速发展,使数据存储成本大大减低,同时提供了成熟的数据挖掘算法和工具让公司可以去尝试海量数据的分析、挖掘、提炼和应用。有了数据分析、数据挖掘的强有力支持,运营不再靠“拍脑袋”,可以真正做到运营过程自始至终都心中有数。比如,在玩家的细分推送中,数据分析师利用数据挖掘手段对玩家进行分群,运营根据不同的用户群制定差异化策略,数据分析师再根据推送效果进行评估。

完整课程可前往UWA学堂《R语言 游戏 数据分析与挖掘》阅读。

https://edu.uwa4d.com/course-intro/0/383

1、 游戏 数据分析师

2、 游戏 产品运营人员

3、产品数据挖掘

一.什么是用户分层?

用户分层是以 用户价值(比如说:活跃用户、高价值用户) 为中心来进行切割的,在同一分层模型下,一个用户只会处于一个层次中。还有一种说法是用户分群,它是以 用户属性(用户身上的某一类标签,比如:喜欢在地铁上看书的用户)为中心 进行划分,1个用户可能会同时拥有多个属性。

用户分层的本质是一种以用户和特征、用户行为等为中心对用户进行细分的精细化运营。

二.4种常见的用户分层方法?

分层实施的两大核心:

第一,我们找到一个分层的模型之后,处于不同层级的用户,需要能够被通过数据字段或标签等方式识别区分出来。

第二,面向每一类用户的运营机制或策略是明确稳定的。

用户分层的两个维度:

第一个维度:业务主链条标准化程度是高还是低

举个栗子:像手机里的闹钟,定了闹钟之后,响了就取消掉,闹钟的过程简单且标准化程度非常高。再比如,像一些阅读类APP它的用户所在的地区,用户的年龄及身份不同,用户的需求也会不同,它的业务主链条标准化程度低,是一个非标的产品,并且有时它的业务链条非常长还非常的复杂。

第二个维度:用户在产品中互相影响的可能性是高还是低

有一些产品用户是会在产品当中发生关系的,而有些产品呢就不会,有时候同一类型的产品,用户之间的影响也可能会不同。

举个栗子:像理财类的产品,用户之间的影响非常的低,但是像抖音、知乎这样的产品,用户之间的关系程度就高一些。

当我们知道用户处在哪个维度之后,我们就可以知道运用哪一种分层方式了。

第一类:用户个性化特质&需求区隔分层

这一类的分层方式就比较适合适用在业务主链条标准化程度低的,业务主链条比较多样,业务比较复杂这样的产品当中。

我们对用户进行个性化特质的区隔分层,要首先清楚用户个性化区隔的常见维度有哪些:

由上图可以发现,自然属性里进行区隔要依靠的是用户的基础数据,个性化需求里面的显性和隐性消费偏好要依赖的是用户的行为数据。场景则是依赖于时间、地理位置进行区分的。

那进行个性化区隔分层的依据是什么呢?

我们要看看用户是否会因为上面所陈列的这些行为和属性的不同,导致其需求、使用动机、使用偏好等会出现较大差异。

那怎么判断呢?要么靠常识和用户洞察,要么靠数据。

进行用户个性化区隔分层时的两种选择:

第一种:选择一个维度对用户进行划分,分别给予定向解决文案。像美柚这款产品,用户在不同的阶段,比如:我在备孕、我怀孕了、我是辣妈等不同的维度进行相关信息的区分和推送。

第二种:选择两个有相关性的维度通过交叉区隔对用户进行划分,再分别给予定向的解决方案。比方如某基金理财类的产品:通过两个维度来切割对用户进行划分。

第二类: 用户身份区隔分层

这一类的分层方式就比较适合运用在用户在产品中互相影响的可能性高的产品当中。

一款产品当中,如果用户之间是可见,可被影响的,我们赋予用户身份的特质(加V、勋章等)才会有意义。

说到用户身份区隔分层就会提到用户金字塔模型:

用户金字塔模型是按照用户的价值贡献度大小或用户影响力的稀缺程度由下到上搭建一个金字塔模型,再赋予每一类用户对应的角色和权益,搭建一个良性关系。

那如何梳理并搭建一个产品的用户金字塔模型呢?

首先,先梳理出产品的业务逻辑(这个产品当中有哪几类业务角色,这个业务角色当中他们是怎么发生关系的),然后逐次思考:

第三类:用户价值区隔分层

通过判断用户的价值高中低,来对用户完成分层。这一类和第四类的分层方式是通用的,所有产品都可以应用。

用户价值区隔分层有两种做法:

第一种:依靠用户生命周期定义对用户进行价值区隔

生命周期的定义我们上面说过,用户生命周期的定义,必然与 用户的价值成长路径 有关。不同的产品用户价值成长路径也会不同

用户生命周期的定义无非就两种:

第一种是强付费类的产品

我们把用户从进入到付费, 持续付费到流失这样一个典型的路径画出来,然后给不同的用户划分不同的阶段,每个阶段被定义成用户生命周期里的层次。

第二种:是流量类的产品

第二种:通过关键用户行为对用户进行价值区隔。

这两种方式的有共性也有差异性, 共性是:都需要找到某一种方式对于我们当前站内的用户的用户价值进行判断。并对用户价值的区间(是高还是低)做界定。然后对不同价值区间的用户做针对性的运营。不同的是: 去判断用户价值第一种依靠的是用户的生命周期的模型,第二种是通过几个关键用户的行为做交叉分析。

通过关键用户行为对用户进行价值区隔是找到产品中能够衡量用户价值的关键行为,对其进行交叉分析和评估,最终形成某种分层模型,比如经典的RFM模型。

那什么是RFM模型呢?

RFM模型是衡量客户价值和客户创利能力的重要工具和手段,它通过 Recency-距离最近一次交易、Frequency-交易频率、Monetary-交易金额 这三项指标来描述该 客户的价值状态,依据这三项指标 划分8类客户价值。

实施RFM用户分层的操作步骤是什么?

第一步:抓取用户R、F、M三个维度下的原始数据。

首先,我们需求提出数据的需求,并定义出F中的“一段时间”是多久以及用户类型,然后拉出该时间段内所有的订单数据,数据字段包括用户ID、下单时间和订单金额。这里需要注意的是定义一段时间,我们可以拍脑袋,也可以参考业务进展和需求,一般如果业务比较稳定的情况下,多以自然年或季度、半年等为单位来进行定义。

第二步:定义R、F、M的评估模型与中值

我们需要根据业务特性或数据分布情况来划分数据分布区间,设定评估模型,然后设定中值。

第三步:进行数据处理,获取用户的R、F、M值

第四步:参照评估模型与中值,对用户进行分层。

第五步:针对不同层级用户制定运营策略,推进落地。

第四类:AARRR模型分层

AARRR模型通常是在增长的语境下看到的,我们也可以通过这个模型对用户进行粗放的分层。

第一种AARRR模型:

第二种AARRR模型:

两种模型并没有绝对的好与坏,只是适用的场景不同,像滴滴这种产品,用户上一就收费,收入放在前面比较好。

如果是流量型的产品,有了流量才能增值用第一种AARRR模型比较好一些。

想用好AARRR模型来用用户分层的话,一定要找到合适的数据指标,来描述和定义处于每一层级的用户。

链接:https://www.jianshu.com/p/5bb31f906aee

数据源是来自Kaggle的一个跨国数据集,其中包含2010年12月12日至2011年12月9日期间发生的所有在英国注册的非商店在线零售业务的交易。该公司主要销售独特的全场礼品,并且大部分客户是批发商。分析目的是按照RFM模型对客户进行分级,以用户的实际购买行为数据作为基础,进行用户群体的划分,再基于不同分类信息,分解成不同群体针对运营,从而使企业能更有效的获取客户、使客户更加满意、留住客户成为高价值客户、避免客户流失。

数据一览

数据形状为:542k 行x 8列,8个字段分别为发票号,发票日期,商品码,商品描述,数量,单价,顾客ID,国家。

R(Recency): 表示客户最近一次购买的时间距离现在有多远

F(Frequency): 表示用户在定义时间段内购买产品或服务的次数

M(Monetary): 表示用户在定义时间段内购买产品或服务的金额

按照每个指标取值不同分为八类客户,包括重要价值客户、重要发展客户、重要保持客户、重要挽留客户、一般价值客户、一般发展客户、一般保持客户、一般挽留客户等八类用户

0.计算每单的总价,添加Amount列。查看整体数据情况,发现描述和顾客ID列有缺失值,顾客ID类型为浮点型不符合业务逻辑

8.求出每位顾客在时间周期内消费次数,得到F值,(数据源中一个订单会包含多种产品,但是每种产品订单都会产生一条记录,注意去重)

9.表合并

df_data=pd.merge(df_f_2,df_f_3,on='InvoiceNo',how='left')

11.对得到三个指标进行分区,映射级别

按照RFM分值对顾客分类

2.客户消费情况

3.每个指标的分布情况

综上确定聚类K值为3

用K-Means进行无监督聚类后,可以看出整体分为三类,与RFM模型分类结果较为相似,可以重点关注偏离集群的几个点,以及蓝色类别中出现的几个红色类别数据,这部分与RFM模型的差异可能是由于RFM模型判断时间的主观性造成的,在实际建模的过程中需要再考虑一下RFM的分级条件。