USER_SEGMENT | USER_COUNT | PERCENTAGE | |
---|---|---|---|
1 | Rare (2-10 txs) | 10158 | 60.82 |
2 | New (1 tx) | 4520 | 27.06 |
3 | Casual (11-50 txs) | 1405 | 8.41 |
4 | Active (51-500 txs) | 526 | 3.15 |
5 | Heavy (501-5000 txs) | 83 | 0.5 |
6 | Super (>5000 txs) | 9 | 0.05 |
picasoBOBA User Segmentation by Transaction Count 1
Updated 2025-03-02
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
›
⌄
WITH user_tx_counts AS (
SELECT
FROM_ADDRESS,
COUNT(DISTINCT TX_HASH) AS unique_txs
FROM boba.core.fact_transactions
WHERE BLOCK_TIMESTAMP >= DATEADD('year', -1, CURRENT_DATE)
GROUP BY FROM_ADDRESS
),
user_segments AS (
SELECT
CASE
WHEN unique_txs = 1 THEN 'New (1 tx)'
WHEN unique_txs BETWEEN 2 AND 10 THEN 'Rare (2-10 txs)'
WHEN unique_txs BETWEEN 11 AND 50 THEN 'Casual (11-50 txs)'
WHEN unique_txs BETWEEN 51 AND 500 THEN 'Active (51-500 txs)'
WHEN unique_txs BETWEEN 501 AND 5000 THEN 'Heavy (501-5000 txs)'
ELSE 'Super (>5000 txs)'
END AS user_segment,
COUNT(*) AS user_count
FROM user_tx_counts
GROUP BY 1
)
SELECT
user_segment,
user_count,
ROUND(user_count * 100.0 / SUM(user_count) OVER(), 2) AS percentage
FROM user_segments
ORDER BY user_count DESC;
Last run: 16 days ago
6
186B
10s