Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में साप्ताहिक सक्रिय उपयोगकर्ता (WAU) की गणना कैसे करें

साप्ताहिक सक्रिय उपयोगकर्ता (WAU) प्रत्येक ऑनलाइन व्यवसाय को ट्रैक करने के लिए एक उपयोगी कुंजी प्रदर्शन संकेतक (KPI) है। यह आपको एक विचार देता है कि सप्ताह में कम से कम एक बार कितने लोग आपके उत्पाद/सेवा का उपयोग करते हैं। MySQL में साप्ताहिक सक्रिय उपयोगकर्ताओं (WAU) की गणना करने का तरीका यहां दिया गया है।

MySQL में साप्ताहिक सक्रिय उपयोगकर्ताओं (WAU) की गणना कैसे करें

मान लें कि आपके पास निम्न तालिका उपयोगकर्ता हैं (user_id, last_login)। last_login पिछली बार उपयोगकर्ता द्वारा लॉग इन किए जाने का टाइमस्टैम्प है। कुछ सिस्टम इस टाइमस्टैम्प को संशोधित_डेट, अपडेट_एट, आदि के रूप में भी संग्रहीत करते हैं।

mysql> create table users(user_id int, last_login datetime);

mysql> insert into users(user_id, last_login) values(1,'2020-03-01 10:00:00'),
     (2,'2020-03-02 09:00:00'),(3,'2020-03-03 14:00:00'),(4,'2020-03-04 11:00:00'),
     (5,'2020-03-05 12:00:00'),(6,'2020-03-06 20:00:00'),(7,'2020-03-07 21:00:00'),
     (8,'2020-03-08 12:00:00'),(9,'2020-03-09 20:00:00'),(10,'2020-03-10 21:00:00'),
     (11,'2020-03-11 12:00:00'),(12,'2020-03-12 20:00:00'),(13,'2020-03-13 21:00:00'),
     (14,'2020-03-13 12:00:00'),(15,'2020-03-15 20:00:00'),(16,'2020-03-16 21:00:00');

mysql> select * from users;
+---------+---------------------+
| user_id | last_login          |
+---------+---------------------+
|       1 | 2020-03-01 10:00:00 |
|       2 | 2020-03-02 09:00:00 |
|       3 | 2020-03-03 14:00:00 |
|       4 | 2020-03-04 11:00:00 |
|       5 | 2020-03-05 12:00:00 |
|       6 | 2020-03-06 20:00:00 |
|       7 | 2020-03-07 21:00:00 |
|       8 | 2020-03-08 12:00:00 |
|       9 | 2020-03-09 20:00:00 |
|      10 | 2020-03-10 21:00:00 |
|      11 | 2020-03-11 12:00:00 |
|      12 | 2020-03-12 20:00:00 |
|      13 | 2020-03-13 21:00:00 |
|      14 | 2020-03-13 12:00:00 |
|      15 | 2020-03-15 20:00:00 |
|      16 | 2020-03-16 21:00:00 |
+---------+---------------------+

पिछले 1 सप्ताह के लिए MySQL में साप्ताहिक सक्रिय उपयोगकर्ताओं (WAU) की गणना करने के लिए SQL क्वेरी यहां दी गई है।

mysql> SELECT COUNT(DISTINCT user_id)
         FROM users
         WHERE last_login > NOW() - INTERVAL 1 WEEK;
+-------------------------+
| COUNT(DISTINCT user_id) |
+-------------------------+
|                      16 |
+-------------------------+

बोनस पढ़ें:MySQL में मासिक सक्रिय उपयोगकर्ताओं (MAU) की गणना कैसे करें

यदि आप अपनी क्वेरी में फ़िल्टर (जैसे स्थिति =4) जोड़ना चाहते हैं, तो आप इसे WHERE क्लॉज में जोड़ सकते हैं, जैसा कि नीचे बोल्ड में दिखाया गया है ।

SELECT COUNT(DISTINCT id) as DAU
    FROM users
    WHERE date_joined > NOW() - INTERVAL 1 DAY and status=4;

यदि आप अपने डेटा में प्रत्येक सप्ताह के लिए साप्ताहिक सक्रिय उपयोगकर्ता (WAU) की गणना करना चाहते हैं, तो निम्न SQL क्वेरी का उपयोग करें। इस मामले में, हम उपयोगकर्ताओं को उनके last_login के आधार पर एकत्रित करने के लिए केवल WEEK फ़ंक्शन का उपयोग करते हैं मान।

mysql> SELECT WEEK(last_login) AS WEEK,
            COUNT(user_id) AS WAU
         FROM users
         GROUP BY WEEK(last_login);
+------+-----+
| WEEK | WAU |
+------+-----+
|    9 |   7 |
|   10 |   7 |
|   11 |   2 |
|   12 |  ...|
+------+-----+

आप MySQL में साप्ताहिक सक्रिय उपयोगकर्ताओं (WAU) की गणना करने के लिए उपरोक्त क्वेरी को आसानी से अनुकूलित कर सकते हैं, और उन्हें एक लाइन चार्ट पर प्लॉट कर सकते हैं।

अगर आप यह गणना करना चाहते हैं कि आपकी वेबसाइट पर हर हफ्ते कितने उपयोगकर्ता लौटते हैं, तो यहां SQL में अवधारण दर की गणना करने का तरीका बताया गया है।

यदि आप प्रत्येक दिन के लिए साप्ताहिक सक्रिय उपयोगकर्ताओं की गणना करना चाहते हैं, अर्थात पिछले 6 दिनों के लिए सक्रिय उपयोगकर्ता, प्रत्येक दिन के लिए, तो आप निम्न क्वेरी का उपयोग कर सकते हैं। यहां हम WAU के साथ DAU (दैनिक सक्रिय उपयोगकर्ता) की गणना भी करते हैं।

mysql> SELECT d.day
          , COUNT(DISTINCT u.user_id) AS wau
          , COUNT(DISTINCT IF(u.day=d.day,u.user_id,NULL)) AS dau
       FROM ( SELECT DATE(k.last_login) AS `day`
                FROM users k
               GROUP BY `day`
            ) d
       JOIN ( SELECT DATE(l.last_login) AS `day`
                   , l.user_id
                FROM users l
               GROUP BY `day`, l.user_id
            ) u
         ON u.day <= d.day AND u.day > DATE_ADD(d.day, INTERVAL -7 DAY)
      GROUP BY d.day
      ORDER BY d.day;
+------------+-----+-----+
| day        | wau | dau |
+------------+-----+-----+
| 2020-03-01 |   1 |   1 |
| 2020-03-02 |   2 |   1 |
| 2020-03-03 |   3 |   1 |
| 2020-03-04 |   4 |   1 |
| 2020-03-05 |   5 |   1 |
| 2020-03-06 |   6 |   1 |
| 2020-03-07 |   7 |   1 |
| 2020-03-08 |   7 |   1 |
| 2020-03-09 |   7 |   1 |
| 2020-03-10 |   7 |   1 |
| 2020-03-11 |   7 |   1 |
| 2020-03-12 |   7 |   1 |
| 2020-03-13 |   8 |   2 |
| 2020-03-15 |   7 |   1 |
| 2020-03-16 |   7 |   1 |
+------------+-----+-----+

उपरोक्त क्वेरी में, प्रत्येक दिन के लिए, हम उन अलग-अलग उपयोगकर्ताओं की संख्या की गणना करते हैं, जिन्होंने उस दिन और पिछले 6 दिनों में लॉग इन किया था।

अब आपने MySQL में साप्ताहिक सक्रिय उपयोगकर्ताओं (WAU) की गणना करने के विभिन्न तरीके देखे हैं। आप उन्हें अपनी आवश्यकता के अनुसार अनुकूलित कर सकते हैं।

आप साप्ताहिक सक्रिय उपयोगकर्ताओं को बार चार्ट में प्लॉट करने और इसे अपनी टीम के साथ साझा करने के लिए चार्टिंग टूल का भी उपयोग कर सकते हैं। यहां बार चार्ट का एक उदाहरण दिया गया है जो Ubiq का उपयोग करके बनाए गए WAU को दिखाता है

यदि आप MySQL डेटाबेस से चार्ट, डैशबोर्ड और रिपोर्ट बनाना चाहते हैं, तो आप Ubiq को आज़मा सकते हैं। हम 14-दिन का निःशुल्क परीक्षण प्रदान करते हैं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रति उपयोगकर्ता नवीनतम तिथि वाली पंक्ति का चयन करें

  2. mysql को mysqli में कैसे बदलें?

  3. MySQL में SET autocommit=1 और START TRANSACTION के बीच अंतर (क्या मैंने कुछ याद किया है?)

  4. MySQL डेटाबेस और टेबल की मरम्मत कैसे करें

  5. MySQL प्रश्नों में, कहां के बजाय शामिल हों का उपयोग क्यों करें?