Updated 8 days ago
    WITH recent_swappers AS (
    SELECT DISTINCT SWAPPER
    FROM aptos.defi.ez_dex_swaps
    WHERE BLOCK_TIMESTAMP >= DATEADD(day, -{{days}}, CURRENT_DATE)
    ),

    past_swappers AS (
    SELECT DISTINCT SWAPPER
    FROM aptos.defi.ez_dex_swaps
    WHERE BLOCK_TIMESTAMP < DATEADD(day, -{{days}}, CURRENT_DATE)
    )

    SELECT
    PLATFORM,
    COUNT(DISTINCT CASE WHEN r.SWAPPER IS NOT NULL AND p.SWAPPER IS NOT NULL THEN r.SWAPPER END) AS repeat_swappers,
    COUNT(DISTINCT r.SWAPPER)-COUNT(DISTINCT CASE WHEN r.SWAPPER IS NOT NULL AND p.SWAPPER IS NOT NULL THEN r.SWAPPER END) AS non_repeat_swappers,
    (COUNT(DISTINCT CASE WHEN r.SWAPPER IS NOT NULL AND p.SWAPPER IS NOT NULL THEN r.SWAPPER END) * 1.0 /
    COUNT(DISTINCT r.SWAPPER)) * 100 AS repeat_rate
    FROM
    aptos.defi.ez_dex_swaps s
    LEFT JOIN recent_swappers r ON s.SWAPPER = r.SWAPPER
    LEFT JOIN past_swappers p ON s.SWAPPER = p.SWAPPER
    WHERE
    BLOCK_TIMESTAMP >= DATEADD(day, -{{days}}, CURRENT_DATE)
    GROUP BY
    PLATFORM
    ORDER BY
    repeat_rate DESC
    Last run: 8 days ago
    PLATFORM
    REPEAT_SWAPPERS
    NON_REPEAT_SWAPPERS
    REPEAT_RATE
    1
    cetus790100
    2
    auxexchange281697.9094
    3
    batswap33197.0588
    4
    hippo35294.5946
    5
    sushi11318293.2399
    6
    animeswap124011691.4454
    7
    liquidswap17087212388.9485
    8
    thala295640388.0024
    9
    pancake410659387.3803
    10
    cellana13666310481.4908
    10
    276B
    3s