jackguySei Users 2 copy
    Updated 2023-08-21
    WITH UserTransactionCounts AS (
    SELECT
    tx_from as user,
    min(date_trunc('day', block_timestamp)) as day,
    count(DISTINCT tx_id) as transactions,
    count(DISTINCT date_trunc('day', block_timestamp)) as active_days
    FROM sei.core.fact_transactions
    WHERE block_timestamp > '2023-05-30'
    GROUP by 1
    )

    SELECT
    CASE
    WHEN transactions = 1 THEN 'a 1 tx'
    WHEN transactions BETWEEN 2 AND 5 THEN 'b 2 - 5 tx'
    WHEN transactions BETWEEN 6 AND 10 THEN 'c 6 - 10 tx'
    WHEN transactions BETWEEN 11 AND 50 THEN 'd 11 - 50 tx'
    WHEN transactions BETWEEN 51 AND 500 THEN 'e 51 - 500 tx'
    ELSE 'f 500+ tx'
    END AS transaction_count_group,
    CASE
    WHEN active_days = 1 THEN 'a 1 day'
    WHEN active_days BETWEEN 2 AND 7 THEN 'b 2 - 7 days'
    WHEN active_days BETWEEN 8 AND 13 THEN 'c 8 - 13 days'
    WHEN active_days BETWEEN 14 AND 19 THEN 'd 14 - 19 days'
    WHEN active_days BETWEEN 20 AND 25 THEN 'e 20 - 25 days'
    WHEN active_days BETWEEN 26 AND 31 THEN 'f 26 - 31 days'
    WHEN active_days BETWEEN 32 AND 37 THEN 'g 32 - 37 days'
    WHEN active_days BETWEEN 38 AND 43 THEN 'h 38 - 43 days'
    WHEN active_days BETWEEN 44 AND 49 THEN 'i 44 - 49 days'
    ELSE 'j 50+ days'
    END AS active_days_group,
    COUNT(user) AS number_of_users
    FROM UserTransactionCounts
    GROUP BY transaction_count_group, active_days_group
    ORDER BY
    Run a query to Download Data