Afonso_DiazGrouping users
    Updated 2025-04-03
    with

    main as (
    select
    tx_hash,
    block_timestamp,
    from_address as user,
    tx_fee
    from
    boba.core.fact_transactions
    ),

    users AS (
    SELECT
    user,
    COUNT(DISTINCT tx_hash) AS transactions
    FROM
    main
    GROUP BY 1
    )

    SELECT
    CASE
    WHEN transactions = 1 THEN 'Single Transaction User'
    WHEN transactions <= 10 THEN 'Occasional User (2 - 10 txns)'
    WHEN transactions <= 25 THEN 'Active User (11 - 25 txns)'
    WHEN transactions <= 50 THEN 'Frequent User (26 - 50 txns)'
    WHEN transactions <= 100 THEN 'Power User (51 - 100 txns)'
    ELSE 'Super User (100+ txns)'
    END AS user_type,
    COUNT(DISTINCT user) AS users
    FROM
    users
    GROUP BY 1
    QueryRunArchived: QueryRun has been archived