Przejdź do treści

BigQuery. Okna analityczne. LAG i ścieżka od session_start do purchase w tej samej sesji.

Na czym to polega w sklepie

Dlaczego użytkownicy z paid search kupują w 40 sekund, a z social w 8 minut - albo wcale? Funkcje okna (LAG, ROW_NUMBER) śledzą kolejność eventów w sesji bez zwijania wierszy jak GROUP BY. Widzisz czas od add_to_cart do purchase i pierwszy touch kampanii w ścieżce.

Przykład ze sklepu internetowego

Modowy DTC mierzy, ile sekund zajmuje przejście od begin_checkout do purchase w sesjach z kampanii remarketingowych na mobile:

WITH steps AS (
  SELECT
    user_pseudo_id,
    session_id,
    event_name,
    event_timestamp,
    TIMESTAMP_DIFF(
      event_timestamp,
      LAG(event_timestamp) OVER (
        PARTITION BY user_pseudo_id, session_id
        ORDER BY event_timestamp
      ),
      SECOND
    ) AS secs_since_prev
  FROM `project.analytics.events_*`
  WHERE _TABLE_SUFFIX = '20260610'
    AND event_name IN ('begin_checkout', 'purchase')
)
SELECT
  AVG(secs_since_prev) AS avg_secs_checkout_to_purchase
FROM steps
WHERE event_name = 'purchase';

Co zrobić po stronie biznesu

  • Wskaż kampanie z najdłuższym czasem do zakupu - kandydaci do uproszczenia landingu lub checkoutu.
  • Zbuduj listę sesji view_item bez purchase - baza odbiorców do remarketingu porzuconego koszyka.
  • Użyj ROW_NUMBER() = 1 na session_campaign do analizy first touch w ścieżce wielosesyjnej.

W skrócie

Okna analityczne pokazują ścieżki i czasy bez eksportu do Pythona. Zacznij od jednej sesji w QA, potem skaluj na partycję dzienną - inaczej łatwo o kosztowny pełny skan.