diff --git a/cowprotocol/competitor_analysis/cow_alternatives_analysis_4810844.sql b/cowprotocol/competitor_analysis/cow_alternatives_analysis_4810844.sql index d4012c4..30a2297 100644 --- a/cowprotocol/competitor_analysis/cow_alternatives_analysis_4810844.sql +++ b/cowprotocol/competitor_analysis/cow_alternatives_analysis_4810844.sql @@ -78,18 +78,40 @@ all_competitor_transactions as ( from trades_dex_and_aggregators group by 1, 2, 3 +), + +joined_and_filtered as ( + select + *, + count(distinct address) over (partition by chain_used_for_competitor) as distinct_users_count_per_chain + from + cow_users_filtered + inner join all_competitor_transactions using (address) -- noqa: disable=L032 + where + {{show_competitors_on_target_chain_only}} = 0 or chain_used_for_competitor = '{{chain_of_interest}}' +), + +aggregated as ( + select + chain_used_for_competitor, + competitor_project, + sum(competitor_total_volume_usd) as competitor_total_volume_usd, + sum(competitor_total_transactions) as competitor_total_transactions, + count(distinct address) as distinct_users_count_per_product_per_chain, + any_value(distinct_users_count_per_chain) as distinct_users_count_per_chain + from + joined_and_filtered + group by 1, 2 ) + select chain_used_for_competitor, competitor_project, - sum(competitor_total_volume_usd) as competitor_total_volume_usd, - sum(competitor_total_transactions) as competitor_total_transactions, - count(distinct address) as distinct_users_count + competitor_total_volume_usd, + competitor_total_transactions, + distinct_users_count_per_product_per_chain, + distinct_users_count_per_chain from - cow_users_filtered -left join all_competitor_transactions using (address) -- noqa: disable=L032 -where - {{show_competitors_on_target_chain_only}} = 0 or chain_used_for_competitor = '{{chain_of_interest}}' -group by 1, 2 + aggregated order by 3 desc