with base as (
    select date_trunc('month', block_timestamp) as date,
    tx_id,
    signers[0] as user
    from solana.core.fact_transactions
    where block_timestamp::date >= '2023-01-01'
    and block_timestamp::date < '2024-01-01'
    and succeeded = True
    )

    , new_users as (
    select user,
    min(date) as min_date
    from base
    group by 1
    )
    , daily_new_users as (
    select min_date,
    count(user) as new_count
    from new_users
    group by 1
    )

    , all_users as (
    select date, count(distinct user) as all_count
    from base
    group by 1
    )

    select date,
    all_count as MAU,
    new_count as new_users,
    all_count - new_count as existing_users,
    (new_users / all_count) * 100 as "(%) Share of New Users"

    from all_users a
    Run a query to Download Data