hessDaily Share of Transactions by New Vs. Old users
    Updated 2025-01-07
    WITH NewUsersLast60Days AS (
    SELECT
    FROM_ADDRESS,
    MIN(BLOCK_TIMESTAMP) AS FirstTransaction
    FROM
    blast.core.fact_transactions
    GROUP BY
    FROM_ADDRESS
    HAVING
    MIN(BLOCK_TIMESTAMP) >= CURRENT_DATE - INTERVAL '60 DAY'
    ),
    TransactionsLast30Days AS (
    SELECT
    BLOCK_TIMESTAMP,
    FROM_ADDRESS,
    tx_hash
    FROM
    blast.core.fact_transactions
    WHERE
    BLOCK_TIMESTAMP >= CURRENT_DATE - INTERVAL '30 DAY'
    )
    SELECT
    DATE(t.BLOCK_TIMESTAMP) AS TransactionDate,
    CASE
    WHEN n.FROM_ADDRESS IS NOT NULL THEN 'New User'
    ELSE 'Old User'
    END AS UserType,
    COUNT(DISTINCT tx_hash) AS TransactionCount
    FROM
    TransactionsLast30Days t
    LEFT JOIN
    NewUsersLast60Days n
    ON
    t.FROM_ADDRESS = n.FROM_ADDRESS
    GROUP BY
    TransactionDate, UserType
    QueryRunArchived: QueryRun has been archived