游戏APP用户行为及运营情况分析

一、分析结论

运营情况分析总结

1.新增用户分析

1)这段时间内新增的玩家数量是828934人,其中付费玩家19549人,站总用户数的2.4%;
2)每日新增玩家在3/10日左右新增玩家有一次大高峰增长,在3/13日左右有一次小增长;新增付费用户数在3/16号达到顶峰,但是后续也是持续下降;说明在这次活动过后,玩家的新增数量没有显著提升,可见活动对于提升游戏的人气帮助不大;活动仍然还需要持续一定的时间,让玩家充分了解游戏。

2.玩家活跃度分析

1)全部玩家的平均在线时长为11.6分钟,付费玩家的平均在线时长是135.8分钟,约是普通玩家的11倍,付费玩家拥有更高的活跃度。
2)75%的玩家的活跃时长不超过5分钟,说明用户的流失比较严重;
3)付费用户中75%的用户平均使用时长超过31分钟,说明付费用户更愿意投入时间在这款游戏中。

3.玩家付费情况分析

1)付费率PUR比较低,约17%,还有进一步的提高空间,可以开展相关活动提高付费率,从而提高渠道商青睐,如开展首冲礼包活动。
2)目前较好的手游每日ARPU超过五元;一般的手游在3-5元之间;低于3元说明表现较差。该手游的ARPU为5.44,表现良好;
3)该手游的ARPPU为32.62,说明付费用户整体的消费能力强,后续可以对付费用户进一步分析,已保证它们的持续付费;

4.玩家游戏习惯分析

1)APA玩家的平均PVE次数和PVP次数都是AU玩家的两倍左右,APA玩家更愿意花时间在这个游戏上;
2)在PVP对战中,APA玩家的获胜还率远超于AU玩家,说明我们的游戏道具可以让APA享受到对战的获胜的乐趣;
3)PVE的获胜概率均超过90%,建议后续可以关注是否需要出一些挑战难度大一些的PVE对战。

二、游戏APP用户行为

游戏APP用户行为流程

数据概况

print("安装信息:")
print(install_table.info())
print("-"*30)
print(install_table.describe())
print("-"*30)
print(install_table.isnull().sum())
print("-"*30)
print(install_table.duplicated().sum())

 

print("注册信息:")
print(register_table.info())
print("-"*30)
print(register_table.describe())
print("-"*30)
print(register_table.isnull().sum())
print("-"*30)
print(register_table.duplicated().sum())

 

 

数据处理

两张表中的安装时间范围不相同,选择相同的安装时间分析(2020-4-20——2020-04-26)

install=install_table[install_table['安装时间']>='2020-04-20 00:00:00']
register=register_table[register_table['安装时间']>='2020-04-20 00:00:00']
print(install['安装时间'].min(),install['安装时间'].max())
print(register['安装时间'].min(),register['安装时间'].max())

数据可视化

安装信息可视化

1.安装人数、注册人数、激活率

激活率=激活人数/安装人数(这里激活人数以注册人数代替)

install_num=install.用户唯一ID.count()
register_num=register.用户唯一ID.count()
print(f'安装人数:{install_num}激活人数:{register_num}')
print('激活率:%.2f%%'%(register_num/install_num*100))

 

2.日安装量变化趋势

install['安装日期']=install['安装时间'].dt.date
data=install.groupby('安装日期')['用户唯一ID'].count()
print(data)
data.plot()
plt.show()

 3.TOP5子渠道

print(install['子渠道'].value_counts()[:5])
install['子渠道'].value_counts()[:5].plot.pie()

4.安装的手机类型统计TOP10

由于手机品牌名称存在大小写不一的情况(例如OPPO,oppo),因此必须先统一格式后再统计:

install['手机类型']=install['机型'].str.upper()
install['手机类型']=install['手机类型'].str.split('-').str[0]
install['手机类型'].value_counts()[:10].plot.bar()

 

注册信息可视化

1.每日注册人数

register['注册日期']=pd.to_datetime(register['注册时间']).dt.date
register.groupby('注册日期').用户唯一ID.count().plot()

 2.不同类型用户的注册时段

register['注册时段']=pd.to_datetime(register['注册时间']).dt.hour
register.groupby(['用户类型','注册时段']).用户唯一ID.count().unstack(0).plot()

 3.7天内激活比例

register['激活时间']=pd.to_datetime(register['注册时间']).dt.day-pd.to_datetime(register['安装时间']).dt.day
data=data.reset_index(name='total')
data['percent']=(data['total']/install.shape[0]).round(3)
data['percent_reg']=(data['total']/register.shape[0]).round(3)

data['percent'].sum()

 4.日新增新用户统计

register_new.groupby(['注册日期']).用户唯一ID.count().plot()

 

 

三、游戏运营情况分析

数据分析

数据概况

print(game.info())
print("-"*30)
print(game.isnull().sum())
print("-"*30)
print(game.duplicated().sum())

 

数据分析

1.新增玩家分析

player_new=game.groupby(['register_day'])['user_id'].count() 
pay_player=game[game['pay_price']>0]
pay_player_new=pay_player.groupby(['register_day'])['user_id'].count()
new=pd.concat([player_new,pay_player_new],axis=1)
new.columns=['player','pay_player']
new=new.reset_index()
new

# 创建画布
plt.figure(figsize=(20,8))
# 绘制折线图
ax1 = plt.gca()
ax2 = plt.gca()

ax1 = plt.gca() # 获取当前轴域
ax1.set_xlabel('日期') # 设置x轴标签
ax1.set_ylabel('新增玩家人数', color='r') # 设置y轴标签
ax1.plot(new.register_day, new.player, color='red',label='新增玩家人数',marker='o',alpha=0.5) # 数据绘制
ax1.tick_params(axis='y', labelcolor='red') # 设置y轴刻度属性

ax2 = ax1.twinx() # 创建新axes实例,共享x轴
ax2.set_ylabel('新增付费玩家人数', color='blue')
ax2.plot(new.register_day, new.pay_player, color='blue',label='新增付费玩家人数',marker='o',alpha=0.5)
ax2.tick_params(axis='y', labelcolor='blue')

plt.title('新增玩家数量',size=25)
plt.show()

 

观察上图可知,每日新增玩家在3/10日左右新增玩家有一次大高峰增长,在3/13日左右有一次小增长;

新增付费用户数在3/16号达到顶峰,但是后续也是持续下降;

说明在这次活动过后,玩家的新增数量没有显著提升,可见活动对于提升游戏的人气帮助不大;活动仍然还需要持续一定的时间,让玩家充分了解游戏。

新增玩家付费分析

no_pay_num=new['player'].sum()
pay_num=new['pay_player'].sum()
plt.figure(figsize=(8,8))
plt.pie([no_pay_num,pay_num],labels=['未付费','付费'],autopct='%1.1f%%')
plt.title('新增付费用户占比')
plt.show()

 

观察上图可知,新增的用户中,付费比例很低;

说明活动对玩家的吸引力不足。

 

2.玩家活跃度分析

plt.figure(figsize=(10,10))
plt.boxplot(game.avg_online_minutes)
plt.show()

 

pay=game[game['pay_price']>0]
plt.figure(figsize=(10,10))
plt.boxplot(pay.avg_online_minutes)
plt.show()

 

由上可知,75%的用户平均使用时长<=5分钟,也就是说用户流失非常严重;

而75%的付费用户的平均在线时长大于31分钟。

 

3.玩家付费情况分析

关键指标:AU、PU、APA、ARPU、ARPPU、PUR

#Active Users
au=game[game['avg_online_minutes']>=15].user_id.count()
#Paying User
pu=game[game['pay_price']>0].user_id.count()
#total revenue
revenue=game['pay_price'].sum()
#Active Payment Account
apa=game[(game['avg_online_minutes']>=15) & (game['pay_price']>0)].user_id.count()
#Average Revenue Per User
arpu=revenue/au
#Average Revenue Per Paying User
arppu=revenue/apa
#Pay User Rate
pur=apa/au

付费用户的平均消费远高于普通用户,但是付费率偏低。
可以开展首冲活动,让用户充值少量的钱,开始逐渐付费,例如充值6元获得限量的礼包。
付费率高,就可以更多的获得渠道商的青睐。

4.玩家游戏习惯分析

活跃用户PVP情况
au_pvp_count=game[game['avg_online_minutes']>=15].pvp_battle_count.sum()
au_pvp_mean=game[game['avg_online_minutes']>=15].pvp_battle_count.mean()
au_lanch_pvp_count=game[game['avg_online_minutes']>=15].pvp_lanch_count.sum()
au_win_pvp_count=game[game['avg_online_minutes']>=15].pvp_win_count.sum()
au_lanch_pvp_rate=au_lanch_pvp_count/au_pvp_count
au_win_pvp_rate=au_win_pvp_count/au_pvp_count

付费用户PVP情况
apa=game[(game['avg_online_minutes']>=15) & (game['pay_price']>0)]
apa_pvp_count=apa.pvp_battle_count.sum()
apa_pvp_mean=apa.pvp_battle_count.mean()
apa_lanch_pvp_count=apa.pvp_lanch_count.sum()
apa_win_pvp_count=apa.pvp_win_count.sum()
apa_lanch_pvp_rate=apa_lanch_pvp_count/apa_pvp_count
apa_win_pvp_rate=apa_win_pvp_count/apa_pvp_count

 pve同理

 PVE难度不高,两种玩家的获胜概率相近,可以考虑加入更多的高难度PVE;
在PVP中,付费用户的胜率更高

 

posted on 2023-05-13 09:06  尘仙  阅读(397)  评论(0编辑  收藏  举报

导航