with new_users as (
select TX_FROM,
min (BLOCK_TIMESTAMP)::date min_date ,
count (tx_id) tx_by_new
from axelar.core.fact_transactions
group by 1 having min_date >= '2024-01-01'
)
select date_trunc(week,min_date)::date weekly ,
sum (tx_by_new) num_transactions ,
count ( tx_from) num_new_users,
sum (num_new_users) over (order by weekly) cum_new_users,
sum (num_transactions) over (order by weekly) cum_transactions,
num_transactions / num_new_users avg_transaction_per_new_user,
from new_users
where min_date::date >= '2024-01-01'
and min_date::date < date_trunc('week',current_date )
group by 1