DATE | TOTAL_NEW_USERS | REPEAT_BUYERS | RETENTION_RATE | |
---|---|---|---|---|
1 | 2025-01-13 00:00:00.000 | 21 | 2 | 9.52 |
2 | 2025-01-17 00:00:00.000 | 20 | 3 | 15 |
3 | 2025-01-18 00:00:00.000 | 23 | 6 | 26.09 |
4 | 2025-01-08 00:00:00.000 | 15 | 2 | 13.33 |
5 | 2025-01-16 00:00:00.000 | 19 | 5 | 26.32 |
6 | 2025-01-07 00:00:00.000 | 74 | 5 | 6.76 |
7 | 2025-01-14 00:00:00.000 | 19 | 3 | 15.79 |
8 | 2025-01-15 00:00:00.000 | 19 | 4 | 21.05 |
9 | 2025-02-02 00:00:00.000 | 6 | 4 | 66.67 |
10 | 2025-01-09 00:00:00.000 | 29 | 6 | 20.69 |
11 | 2025-01-10 00:00:00.000 | 26 | 9 | 34.62 |
12 | 2025-01-11 00:00:00.000 | 23 | 6 | 26.09 |
13 | 2025-02-08 00:00:00.000 | 19 | 2 | 10.53 |
14 | 2025-02-09 00:00:00.000 | 18 | 1 | 5.56 |
15 | 2025-02-13 00:00:00.000 | 12 | 3 | 25 |
16 | 2025-02-05 00:00:00.000 | 11 | 2 | 18.18 |
17 | 2025-02-06 00:00:00.000 | 5 | 0 | 0 |
18 | 2025-01-21 00:00:00.000 | 10 | 1 | 10 |
19 | 2025-01-22 00:00:00.000 | 55 | 11 | 20 |
20 | 2025-01-23 00:00:00.000 | 20 | 8 | 40 |
zyroqretention..
Updated 2025-02-20
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: about 11 hours ago
90
3KB
5s