with new_wallets as (
select
min(block_timestamp) as first_timestamp,
tx_sender
from terra.core.fact_transactions
group by tx_sender
),
weekly as (
select
date_trunc('week', first_timestamp) as week,
count(distinct tx_sender) as wallets
from new_wallets
where first_timestamp >= current_date - 180
group by week
order by week asc
)
select
avg(wallets) as weekly_avg
from weekly