Przejdź do treści

Python. Klasa collections.defaultdict(). Grupowanie przychodu według źródeł kampanii.

Na czym to polega w sklepie

defaultdict tworzy słownik z domyślną wartością dla nowych kluczy (np. pusta lista). Przy grupowaniu danych e-commerce eliminuje powtarzające się if key not in groups.

Przykład ze sklepu internetowego

Łączysz przychód z wielu zamówień według źródła kampanii UTM (utm_source):

from collections import defaultdict

orders = [
    {"utm_source": "google", "revenue": 420.50},
    {"utm_source": "meta", "revenue": 180.00},
    {"utm_source": "google", "revenue": 95.30},
    {"utm_source": "newsletter", "revenue": 310.00},
]

revenue_by_source = defaultdict(float)
for row in orders:
    revenue_by_source[row["utm_source"]] += row["revenue"]

dict(revenue_by_source)
# {'google': 515.8, 'meta': 180.0, 'newsletter': 310.0}

Co zrobić po stronie biznesu

  • Grupowanie sesji GA4 po session_campaign.
  • Budowa mapy SKU → lista kanałów, z których przyszły konwersje.
  • Agregacja kosztów reklam z wielu kont Google Ads w jednym słowniku.

W skrócie

Dlaczego warto to znać? Przy raportach marketingowych większość czasu idzie na grupowanie, nie na obliczenia. defaultdict skraca ten etap i czytelniej wyraża intencję kodu.