日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

游戏玩家的留存率统计SQL实现

發布時間:2024/8/26 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 游戏玩家的留存率统计SQL实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

玩家在某段時間內注冊開始游戲,經過一段時間后,仍然繼續游戲的被認作是留存;這部分用戶占當時新增用戶的比例即是留存率,會按照每隔1單位時間(例日、周、月)來進行統計。顧名思義,留存指的就是“有多少玩家留下來了”。留存用戶和留存率體現了應用的質量和保留用戶的能力。
?

次日留存率首次登陸后第二天登錄游戲用戶/統計日的注冊用戶數
三日留存率首次登陸后第三天登陸過的用戶/統計日的注冊用戶數
七日留存率首次登陸后第七天登錄過游戲的用戶/統計日的注冊用戶數
三十日留存數首次登陸后第三十天登錄過游戲的用戶/統計日的注冊用戶數



留存率 在不同的游戲中 算法不一樣

留存率說明


某時間內的新增用戶,經過一段時間后,仍繼續登錄游戲的被認作時留存用戶;這部分用戶占當時新增用戶的比例即是留存率。


例如:
9月5日新增用戶200,這200人在6日登錄游戲二手游戲賣號的有100人,7日登錄有80人,8日登錄有50人;
則9月5日次日留存率是50%,3日留存率是40%,4日留存率是25%。


這是我們游戲里的計算方式

這樣統計 有科學根據的
比如 哪天 你開廣告了 就可以看 他帶來的用戶質量
還有 這樣的留存 數據 也會好看的


?

  • -- 登錄日志??
  • DROP TABLE IF EXISTS log_login;??
  • CREATE TABLE log_login(??
  • ??id INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,??
  • ??player_id INT(11) UNSIGNED NOT NULL,??
  • ??last_login_time timestamp NOT NULL DEFAULT '2000-01-01 00:00:00',??
  • ??register_time timestamp NOT NULL DEFAULT '2000-01-01 00:00:00',? ?
  • ??PRIMARY KEY (id)??
  • )ENGINE=MYISAM DEFAULT CHARSET=utf8;??
  • 復制代碼


    log_login的數據在每個玩家登陸的時候產生一條,為了接下去的存儲過程執行效率的考慮,冗余了每個玩家的注冊時間。

  • -- 統計留存率??
  • DROP TABLE IF EXISTS stat_remain;??
  • CREATE TABLE stat_remain(??
  • ??id INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,??
  • ??dru INT(11) NOT NULL, -- 每日新注冊用戶??
  • ??second_day INT(11) DEFAULT NULL,??
  • ??third_day INT(11) DEFAULT NULL,??
  • ??seventh_day INT(11) DEFAULT NULL,??
  • ??thirtieth_day INT(11) DEFAULT NULL,? ?
  • ??stat_time timestamp NOT NULL DEFAULT '2000-01-01 00:00:00',??
  • ??add_time timestamp NOT NULL DEFAULT '2000-01-01 00:00:00',? ?
  • ??PRIMARY KEY (id)??
  • )ENGINE=MYISAM DEFAULT CHARSET=utf8;
  • 復制代碼

  • DELIMITER $??
  • -- 統計留存率??
  • DROP PROCEDURE IF EXISTS stat_remain_player$??
  • CREATE PROCEDURE stat_remain_player()??
  • BEGIN??
  • declare i int;??
  • SET i = 1;? ?
  • ??
  • insert into stat_remain(dru,stat_time,add_time) select count(a_qid),date_sub(curdate(),interval 1 day),now() from tb_fish where datediff(now(),add_time)=1;??
  • ??
  • ??
  • while i<30 do? ?
  • if (i=1) or (i=2) or (i=6) or (i=29) then??
  • ? ? if exists(select * from stat_remain where datediff(curdate(),stat_time) =i) then? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
  • ? ? update stat_remain set second_day=(select (select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i and datediff(date_add(curdate(),interval 1-i day),last_login_time)=0)/(select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i))*100 where datediff(curdate(),stat_time) =i;? ?
  • ? ? update stat_remain set third_day=(select (select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i and datediff(date_add(curdate(),interval 2-i day),last_login_time)=0)/(select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i))*100 where datediff(curdate(),stat_time) =i;? ?
  • ? ? update stat_remain set seventh_day=(select (select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i and datediff(date_add(curdate(),interval 6-i day),last_login_time)=0)/(select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i))*100 where datediff(curdate(),stat_time) =i;? ?
  • ? ? update stat_remain set thirtieth_day=(select (select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i and datediff(date_add(curdate(),interval 29-i day),last_login_time)=0)/(select count(distinct player_id) from log_login where datediff(curdate(),register_time) =i))*100 where datediff(curdate(),stat_time) =i;? ?
  • ? ? end if;??
  • end if;??
  • SET i = i + 1;? ?
  • end while;? ?
  • END??
  • $??
  • ??
  • DELIMITER ;??
  • 復制代碼

    總結

    以上是生活随笔為你收集整理的游戏玩家的留存率统计SQL实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。