zyroqretention..
    Updated 2025-02-20
    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
    DATE
    TOTAL_NEW_USERS
    REPEAT_BUYERS
    RETENTION_RATE
    1
    2025-01-13 00:00:00.0002129.52
    2
    2025-01-17 00:00:00.00020315
    3
    2025-01-18 00:00:00.00023626.09
    4
    2025-01-08 00:00:00.00015213.33
    5
    2025-01-16 00:00:00.00019526.32
    6
    2025-01-07 00:00:00.0007456.76
    7
    2025-01-14 00:00:00.00019315.79
    8
    2025-01-15 00:00:00.00019421.05
    9
    2025-02-02 00:00:00.0006466.67
    10
    2025-01-09 00:00:00.00029620.69
    11
    2025-01-10 00:00:00.00026934.62
    12
    2025-01-11 00:00:00.00023626.09
    13
    2025-02-08 00:00:00.00019210.53
    14
    2025-02-09 00:00:00.0001815.56
    15
    2025-02-13 00:00:00.00012325
    16
    2025-02-05 00:00:00.00011218.18
    17
    2025-02-06 00:00:00.000500
    18
    2025-01-21 00:00:00.00010110
    19
    2025-01-22 00:00:00.000551120
    20
    2025-01-23 00:00:00.00020840
    90
    3KB
    5s