adriaparcerisasflow users interval retention 2
    Updated 2025-04-28
    WITH user_activity AS (
    -- First get all user activity from both chains with daily granularity
    SELECT
    CAST(value AS VARCHAR) AS user_address,
    DATE_TRUNC('day', b.block_timestamp) AS activity_day
    FROM
    flow.core.ez_transaction_actors AS b,
    LATERAL FLATTEN(INPUT => b.actors) AS a
    WHERE
    block_timestamp >= DATEADD(month, -4, CURRENT_DATE)
    UNION ALL
    SELECT
    from_address AS user_address,
    DATE_TRUNC('day', block_timestamp) AS activity_day
    FROM
    flow.core_evm.fact_transactions
    WHERE
    block_timestamp >= DATEADD(month, -4, CURRENT_DATE)
    ),

    user_first_day AS (
    -- Get each user's first day of activity
    SELECT
    user_address,
    MIN(activity_day) AS first_activity_day
    FROM user_activity
    GROUP BY 1
    ),

    base_cohort_size AS (
    SELECT
    first_activity_day,
    COUNT(DISTINCT user_address) as cohort_size
    FROM user_first_day
    Last run: 26 days ago
    COHORT_DAY
    COHORT_SIZE
    1
    2025-05-02 00:00:00.0007121
    2
    2025-05-01 00:00:00.0008236
    3
    2025-04-30 00:00:00.0009248
    4
    2025-04-29 00:00:00.0007255
    5
    2025-04-28 00:00:00.00028563
    6
    2025-04-27 00:00:00.00017028
    7
    2025-04-26 00:00:00.00021683
    8
    2025-04-25 00:00:00.00013300
    9
    2025-04-24 00:00:00.0006142
    10
    2025-04-23 00:00:00.0004399
    11
    2025-04-22 00:00:00.0003139
    12
    2025-04-21 00:00:00.0003814
    13
    2025-04-20 00:00:00.0004584
    14
    2025-04-19 00:00:00.0006445
    15
    2025-04-18 00:00:00.0003671
    16
    2025-04-17 00:00:00.0007039
    17
    2025-04-16 00:00:00.00012175
    18
    2025-04-15 00:00:00.0005188
    19
    2025-04-14 00:00:00.0004697
    20
    2025-04-13 00:00:00.0006504
    30
    996B
    5s