mysql的付费功能_MYSQL对游戏用户付费行为分析
數據來源:某SLG類型手機游戲用戶注冊7日內的游戲數據
數據大小:828934條數據
字段解釋:
理解字段:該表格的主鍵為user_id
該游戲充值主要獲得以下幾種物品:資源類(木頭、石頭、象牙、肉、魔法等),士兵類(勇士、馴獸師、薩滿等),加速卷類(通用加速、建筑加速、科研加速、訓練加速、治療加速等)
在線時長被命名為avg_online_minutes,且一部分用戶該字段的值為小于一的小數,可以理解為該在線時長為此用戶七天平均的在線分鐘數
各種物品的獲得數量,根據對數據的觀察,該字段存在很多值為0的記錄。然后對游戲試玩發現這些物品可以免費獲得很多,因此猜測這些獲得次數理解為付費后購買獲得的數量
主要游戲方式:
分析目的:
根據已有數據對該游戲7日內的游戲玩家付費行為進行分析。
一、玩家注冊信息
總注冊人數:
SELECT COUNT(DISTINCT user_id)
FROM tap_fun_test
共有82W+條的游戲用戶數據,7天內共有828934個用戶注冊。
每日注冊人數分布:
SELECT DATE(register_time),COUNT(DISTINCT user_id)
FROM tap_fun_test
GROUP BY DATE(register_time)
在3月10日迎來了一次注冊的高峰,3月13日又迎來一次注冊的小高峰。但兩次高峰過后每天的注冊人數相較于高峰前并沒有明顯增長,可見這兩次活動只是帶來了短期的注冊高峰,對于游戲的整體熱度并沒有很大提升。
每日付費人數分布:
SELECT DATE(register_time),COUNT(DISTINCT user_id)
FROM tap_fun_test
WHERE pay_count != 0
GROUP BY DATE(register_time)
付費玩家占比:
SELECT test1.paying_user ,test1.paying_user/test2.total_user AS rate_for_paying
FROM
(SELECT COUNT(user_id) AS paying_user
FROM tap_fun_test
WHERE pay_count!=0) AS test1,
(SELECT COUNT(user_id) AS total_user
FROM tap_fun_test) AS test2
七天之內付費的玩家有19549人,付費人數占注冊總人數的2.36%。
二、用戶在線時長信息
SELECT AVG(avg_online_minutes)
FROM tap_fun_test
首先我們知道了共有828934條數據,求得下四分位數、中位數、上四分位數的位置分別為207233.75,414467.5,621701.25
SELECT avg_online_minutes
FROM tap_fun_test
ORDER BY avg_online_minutes
LIMIT 207232,2
下四分位數為0
SELECT avg_online_minutes
FROM tap_fun_test
ORDER BY avg_online_minutes
LIMIT 414466,2
中位數為2
SELECT avg_online_minutes
FROM tap_fun_test
ORDER BY avg_online_minutes
LIMIT 621700,2
上四分位數為5
可見有75%的玩家7日內的平均在線時間在5分鐘左右,猜測是只有第一天登陸了約5*7=35分鐘左右,玩家流失的可能性很大。但是由于沒有更詳細的登陸數據,無法對玩家的流失程度進行分析。
付費用戶在線信息:
SELECT AVG(avg_online_minutes)
FROM tap_fun_test
WHERE pay_count!=0
SELECT COUNT(user_id)
FROM tap_fun_test
WHERE pay_count!=0
SELECT avg_online_minutes
FROM tap_fun_test
WHERE pay_count!=0
ORDER BY avg_online_minutes
LIMIT 4886,2
SELECT avg_online_minutes
FROM tap_fun_test
WHERE pay_count!=0
ORDER BY avg_online_minutes
LIMIT 9774,1
SELECT avg_online_minutes
FROM tap_fun_test
WHERE pay_count!=0
ORDER BY avg_online_minutes
LIMIT 14661,2
下四分位數為31,中位數為84,上四分位數為191.平均數為135.7898
將平均在線時長大于30分鐘的玩家定為活躍玩家。
將平均在線時長大于30分鐘,且要塞登記不低于10級的玩家定位高端玩家;將平均在線時長大于30分鐘,而要塞等級低于10級的玩家定位一般玩家。
三、計算付費指標
付費率:
SELECT test1.paying_user,test2.active_user,test1.paying_user/test2.active_user AS pay_user_rate
FROM
(SELECT COUNT(user_id) AS paying_user
FROM tap_fun_test
WHERE pay_count!=0) AS test1,
(SELECT COUNT(user_id) AS active_user
FROM tap_fun_test
WHERE avg_online_minutes>=30) AS test2
付費率為30.87%,即付費人數占活躍人數的30.87%
每日付費率波動:
SELECT test1.time1,test1.paying_user,test2.active_user,test1.paying_user/test2.active_user AS pay_user_rate
FROM
(SELECT COUNT(user_id) AS paying_user,DATE(register_time) AS time1
FROM tap_fun_test
WHERE pay_count!=0
GROUP BY DATE(register_time)) AS test1,
(SELECT COUNT(user_id) AS active_user,DATE(register_time) AS time2
FROM tap_fun_test
WHERE avg_online_minutes>=30
GROUP BY DATE(register_time)) AS test2
WHERE test1.time1=test2.time2
ARPPU:
SELECT test1.paying_user,test2.paying_price,test2.paying_price/test1.paying_user AS ARPPU
FROM
(SELECT COUNT(user_id) AS paying_user
FROM tap_fun_test
WHERE pay_count!=0) AS test1,
(SELECT SUM(pay_price) AS paying_price
FROM tap_fun_test
) AS test2
平均每付費用戶收入28.5元。
ARPU:
SELECT test1.active_user,test2.paying_price,test2.paying_price/test1.active_user AS ARPU
FROM
(SELECT COUNT(user_id) AS active_user
FROM tap_fun_test
WHERE avg_online_minutes>=30) AS test1,
(SELECT SUM(pay_price) AS paying_price
FROM tap_fun_test
) AS test2
平均每用戶收入8.8元。
目前較好的手游ARPU超過5元;一般的手游ARPU在3~5元之間;ARPU低于3元則說明表現較差。
可見該手游的盈利能力較好。
四、付費習慣分析
資源類使用率:
SELECT SUM(wood_reduce_value+stone_reduce_value+ivory_reduce_value+meat_reduce_value+magic_reduce_value) AS resource_reduce_value,
SUM(wood_add_value+stone_add_value+ivory_add_value+meat_add_value+magic_add_value) AS resource_add_value,
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) AS resource_usage
FROM tap_fun_test
高端玩家資源利用率:
SELECT SUM(wood_reduce_value+stone_reduce_value+ivory_reduce_value+meat_reduce_value+magic_reduce_value) AS resource_reduce_value,
SUM(wood_add_value+stone_add_value+ivory_add_value+meat_add_value+magic_add_value) AS resource_add_value,
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) AS resource_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家資源利用率:
SELECT SUM(wood_reduce_value+stone_reduce_value+ivory_reduce_value+meat_reduce_value+magic_reduce_value) AS resource_reduce_value,
SUM(wood_add_value+stone_add_value+ivory_add_value+meat_add_value+magic_add_value) AS resource_add_value,
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) AS resource_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
高端玩家各類資源使用率:
SELECT 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) AS resource_usage,
SUM(wood_reduce_value)/SUM(wood_add_value) AS wood_usage,
SUM(stone_reduce_value)/SUM(stone_add_value) AS stone_usage,
SUM(ivory_reduce_value)/SUM(ivory_add_value) AS ivory_usage,
SUM(meat_reduce_value)/SUM(meat_add_value) AS meat_usage,
SUM(magic_reduce_value)/SUM(magic_add_value) AS magic_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家各類資源使用率:
SELECT 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) AS resource_usage,
SUM(wood_reduce_value)/SUM(wood_add_value) AS wood_usage,
SUM(stone_reduce_value)/SUM(stone_add_value) AS stone_usage,
SUM(ivory_reduce_value)/SUM(ivory_add_value) AS ivory_usage,
SUM(meat_reduce_value)/SUM(meat_add_value) AS meat_usage,
SUM(magic_reduce_value)/SUM(magic_add_value) AS magic_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
可以看出高端玩家和低端玩家在象牙使用率上有很大的差距,整體來看木頭使用率最高,象牙的使用率最低。木頭資源對于玩家來說比較重要,而象牙資源可能相對來說沒那么重要。
士兵類損耗率:
SELECT SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value) AS soldier_reduce_value,
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_add_value,
SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value)/
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_usage
FROM tap_fun_test
高端玩家士兵損耗率:
SELECT SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value) AS soldier_reduce_value,
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_add_value,
SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value)/
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家士兵損耗率:
SELECT SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value) AS soldier_reduce_value,
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_add_value,
SUM(infantry_reduce_value+cavalry_reduce_value+shaman_reduce_value)/
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
高端玩家各類士兵損耗率:
SELECT SUM(infantry_reduce_value + cavalry_reduce_value + shaman_reduce_value)/
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_usage,
SUM(infantry_reduce_value)/SUM(infantry_add_value) AS infantry_usage,
SUM(cavalry_reduce_value)/SUM(cavalry_add_value) AS cavalry_usage,
SUM(shaman_reduce_value)/SUM(shaman_add_value) AS shaman_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家各類士兵損耗率:
SELECT SUM(infantry_reduce_value + cavalry_reduce_value + shaman_reduce_value)/
SUM(infantry_add_value+cavalry_add_value+shaman_add_value) AS soldier_usage,
SUM(infantry_reduce_value)/SUM(infantry_add_value) AS infantry_usage,
SUM(cavalry_reduce_value)/SUM(cavalry_add_value) AS cavalry_usage,
SUM(shaman_reduce_value)/SUM(shaman_add_value) AS shaman_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
同時求出標準差,可見高端玩家相對于一般玩家使用的兵種更加平衡,從整體來看,高端玩家的士兵損失率明顯低于一般玩家。
高端玩家加速券使用率:
SELECT SUM(general_acceleration_reduce_value+building_acceleration_reduce_value+reaserch_acceleration_reduce_value+training_acceleration_reduce_value+treatment_acceleration_reduce_value) AS acceleration_reduce_value,
SUM(general_acceleration_add_value+building_acceleration_add_value+reaserch_acceleration_add_value+training_acceleration_add_value+treatment_acceleraion_add_value) AS acceleraion_add_value,
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) AS acceleraion_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家加速券使用率:
SELECT SUM(general_acceleration_reduce_value+building_acceleration_reduce_value+reaserch_acceleration_reduce_value+training_acceleration_reduce_value+treatment_acceleration_reduce_value) AS acceleration_reduce_value,
SUM(general_acceleration_add_value+building_acceleration_add_value+reaserch_acceleration_add_value+training_acceleration_add_value+treatment_acceleraion_add_value) AS acceleraion_add_value,
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) AS acceleraion_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
高端玩家各類加速券使用率:
SELECT 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) AS acceleraion_usage,
SUM(general_acceleration_reduce_value)/SUM(general_acceleration_add_value) AS general_acceleration_usage,
SUM(building_acceleration_reduce_value)/SUM(building_acceleration_add_value) AS building_acceleration_usage,
SUM(reaserch_acceleration_reduce_value)/SUM(reaserch_acceleration_add_value) AS reaserch_acceleration_usage,
SUM(training_acceleration_reduce_value)/SUM(training_acceleration_add_value) AS training_acceleration_usage,
SUM(treatment_acceleration_reduce_value)/SUM(treatment_acceleraion_add_value) AS treatment_acceleraion_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level >= 10
一般玩家各類加速券使用率:
SELECT 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) AS acceleraion_usage,
SUM(general_acceleration_reduce_value)/SUM(general_acceleration_add_value) AS general_acceleration_usage,
SUM(building_acceleration_reduce_value)/SUM(building_acceleration_add_value) AS building_acceleration_usage,
SUM(reaserch_acceleration_reduce_value)/SUM(reaserch_acceleration_add_value) AS reaserch_acceleration_usage,
SUM(training_acceleration_reduce_value)/SUM(training_acceleration_add_value) AS training_acceleration_usage,
SUM(treatment_acceleration_reduce_value)/SUM(treatment_acceleraion_add_value) AS treatment_acceleraion_usage
FROM tap_fun_test
WHERE avg_online_minutes>30 AND bd_stronghold_level < 10
高端玩家的加速券的使用率明顯高于一般玩家,玩家對建筑加速券的需求量較高,對治療加速券的需求較低。
總結
以上是生活随笔為你收集整理的mysql的付费功能_MYSQL对游戏用户付费行为分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql逆向工程_Mybatis+My
- 下一篇: linux cmake编译源码,linu