Dane wejściowe i zmienne
Wydatki, sezonowość i baza
Dane wejściowe i zmienne to bezpłatna lekcja Digital Marketing Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Digital Marketing Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Digital Marketing Academy zawiera 4 lekcji w sumie.
Budowa danych wejściowych MMM
Jakość MMM nie może przewyższać jakości jego danych wejściowych. Dzielą się one na trzy grupy: zmienne mediowe (dźwignie, którymi można sterować), zmienne kontrolne (czynniki, na które nie ma się wpływu) oraz zmienna zależna (to, co jest prognozowane).
Właściwy dobór tych elementów, z odpowiednią szczegółowością i częstotliwością, stanowi większość pracy potrzebnej do zbudowania wiarygodnego modelu.
dependent : sales or revenue (weekly)
media : spend or impressions per channel
controls : price, promo, seasonality, macro
transforms: adstock, saturationZmienna zależna
Należy wybrać jednoznaczny wynik: liczbę sprzedanych jednostek, przychód lub liczbę nowych klientów. Trzeba konsekwentnie określić, czy chodzi o wartości brutto czy netto oraz czy zwroty są wykluczone.
Model należy budować na poziomie szczegółowości, na którym można podejmować działania — zwykle krajowym lub regionalnym, z częstotliwością tygodniową. Dane dzienne zwiększają szum, a miesięczne ukrywają dynamikę.
Zmienne mediowe: wydatki a wyświetlenia
Dane mediowe można wprowadzić jako wydatki albo jako ekspozycję (wyświetlenia, GRP, kliknięcia). Wyświetlenia oddzielają dostarczenie reklamy od kosztu, co ma znaczenie, gdy CPM-y ulegają dużym zmianom.
Często stosuje się następujące podejście: modeluje się krzywą odpowiedzi na podstawie wyświetleń, a następnie przelicza wyniki z powrotem na wydatki, aby obliczyć ROI. W ramach jednego kanału należy zawsze zachować spójne jednostki.
TV -> GRPs
Search -> clicks or spend
Social -> impressions
OOH -> spend (no impression feed)Adstock (efekt przeniesiony w czasie)
Efekty reklamy utrzymują się po zakończeniu emisji kampanii. Adstock modeluje ich wygasanie, dzięki czemu sprzedaż z bieżącego tygodnia uwzględnia media z poprzednich tygodni.
Współczynnik wygasania lambda określa pamięć: 0,0 oznacza brak efektu przeniesionego w czasie, a 0,8 — długi ogon efektu. Telewizja ma zwykle wyższy adstock niż wyszukiwanie.
adstock_t = media_t + lambda * adstock_(t-1)
lambda=0.3 (search): fast decay
lambda=0.7 (TV): slow decay, long memoryNasycenie (malejące zwroty)
Podwojenie wydatków rzadko prowadzi do podwojenia sprzedaży. Transformacje nasycenia uwzględniają malejące zwroty, dzięki czemu model nie ekstrapoluje zależności liniowej w nieskończoność.
Transformacje Hill lub logarytmiczne zakrzywiają krzywą odpowiedzi, wyznaczając dla każdego kanału realistyczny poziom maksymalny i efektywny zakres działania.
Hill: response = x^a / (x^a + k^a)
low spend -> steep gains
high spend -> flattening curve (saturated)Zmienne kontrolne
Zmienne kontrolne uwzględniają czynniki niezwiązane z mediami, aby nie przypisywać ich błędnie reklamom. Najważniejsze z nich to: cena, promocje, dystrybucja i dostępność, aktywność konkurencji oraz indeksy makroekonomiczne.
Pominięcie istotnej zmiennej kontrolnej obciąża współczynniki mediowe, często zawyżając wynik kanału, który akurat działał podczas promocji.
price : average selling price
promo : 0/1 flag or % discount depth
distribution : stores or % ACV
competitor : share of voice / spend
macro : consumer confidence, CPISezonowość i trend
Wiele produktów ma wyraźne wzorce sezonowe. Należy uchwycić je za pomocą zmiennych zero-jedynkowych dla miesięcy lub tygodni, składników Fouriera albo indeksu sezonowego, a także dodać składnik trendu opisujący podstawowy wzrost lub spadek.
Bez tych elementów sezonowe wzrosty sprzedaży zostaną przypisane zmiennym mediowym, które przypadkowo występowały w szczycie sezonu.
fourier: sin(2*pi*t/52), cos(2*pi*t/52)
trend: t (linear) or spline
holiday: black_friday_flag, holiday_flagPodział na bazę i wkład przyrostowy
MMM oddziela bazę — czyli to, co zostałoby sprzedane bez nowych działań mediowych: kapitał marki, dystrybucję i cenę — od wkładów przyrostowych generowanych przez media.
Zdrowy model często pokazuje dużą, stabilną bazę. Jeśli media „wyjaśniają” niemal wszystko, zmienne kontrolne są prawdopodobnie zbyt słabe.
total_sales = base + sum(media_contributions)
base : 70%
incremental : 30% (split across channels)Pułapki współliniowości
Gdy kanały są uruchamiane jednocześnie, model nie potrafi rozdzielić ich efektów, a współczynniki stają się niestabilne i czasami zmieniają znak.
Należy przeprowadzić diagnostykę za pomocą macierzy korelacji i VIF. Współliniowość można ograniczyć, różnicując wydatki w czasie, dodając zróżnicowanie geograficzne lub stosując priory bayesowskie do stabilizacji estymacji.
corr(TV, Social) = 0.91 -> high collinearity
VIF > 10 -> unstable estimate
fix: stagger flights, add geo splits, priorsLista kontrolna higieny zmiennych
Należy dopasować wszystkie szeregi do tego samego kalendarza i tej samej strefy czasowej. Braki trzeba uzupełniać świadomie, a nie za pomocą niejawnych zer, które mogą oznaczać „brak wydatków” albo „brak danych”.
Jeśli analizowane okno jest długie, serie pieniężne należy skorygować o inflację, a każdą transformację udokumentować, aby wyniki były odtwarzalne.
Połączenie danych wejściowych
Końcowa macierz projektu łączy surowe zmienne kontrolne z przekształconymi zmiennymi mediowymi. Każda kolumna mediowa została najpierw poddana adstockowi, a następnie nasyceniu, zanim trafiła do regresji.
Kolejność tego procesu ma znaczenie: najpierw efekt przeniesiony w czasie (kiedy efekt występuje), a następnie nasycenie (jak duży jest ten efekt).
raw_TV -> adstock(lambda=0.7) -> saturation(Hill)
-> column TV_eff in model
sales = base + b1*TV_eff + b2*Search_eff
+ b3*price + b4*promo + seasonSzybkie sprawdzenie
Wskaż właściwą transformację dla danego zjawiska.
Podsumowanie
Dane wejściowe MMM to zmienna zależna, zmienne mediowe (przekształcane najpierw przez adstock, a następnie przez nasycenie) oraz zmienne kontrolne (cena, promocja, dystrybucja, sezonowość i czynniki makroekonomiczne).
Silne zmienne kontrolne chronią przed przypisywaniem mediom zbyt dużej zasługi, a czyste, spójnie skalowane i dobrze udokumentowane szeregi stanowią podstawę wiarygodnego modelu.
Często zadawane pytania
Czy lekcja „Dane wejściowe i zmienne” jest bezpłatna?
Tak — pełny tekst „Dane wejściowe i zmienne” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Digital Marketing Academy, przejdź na CoddyKit PRO. Kurs Digital Marketing Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dane wejściowe i zmienne”?
Wydatki, sezonowość i baza Ćwiczysz Digital Marketing Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Digital Marketing Academy?
Nie wymagamy żadnego doświadczenia. Digital Marketing Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Dane wejściowe i zmienne”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Digital Marketing Academy?
Tak. Każda lekcja Digital Marketing Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- MMM a atrybucja
- Dane wejściowe i zmienne
- Odczytywanie modelu MMM
- Realokacja budżetu