datavortexNew vs returning traders
Updated 2024-12-17
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
WITH user_activity AS (
SELECT
origin_from_address,
DATE_TRUNC('week', block_timestamp) AS week_start
FROM kaia.defi.ez_dex_swaps
WHERE platform = 'capybara'
GROUP BY origin_from_address, week_start
),
first_swap_week AS (
SELECT
origin_from_address,
MIN(week_start) AS first_swap_week
FROM user_activity
GROUP BY origin_from_address
),
new_vs_returning AS (
SELECT
ua.week_start,
COUNT(DISTINCT CASE WHEN ua.week_start = fsw.first_swap_week THEN ua.origin_from_address END) AS new_users,
COUNT(DISTINCT CASE WHEN ua.week_start > fsw.first_swap_week THEN ua.origin_from_address END) AS returning_users
FROM user_activity ua
JOIN first_swap_week fsw ON ua.origin_from_address = fsw.origin_from_address
GROUP BY ua.week_start
)
SELECT
wd.week_start,
wd.weekly_active_users,
nvr.new_users,
nvr.returning_users
FROM (
SELECT
week_start,
COUNT(DISTINCT origin_from_address) AS weekly_active_users
FROM user_activity
GROUP BY week_start
) wd
QueryRunArchived: QueryRun has been archived