Na czym to polega w sklepie
Funkcja groupby() z modułu itertools dzieli posortowaną sekwencję na grupy o tym samym kluczu. W analizie ścieżek e-commerce grupuje eventy jednej sesji lub zamówienia jednego klienta.
Przykład ze sklepu internetowego
Eventy GA4 posortowane po session_id - grupujesz ścieżkę każdej sesji:
from itertools import groupby
from operator import itemgetter
events = [
{"session_id": "s1", "event": "page_view"},
{"session_id": "s1", "event": "add_to_cart"},
{"session_id": "s2", "event": "page_view"},
{"session_id": "s2", "event": "purchase"},
]
for sid, group in groupby(events, key=itemgetter("session_id")):
path = [e["event"] for e in group]
# s1: ['page_view', 'add_to_cart']; s2: ['page_view', 'purchase']
Co zrobić po stronie biznesu
- Analiza sekwencji eventów przed konwersją.
- Grupowanie wierszy sprzedaży per dzień po sortowaniu.
- Budowa raportu per kampania z posortowanego CSV.
W skrócie
groupby wymaga posortowanych danych - bez sortowania po kluczu grupy będą niepełne i wyniki błędne.