DATE | TOTAL_NEW_USERS | REPEAT_BUYERS | RETENTION_RATE | |
---|---|---|---|---|
1 | 2025-02-19 00:00:00.000 | 14 | 2 | 14.29 |
2 | 2025-02-20 00:00:00.000 | 11 | 7 | 63.64 |
3 | 2025-03-28 00:00:00.000 | 18 | 5 | 27.78 |
4 | 2025-03-11 00:00:00.000 | 45 | 9 | 20 |
5 | 2025-03-12 00:00:00.000 | 25 | 4 | 16 |
6 | 2025-02-21 00:00:00.000 | 7 | 1 | 14.29 |
7 | 2025-02-22 00:00:00.000 | 13 | 3 | 23.08 |
8 | 2025-02-23 00:00:00.000 | 10 | 3 | 30 |
9 | 2025-04-09 00:00:00.000 | 11 | 2 | 18.18 |
10 | 2025-02-26 00:00:00.000 | 10 | 2 | 20 |
11 | 2025-02-27 00:00:00.000 | 15 | 5 | 33.33 |
12 | 2025-02-24 00:00:00.000 | 10 | 3 | 30 |
13 | 2025-02-25 00:00:00.000 | 9 | 3 | 33.33 |
14 | 2025-03-29 00:00:00.000 | 14 | 4 | 28.57 |
15 | 2025-03-30 00:00:00.000 | 11 | 5 | 45.45 |
16 | 2025-05-06 00:00:00.000 | 9 | 4 | 44.44 |
17 | 2025-03-20 00:00:00.000 | 36 | 6 | 16.67 |
18 | 2025-03-21 00:00:00.000 | 27 | 6 | 22.22 |
19 | 2025-03-22 00:00:00.000 | 35 | 7 | 20 |
20 | 2025-03-13 00:00:00.000 | 47 | 12 | 25.53 |
zyroqretention..
Updated 7 days ago
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
WITH all_nft_purchases AS (
SELECT
BUYER_ADDRESS,
MIN(BLOCK_TIMESTAMP) AS first_purchase_date
FROM aptos.nft.ez_nft_sales
GROUP BY BUYER_ADDRESS
),
new_nft_users AS (
SELECT
ap.BUYER_ADDRESS,
DATE(ap.first_purchase_date) AS first_purchase_date
FROM all_nft_purchases ap
WHERE ap.first_purchase_date >= CURRENT_DATE - INTERVAL '{{trading_period}} days'
),
repeat_purchases AS (
SELECT
sales.BUYER_ADDRESS,
DATE(sales.BLOCK_TIMESTAMP) AS repeat_purchase_date
FROM aptos.nft.ez_nft_sales sales
JOIN new_nft_users nu
ON sales.BUYER_ADDRESS = nu.BUYER_ADDRESS
WHERE DATE(sales.BLOCK_TIMESTAMP) > DATE(nu.first_purchase_date)
),
daily_retention AS (
SELECT
nu.first_purchase_date AS date,
COUNT(DISTINCT nu.BUYER_ADDRESS) AS total_new_users,
COUNT(DISTINCT rp.BUYER_ADDRESS) AS repeat_buyers,
CASE
WHEN COUNT(DISTINCT nu.BUYER_ADDRESS) > 0
THEN ROUND(COUNT(DISTINCT rp.BUYER_ADDRESS) * 100.0 / COUNT(DISTINCT nu.BUYER_ADDRESS), 2)
ELSE 0
END AS retention_rate
FROM new_nft_users nu
LEFT JOIN repeat_purchases rp
ON nu.BUYER_ADDRESS = rp.BUYER_ADDRESS
Last run: 7 days ago
91
3KB
7s