Bera TeamDaily Number of Users (Retention)
Updated 2025-01-31
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
›
⌄
-- Retention
WITH user_first_transaction AS (
SELECT
From_address,
MIN(DATE(block_timestamp)) AS first_transaction_date
FROM
berachain.testnet.fact_transactions
GROUP BY
From_address
),
user_transactions AS (
SELECT
t.From_address,
DATE(t.block_timestamp) AS transaction_date,
uft.first_transaction_date
FROM
berachain.testnet.fact_transactions t
JOIN
user_first_transaction uft
ON
t.From_address = uft.From_address
)
SELECT
uft.first_transaction_date AS signup_date,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 1, uft.first_transaction_date) THEN From_address END) AS day_1_retention,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 2, uft.first_transaction_date) THEN From_address END) AS day_2_retention,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 3, uft.first_transaction_date) THEN From_address END) AS day_3_retention,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 7, uft.first_transaction_date) THEN From_address END) AS day_7_retention,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 14, uft.first_transaction_date) THEN From_address END) AS day_14_retention,
COUNT(DISTINCT CASE WHEN transaction_date = DATEADD(day, 30, uft.first_transaction_date) THEN From_address END) AS day_30_retention
FROM
user_transactions uft
GROUP BY
uft.first_transaction_date
QueryRunArchived: QueryRun has been archived