游戏数据分析报告
数据来源:DC游戏玩家付费金额预测大赛
数据包含近229万条记录和109个字段。
比赛任务是用前7天数据预测前45天付费金额,
本篇博客主要关注在数据探索分析。
一些重要字段:
bd_stronghold_level:要塞等级,相当于游戏账号等级
register_time: 注册时间
pay_price: 付费金额
avg_online_minutes: 在线时长
pvp_battle_count: 人人对战次数
pvp_win_count: 人人对战胜利次数
pve_battle_count: 人机对战次数
wood_reduce_value: 木头消耗量
本文主要从以下方面探索数据;
注册时间分布
部分代码
time = pd.DataFrame()
time['register_t'] =train_data['register_time'].map(lambda x:x[5:10])
data_plot = time.groupby('register_t').size() # 返回不同分组和每组数量
data_plot.columns = ['date', 'register_counts']
plt.subplots(figsize=(18, 6))
plt.plot(data_plot)
plt.grid(True)
plt.xticks(rotation=90)
plt.title('user register distribution')
plt.show()
数据时间跨度:2018年 (1-26 ~ 3-6)
在2月15号到2月22号之间有两个用户增长的小高潮
这个期间是2018年农历新年假期
运营方在游戏中开展了一系列活动,包括舞狮活动、酋长参战、跨服战、爆竹活动等,这些活动和春节效应叠加,带来了注册人数的增加,出现峰值
付费情况分析
定义活跃用户为: 前7天平均在线时长大于30min
activate_user = train_data[train_data['avg_online_minutes']>30]
#付费率(付费人数/活跃人数) 付费率
df_pay_user=train_data[(train_data['pay_price']>0)]
pay_rate=df_pay_user['user_id'].count()/activate_user.shape[0]
print('付费率:%.2f'%(pay_rate*100),'%')
#ARPU(总付费金额/活跃人数) 人均付费金额
arpu=df_pay_user['pay_price'].sum()/activate_user.shape[0]
print('ARPU:%.2f'%(arpu))
#ARPPU(总付费金额/付费人数) 付费用户人均付费金额
arppu=df_pay_user['pay_price'].sum()/df_pay_user['user_id'].count()
print('ARPPU:%.2f'%(arppu))