方文昌高科技娛樂的遊戲論壇

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 368|回復: 0
打印 上一主題 下一主題

遊戲玩家行為数据分析:基于R

[複製鏈接]

2481

主題

2481

帖子

7529

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
7529
跳轉到指定樓層
樓主
發表於 2023-12-15 14:28:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
《蛮横期間》是一款SLG類型的遊戲,方针是經由過程阐發玩家在前7日内的举動数据来展望玩家前45日玩家的消费程度,固然這里重要對玩家前7日的举動数据举行一個摸索性阐發,正确领會每個玩家的潜伏价值,和為遊戲方提高運营效力,制订運营勾當供给一些有效的信息。

数据约莫有220万条記實,共有110条字段,這里咱們只取部門有效字段举行阐發,有些遊戲内資本数据字段不举行阐發,数据存储在MySQL中,這里利用Rmysql包举行数据提取,原始数据中数据字段不少,這里只是提取部門首要字段特性,别離是:

user_id:用户编号,独一標識

pay_count:用户付费次数

pay_price:用户充值价值

register_time:注册時候

avg_online_minutes:均匀在线時长

pvp_battle_count: pvp對战次数

pvp_win_count: pvp對战赢的次数

pvp_lanch_count: pvp對战输的次数

wood_reduce_value: 木料損耗量

stone_reduce_value: 石料損耗量

ivory_reduce_value: 象牙損耗量

meat_reduce_value: 食品損耗量

magic_reduce_value: 魔力損耗量

详细的数据环境以下:

  1. #读入数据
  2. library(RMySQL)

  3. con<-dbConnect(MySQL(),host='localhost',dbname='tap_fun',user='root&#去口臭茶,39;,password='123456')

  4. sql<-'SELECT user_id,pay_count,pay_price,register_time,avg_online_minutes,pvp_battle_count,pvp_win_coun牙齒美白,t,pvp_lanch_count,wood_reduce_value,stone_reduce_value,ivory_reduce_value,meat_reduce_value,magic_reduce_value,general_acceleration_reduce_value,building_acceleration_reduce_value,reaserch_acceleration_reduce_value,training_acceleration_redu提升免疫力,ce_value FROM tap_fun_train'

  5. res<-dbSendQuery(con,sql)

  6. data<-dbFetch(res = res,n=-1)   #n=-1提取全数数据
複製代碼

這里利用funmodeling包举行摸索性阐發,加载funmodeling包,tidyverse包,Hmise包

  1. library(tidyverse)
  2. library(funModeling)
  3. library(Hmisc)

  4. glimpse(data)    #描写数据量,总體字段類型
  5. df_status(data)  #各字段的0值,缺失值,類型,独一值等

  6. #這里将付费次数,付费金额,在线時长轉化為想要的類型
  7. data$pay_count<-as.numeric(data$pay_count)
  8. data$pay_price<-as.numeric(data$pay_price)
  9. data$avg_online_minutes<-as.numeric(data$avg_online_minutes)

  10. describe(data[c('pay_count','pay_price','avg_online_minutes')])
複製代碼


以上共2288006条記實,17個特性,各個字段的類型。有些字段類型不合用于部門阐發,以是在接下阐發部門有些字段會扭轉字段類型。

以上是每個變量中0值的個数(q_zeros)和占比(p_zeros),缺失值的個数(q_na)和占比(p_na),同時還包含變量的類型和独一值(unique)。

這里只是對pay_count,pay_price,avg_online_minutes三個變量举行描写,也能够對所稀有据举行描写,可是要将字段轉化為對應的類型。

以上是三個變量的统计指標,付费次数(pay_count)最高的是105次,每次付费代价(pay_price)的最高付出為7457.95元,均匀在线時长(avg_online_minutes)最可能是2049.67分钟。因為有些数值受'0'值数目的影响,在後续的探讨中會解除0值的影响。

  1. attach(蟑螂剋星,data)

  2. data$register_time<-as.Date(data$register_time)   #将字段register_time轉化為時候類型
  3. userdata<-data%>%group_by(register_time)%>%su妹妹arise(count=n()) #以字段register_time举行分组,求出每天注册用户数目

  4. #逐日注册用户数時候序列
  5. ggplot(data = userdata,aes(x=register_time,y=count))+geom_point(aes(size=count))+geom_line(color='blue')+ggtitle('逐日注册用户数')

  6. #逐日注册用户TOP美國黑金, 10
  7. register_top<-userdata%>%arrange(desc(count))

  8. ggplot(data = register_top[1:10,],aes(x=reorder(as.character(register_time),count),y=count))+geom_bar(stat = 'identity')+theme(axis.text.x = element_text(angle = 90))+xlab('注册時候')+ggtitle('逐日注册用户top 10')+geom_text(aes(label=count),vjust=-0.3)
複製代碼

分组注册用户数目

以上是從1月26日至3月7日的注册用户数目。

注册時候序列圖

top 10

注册時候序列圖:從1月26至2月16日趋向比力安稳,逐日注册用户保持在65000人次摆布,2月17日至2月19注册用户显著增多,2月19日到達颠峰為117311人次,缘由多是這段時候為春節時代,官方會推出勾當,吸引玩家,致使注册用户显著增多,從2月20日起头,整體呈降低趋向後趋于安稳。

  1. #找出付用度户

  2. pay_data<-data%>%filter(pay_count>0)%>%select(user_id,pay_price,pay_count,avg_online_minutes,register_time)
  3. pay_data$pay_price<-as.numeric(pay_data$pay_price)
  4. pay_data$pay_count<-as.numeric(pay_data$pay_count)
  5. pay_data$avg_online_minutes<-as.numeric(pay_data$avg_online_minutes)
  6. pay_data$register_time<-as.Date(pay_data$register_time)

  7. dim(pay_data)  #数据巨细

  8. describe(pay_data[c('pay_price','pay_count','avg_online_minutes')])

  9. #逐日新增付用度户数
  10. day_add_data<-pay_data%>%group_by(register_time)%>%su妹妹arise(pay_num=n())

  11. ggplot(data = day_add_data,aes(x=register_time,y=pay_num))+geom_point(aes(size=pay_num))+geom_line(color='blue')+ggtitle('逐日新增付用度户数')

  12. #比拟阐發
  13. pay_user_data<-left_join(userdata,day_add_data,by='register_time')

  14. #付用度户算占比例
  15. pay_per<-data%>%su妹妹arise(count_num=n(),pay_count_num=sum(ifelse(pay_count>0,1,0)),per=pay_count_num/count_num)
  16. pay_per_data<-gather(pay_per)

  17. #付用度户與未付用度户的資本利用率比拟
  18. data$wood_reduce_value<-as.numeric(data$wood_reduce_value)
  19. data$stone_reduce_value<-as.numeric(data$stone_reduce_value)
  20. data$ivory_reduce_value<-as.numeric(data$ivory_reduce_value)
  21. data$meat_reduce_value<-as.numeric(data$meat_reduce_value)
  22. data$magic_reduce_value<-as.numeric(data$magic_reduce_value)

  23. no_pay_sources_data<-filter(data,pay_count==0)%>%select(wood_reduce_value,stone_reduce_value,ivory_reduce_value,meat_reduce_value,magic_reduce_value)%>%gather()%>%group_by(key)%>%su妹妹arise(nopay_mean=mean(value))

  24. pay_sources_data<-filter(data,pay_count>0)%>%select(wood_reduce_value,stone_reduce_value,ivory_reduce_value,meat_reduce_value,magic_reduce_value)%>%gather()%>%group_by(key)%>%su妹妹arise(pay_mean=mean(value))

  25. sources_data<-left_join(no_pay_sources_data,pay_sources_data,by='key')

  26. sources_data%>%gather(type,mount,-key)%>%ggplot(aes(key,mount,fill=type))+geom_bar(stat = 'identity',position = 'dodge')+theme_economist()+scale_fill_economist()+geom_text(aes(label=round(mount,2)),vjust=-0.3)

  27. #付用度户與将来付用度户的對战环境
  28. data$pvp_battle_count<-as.numeric(data$pvp_battle_count)
  29. data$pvp_win_count<-as.numeric(data$pvp_win_count)
  30. data$pvp_lanch_count<-as.numeric(data$pvp_lanch_count)

  31. no_pay_pvp<-data%>%filter(pay_count==0)%>%select(pvp_lanch_count,pvp_win_count,pvp_battle_count)%>%gather()%>%group_by(key)%>%su妹妹arise(nopay_pvp_mean=mean(value))

  32. pay_pvp<-data%>%filter(pay_count>0)%>%select(pvp_lanch_count,pvp_win_count,pvp_battle_count)%>%gather()%>%group_by(key)%>%su妹妹arise(pay_pvp_mean=mean(value))

  33. pvp_data<-left_join(no_pay_pvp,pay_pvp,by='key')

  34. pvp_data%>%gather(type,mount,-key)%>%ggplot(aes(key,mount,fill=type))+geom_bar(stat = 'identity',position = 'dodge')+theme_wsj()+scale_fill_wsj()+geom_text(aes(label=round(mount,2)),vjust=-0.3)
複製代碼

付费玩家环境描写

如上:付用度户共有41439人,對于费价值、付费次数举行描写,最低消费0.99,最高消费6253.98,均值為29.52元,消用度户大多只是充值少许金额;最低消费次数1次,最高消费次数為105次,均值為3.186次,大對数玩家只充值了一次,以上多是官方為了吸引更多的玩家,會送给玩家必定的金额,或许這是大對数玩家只有一次消费并且消费金额很低的缘由。

玩家逐日付费环境

付费玩家與未付费玩家資本利用环境

付费與未付费玩家對战环境比拟

以上玩家逐日付费环境中,從1月26日起头付费次数呈降低趋向;付用度户利用的均匀資本显著要比未付用度户利用的均匀資本要多,未付@用%744UX%度對資%nmhQ9%本@的操纵要少很多;付费玩家的對战次数要比未付费的玩家多不少,固然遊戲的胜负几率在0.5之間,這合适遊戲的纪律。

  1. #這里咱們假腳氣膏推薦, 如用户在线均匀時长跨越30分钟為活泼用户
  2. active_users_data<-data%>%filter(as.numeric(avg_online_minutes)>30)
  3. active_users_data$avg_online_minutes<-as.numeric(active_users_data$avg_online_minutes)

  4. #活泼用户均匀在线時长散布环境
  5. describe(active_users_data$avg_online_minutes)
  6. ggplot(data = active_users_data,aes(x=avg_online_minutes))+geom_histogram(binwidth = 40,bins = 30)+xlim(0,1000)

  7. #活泼玩家中付用度户比拟
  8. active_users_data%>%select(pay_count,pay_price)%>%su妹妹arise(count=n(),pay_count=sum(if_else(pay_count>0,1,0)))%>%gather()%>%ggplot(aes(key,value))+geom_bar(stat = 'identity')+coord_flip()+geom_text(aes(label=value),hjust=-0.3)

  9. #活泼玩家均匀資本操纵环境(這里只對木料,石头,象牙,肉,魔力举行比拟阐發)

  10. active_users_data$wood_reduce_value<-as.numeric(active_users_data$wood_reduce_value)
  11. active_users_data$stone_reduce_value<-as.numeric(active_users_data$stone_reduce_value)
  12. active_users_data$ivory_reduce_value<-as.numeric(active_users_data$ivory_reduce_value)
  13. active_users_data$meat_reduce_value<-as.numeric(active_users_data$meat_reduce_value)
  14. active_users_data$magic_reduce_value<-as.numeric(active_users_data$magic_reduce_value)

  15. active_users_data[,9:13]%>%gather()%>%group_by(key)%>%su妹妹arise(source_mean=mean(value))%>%ggplot(aes(key,source_mean))+geom_bar(stat = 'identity')+geom_text(aes(label=round(source_mean,2)),vjust=-0.3)

  16. #活泼玩家對战环境

  17. active_users_data$pvp_battle_count<-as.numeric(active_users_data$pvp_battle_count)
  18. active_users_data$pvp_win_count<-as.numeric(active_users_data$pvp_win_count)
  19. active_users_data$pvp_lanch_count<-as.numeric(active_users_data$pvp_lanch_count)

  20. active_users_data[,6:8]%>%gather()%>%group_by(key)%>%su妹妹arise(pvp_mean=mean(value))%>%ggplot(aes(key,pvp_mean))+geom_bar(stat = 'identity')+geom_text(aes(label=round(pvp_mean,2)),vjust=-0.3)
複製代碼

活泼玩家在线時长散布环境

大大都活泼用户的在线時长集中在30至250分钟之間,总體呈右偏。

活泼用户占比

活泼用户資本利用环境

活泼用户對战环境
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|方文昌高科技娛樂的遊戲論壇  

銀行貸款, 未上市未上市股票廚餘回收再利用機關廚餘回收Tshirt團體服, 夾克, 團體制服, 資料擷取DAQ, load cell, 九州娛樂城, 刷卡換現金封口機polo衫, 團體制服, 團體服, 背心, 空壓機, 滑鼠墊美體, 聚左旋乳酸, 呼吸照護, 畫室樹林當舖汽機車借款, 中壢汽車借款 支票借款新竹機車典當3a娛樂城, 歐冠杯決賽, 歐冠盃投注, 歐冠盃決賽, 贈品, 堆高機, 飲水機翻譯社壯陽藥, 瘦身台北植牙, 悠遊卡套, 隆乳, 割雙眼皮, 台北招牌設計, 支票借錢, 未上市, 紫錐花邱大睿, 票貼, 支票借錢, 彰化當舖台中搬家, 台中搬家公司, 屏東當舖未上市股票, 家具沙發, 立體字, 保麗龍切割, 露牙齦, 防盜, 冰淇淋機綿綿冰機沙發工廠運動彩券單場運彩單場運動彩場中投注場中投注表邱大睿, 歐冠杯, 歐冠盃, 財神娛樂財神娛樂城

GMT+8, 2024-12-26 13:26 , Processed in 0.032919 second(s), 4 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表