sql 如何建立多个用户_SQL数据分析:《野蛮时代》的用户画像建立

46664ac538e4ad9de472fc017ccb21a7.png

数据来源:

游戏玩家付费金额预测大赛-竞赛信息-DC竞赛​www.dcjingsai.com

字段理解:

f62405ce708117ed04fe8451c6af125c.png

数据量很多、用到的字段也多,所以函数部分写的就有些多了,可以直接看文末结尾处。

背景:

数据统计了'2018年3月7日'到‘2018年3月22日’共828,934人的行为,想了解在【不同时期】新注册的用户在行为上有什么不同,数据分析思路如下:

7b7950da55eeafd747c06c33aacc1efe.png

常规数据

首先是先要了解3月7日'~22日这16天《野蛮部落》的用户基本情况:

7日总收入:在用户登陆的7天内累充值对的金额
AU:活跃用户,在统计周期内登陆过游戏的用户数量
DNU:游戏每日新注册用户数量
APA:游戏活跃付费用户数量
PUR:付费比率,在游戏里付费人群占总人群的百分比=APA/AU
ARPU:平均每用户收入,指在游戏里每位用户平均充值多少金额=总收入/AU
ARPPU:平均付费用户收入,指在游戏里每位付费用户平均充值多少金额=总收入/APA

1.数据统计

7日总收入:556,900元

SELECT ROUND(SUM(pay_price),0) AS 7日付费金额 FROM youxi;

cacb91891c39269d9ac91541daea5800.png

AU:新增用户量828,934人

SELECT COUNT(DISTINCT user_id) AS AD FROM youxi;

5e359238dd8c23ad60bf3fadac9e4a73.png

APA:游戏活跃付费用户数19,549人

SELECT COUNT(DISTINCT user_id) AS APA
FROM youxi WHERE pay_price > 0;

85fce17095ce81adc3fc9405f05a4f78.png

DNU:游戏每日新注册用户数量

SELECT DATE(register_time) AS 日期,COUNT(DISTINCT user_id) AS 数量
FROM youxi GROUP BY DATE(register_time);

60cadc5f2d685dd26d8b107fc27e1f2d.png

PUR:付费比率2.36%

SELECT CONCAT((100*(SELECT COUNT(DISTINCT user_id) FROM youxi 
WHERE pay_price > 0)/COUNT(DISTINCT user_id)),'%') AS 占比
FROM youxi;

0c01f1d20ba6f148b25ce35f4bed17dc.png

ARPU:平均每用户收入0.67

SELECT ROUND(SUM(pay_price)/COUNT(DISTINCT user_id),2)AS ARPPU
FROM youxi;

bec3acc5739a4b037117aaeb0a8362bb.png

ARPPU:平均付费用户收入28.49

SELECT ROUND(SUM(pay_price)/(SELECT COUNT(DISTINCT user_id) FROM youxi WHERE pay_price > 0),2)AS ARPPU
FROM youxi;

3b8d3e5acf86950e6bc5cc1506d8e653.png

小结:由上述数据可知在《野蛮时代》的82w+的用户数量中,在注册后的7日内的充值率为2.36%,也就是说在这些用户注册后有19,549人在7日内有充值行为,而这些人的ARPPU为28.49元,跟行业同类数据相比XXXl(没找到数据、这里应该填写高、低或者相同)。

每日新增用户付费数量分布:
SELECT DATE(register_time) AS 日期, COUNT(DISTINCT user_id) AS 当日新增付费用户数量
FROM youxi WHERE pay_price > 0 
GROUP BY 日期;

d67b59f5872e732f1b874277ad3e9538.png

将该部分数据与‘每日新增用户’数据放在一起,得出付费用户跟新增用户的分布规律:
10号用户付费率:0.96%;
16号用户付费率:3.34%。

1d040891d720e50914d30d05a87df743.png

新增用户数量在3/10以后基本平缓,在平均在4W~5W之间、而每日新增付费用户数量也在1,000~1,500左右。

值得注意的是,在【3/10】的11w+新增用户中,未来7天内有充值行为的人数仅占当日新增用户的"0.96%";而【3/16】的5W+新增用户中未来7天内有充值行为的人数占当日新增用户数的"3.34%",是什么原因导致这样的变化?

这两日相似的特点就是跟它们前后各一天相比较、当日注册用户数量明显升高,人数升高的常见原因有以下几种:

3e51a55bf39ed595add152419bf6a800.png

在现实中要确认原因不能只从数据的角度来分析,还要跟市场、运营多交流,结合业务才能更精确的找到原因。

因为数据片面(只有玩家部分行为数据)我们无从得知到底是什么原因造成的数量变化,但是可以通过对比来观察这2日的用户在游戏行为上有什么不同

686e01a956cec8e3558e773ccc96a0d2.png

用户画像对比

因为要用‘3月10日’跟‘3月16日’的用户进行比较,所以就先建立个视图,名字就叫【shitu】

在线时长分布用箱线图来表示,来了解用户的时长分布

3月10号和3月16号的人均在线时长、下四分位数、中位数、上四分位数如下所示:

0889b4779be51e868e6fd5f1d50ba464.png

对比发现它们的人均在线时间非常低,75%的用户在线时间低于6分钟,而人均在线时长之所以这么高是因为剩余25%的用户在想市场非常高影响了平均值;而且16号的用户活跃明显比10高。

SELECT ROUND(AVG(avg_online_minutes),2) AS 人均在线时长,
MIN(avg_online_minutes)AS 最小人均时间,
MAX(avg_online_minutes)AS 最大人均时间,
(SELECT avg_online_minutes FROM shitu  WHERE register_time = '2018-03-10' ORDER BY avg_online_minutes LIMIT 28508,1) AS 下四分位数,
(SELECT avg_online_minutes FROM shitu WHERE register_time = '2018-03-10' ORDER BY avg_online_minutes LIMIT 57017,1) AS 中位数,
(SELECT avg_online_minutes FROM shitu WHERE register_time = '2018-03-10' ORDER BY avg_online_minutes LIMIT 85526,1) AS 上四分位数
FROM shitu
WHERE register_time = '2018-03-10'
UNION 
SELECT ROUND(AVG(avg_online_minutes),2) AS 人均在线时长,
MIN(avg_online_minutes)AS 最小人均时间,
MAX(avg_online_minutes)AS 最大人均时间,
(SELECT avg_online_minutes FROM shitu  WHERE register_time = '2018-03-16' ORDER BY avg_online_minutes LIMIT 12766,1) AS 下四分位数,
(SELECT avg_online_minutes FROM shitu WHERE register_time = '2018-03-16' ORDER BY avg_online_minutes LIMIT 25532,1) AS 中位数,
(SELECT avg_online_minutes FROM shitu WHERE register_time = '2018-03-16' ORDER BY avg_online_minutes LIMIT 38298,1) AS 上四分位数
FROM shitu
WHERE register_time = '2018-03-16'
因为没有相关数据,这里就不讨论用户流失的原因了,游戏前期用户流失常见的问题了解一下。

30826840b0757622ef1223ac0acd5436.png

付费用户在线时长

14aec2bf69c79b8dc5f6a5a08afe0ef6.png

付费用户一般都比较活跃,有75%的用户游戏时长都超过了26分钟、从侧面说明了人均游戏时长虚高,而且16号的用户活跃明显高于10号。

付费用户充值信息

AU:活跃用户
PU:付费用户
PUR:付费比率,在游戏里付费人群占总人群的百分比=APA/AU
ARPU:平均每用户收入
ARPPU:平均付费用户收入

43c3647a144e0873fb3b2f2f0231f273.png

68cdaee55da67f97181e9550380de1f7.png

8da9e9636fe1440676d690a652042b02.png
SELECT register_time AS 日期,COUNT(DISTINCT user_id) AS AU,
(SELECT COUNT(DISTINCT user_id) FROM shitu WHERE pay_count > 0 AND register_time = '2018-03-10') AS PU,
ROUND(SUM(pay_price),0) AS 总收入,
ROUND(SUM(pay_price)/COUNT(DISTINCT user_id),3) AS ARPU,
ROUND(SUM(pay_price)/(SELECT COUNT(DISTINCT user_id) FROM shitu WHERE pay_count > 0 AND register_time = '2018-03-10'),0) AS ARPPU
FROM shitu
WHERE register_time IN ('2018-03-10','2018-03-16')
GROUP BY register_time;

付费用户充值情况:
10号用户复充率为:54.7%
16号用户复充率为:61.6%

1bcfcc20f67edbfbd2433ec8667e2341.png
SELECT DATE(register_time) AS 时间,
COUNT(DISTINCT user_id) AS 充值人数,
ROUND(SUM(pay_price),0)AS 充值金额,
SUM(pay_count) AS 充值次数,
ROUND(SUM(pay_count)/COUNT(DISTINCT user_id),1)AS 人均充值次数,
SUM(CASE  WHEN pay_count > 1 THEN 1 ELSE 0 END ) AS 复充人数
FROM shitu
WHERE pay_price > 0
GROUP BY DATE(register_time);

通过对比发现,游戏用户的ARPU和复购率较低,说明大部分人消费意愿低;但是ARPPU较高,说明大R付费能力强,在以后的游戏更新和优化中可以根据大R的消费习惯来针对性优化。

付费玩家游戏习惯

这里用10号跟16号的充值用户进行对比,看看它们的行为有何不同?

16号的用户在资源获得和消耗上全面超越15号的用户,可见前者的游戏行为更活跃

819aa7f052829c40444de842382e4db7.png
SELECT register_time AS 日期,SUM(wood_reduce_value+stone_reduce_value+ivory_reduce_value+meat_reduce_value+magic_reduce_value) AS 总使用量,
SUM(wood_add_value+stone_add_value+ivory_add_value+meat_add_value+magic_add_value) AS 总添加量,
ROUND(SUM(wood_reduce_value+stone_reduce_value+ivory_reduce_value+meat_reduce_value+magic_reduce_value)/
SUM(wood_add_value+stone_add_value+ivory_add_value+meat_add_value+magic_add_value),2) AS 资源类使用率
FROM shitu
WHERE register_time IN ('2018-03-10','2018-03-16')
AND pay_count > 0
GROUP BY register_time;

接下来对不同类型的资源消耗进行比较

b83b1683a1a1c7b3b98843545af30d60.png
SELECT register_time AS 日期,
ROUND(SUM(wood_reduce_value)/SUM(wood_add_value),2) AS 木头消耗率,
ROUND(SUM(stone_reduce_value)/SUM(stone_add_value),2) AS 石头消耗率,
ROUND(SUM(ivory_reduce_value)/SUM(ivory_add_value),2) AS 象牙消耗率,
ROUND(SUM(meat_reduce_value)/SUM(meat_add_value),2) AS 肉消耗率,
ROUND(SUM(magic_reduce_value)/SUM(magic_add_value),2) AS 魔法消耗率
FROM shitu
WHERE register_time in ('2018-03-10','2018-03-16') AND pay_count > 0
GROUP BY register_time;

a35f58d83f0bc7202204d20bd888bb04.png

对比发现16号用户在消耗上都略高于15号的用户,而且在消耗率和主要消耗类型上差别不大,惟一的区别是15号用户在魔法资源消耗上略高于16号用户。

象牙的消耗率不足50%,可见用户对象牙的需求没有那么高、或者象牙的消耗机制单一、不足以消耗。

PVP比较

在游戏里,PVP指的是玩家之间的对抗、PVE指的是玩家跟电脑之间的对抗。

1482d7461cfa02fd8a6fcee14698223a.png
SELECT register_time AS 日期,
ROUND(AVG(pvp_battle_count),2) AS 平均PVP次数,
ROUND(SUM(pvp_lanch_count)/SUM(pvp_battle_count),2) AS 主动发起PVP的概率,
ROUND(SUM(pvp_win_count)/SUM(pvp_battle_count),2) AS PVP胜利的概率
FROM shitu 
WHERE register_time IN ('2018-03-10','2018-03-16') AND pay_count > 0
GROUP BY register_time;

PVE比较(代码略)

b79e7568ec68a638754a73ef4edfc99a.png

0c265276e84bb0f40a2dbcdd85605707.png

16号的充值用户活跃度明显高于15号用户。

786c75494a3fd56e89410fab22569a64.png

16号用户虽然PVP的参与活跃高,但主动发起挑战的概率略低。因为从图中可知16号用户PVP的主动挑战概率还略低于15号用户。

但是16号用户的胜率是高的,可见这部分用户熟悉游戏规则、利用不同兵种来制定战斗策略,充分时间来提升自己。

对不同兵种的士兵消耗进行比较

这里要注意,(死亡士兵 = 直接战死 + 重伤不治)得来的。

cc5b95558188b9270a36b0df66c10ff2.png
SELECT register_time AS 日期,SUM((infantry_reduce_value-wound_infantry_reduce_value)+(cavalry_reduce_value-wound_cavalry_reduce_value)+(shaman_reduce_value-wound_shaman_reduce_value)) AS 总损失士兵数量,
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS 总士兵数量,
ROUND(SUM((infantry_reduce_value-wound_infantry_reduce_value)+(cavalry_reduce_value-wound_cavalry_reduce_value)+(shaman_reduce_value-wound_shaman_reduce_value))/SUM(infantry_add_value+cavalry_add_value+shaman_add_value),2)AS 士兵类总损失率
FROM shitu  WHERE register_time IN ('2018-03-10','2018-03-16') AND pay_count > 0
GROUP BY register_time;

各类士兵的详细损失率

896a4a023c74123761b6cf08e6a42255.png
SELECT register_time AS 日期,
ROUND(SUM(infantry_reduce_value-wound_infantry_reduce_value)/SUM(infantry_add_value),2) AS 勇士损失率,
ROUND(SUM(cavalry_reduce_value-wound_cavalry_reduce_value)/SUM(cavalry_add_value),2) AS 驯兽师损失率,
ROUND(SUM(shaman_reduce_value-wound_shaman_reduce_value)/ SUM(shaman_add_value),2) AS 萨满损失率
FROM shitu  WHERE register_time IN ('2018-03-10','2018-03-16') AND pay_count > 0
GROUP BY register_time;

f72e350e603cfce153105ca5a0505729.png

从图中看出16号玩家的士兵损失率远小于15号玩家,为什么?原因有很多、假设其中一个因素是“治疗加速卷使用”造成的,接下来验证这个论据。

各类加速卷使用情况:

0198bce9d8299cf059792b7ba43a296a.png

4fa9847de6a59c182886208cdac0fd31.png

对比加速卷的使用情况发现10号用户和16号用户的习惯明显不同,16号用户在“科研加速卷”和“治疗加速卷”的使用情况上是明显高于10号用户,但其它加速卷的使用情况都不如15号用户。

治疗加速卷:快速治疗士兵、补充战力

科研加速卷:解锁科技树、提供其他收益效果

可见16号用户在使用加速卷上有更好的搭配性,这也是士兵伤亡率低原因吧。

SELECT register_time AS 日期,
ROUND(SUM(general_acceleration_reduce_value)/SUM(general_acceleration_add_value),2) AS 通用加速卷使用率,
ROUND(SUM(building_acceleration_reduce_value)/SUM(building_acceleration_add_value),2) AS 建筑加速卷使用率,
ROUND(SUM(reaserch_acceleration_reduce_value)/SUM(reaserch_acceleration_add_value),2) AS 科研加速卷用率,
ROUND(SUM(training_acceleration_reduce_value)/SUM(training_acceleration_add_value),2) AS 训练加速卷使用率,
ROUND(SUM(treatment_acceleration_reduce_value)/SUM(treatment_acceleraion_add_value),2) AS 治疗加速卷使用率,
ROUND(SUM(general_acceleration_reduce_value+building_acceleration_reduce_value+reaserch_acceleration_reduce_value+training_acceleration_reduce_value+treatment_acceleration_reduce_value)/
SUM(general_acceleration_add_value+building_acceleration_add_value+reaserch_acceleration_add_value+training_acceleration_add_value+treatment_acceleraion_add_value),2) AS 总体加速卷使用率
FROM shitu WHERE register_time IN( '2018-03-10','2018-03-16') AND pay_count > 0
GROUP BY register_time;

结论

对比发现【3月16号】的充值用户质量要高于【3月10号】的充值用户质量,特点如下:

1.付费率高:
·16号用户的付费率为3.34%,比10号高2.38%

2.用户活跃度高
·16号用户的人均在线时长为15.4分钟,是10要用户的2.5倍
·10号用户75%的用户在线时长不足3分钟、是16号用户的一半(6分钟)
·付费用户时长16号用户人均161分钟、比10号用户高30分钟

3.付费高
·16号ARPPU(3.5元)元略高于10号ARPPU(3.1元)
·16号有复购行为的用户占当日用户的61.6%,比10号高6.9%

4.PVP&PVE参与积极
·双方PVE胜率都保持在90%以上、刷本打怪获取资源的难度不大,游戏难度简单
·双方PVE胜率相似、为71%~72%左右,但16号玩家人均参与场次(28场)高于10号(22场),前者更喜欢参与PVP对抗

5.资源消耗合理、均衡
·16号用户兵种数量是10号用户的2倍左右
·16号用户在‘治疗加速卷’和‘科技加速卷’的使用上高于10号用户

小结:【16号】的付费用户能很快的熟悉和掌握游戏规则,活跃度高、付费意愿强烈、积极进行游戏活动,属于高质量用户群体

可以结合该部分用户其它数据建立更精确的画像,制定运营策略、促进和刺激玩家消费

后续建议:
·用户增长的原因是如何造成的,是否有借鉴的经验
·弄清楚用户在游戏开始时流失的原因,减少用户流失

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值