Spis treści
Robyn vs Meridian to wybór między dwoma darmowymi narzędziami marketing mix modeling. Meta Robyn, rozwijany w R z wersją w Pythonie, łączy regresję grzbietową z automatycznym przeszukiwaniem tysięcy wariantów modelu. Google Meridian to biblioteka Pythona oparta na bayesowskim modelu hierarchicznym. Robyn lepiej pasuje do zespołów pracujących w R, z danymi krajowymi i potrzebą szybkiego pierwszego wyniku. Meridian – do zespołów pythonowych, z danymi regionalnymi, które chcą wprowadzać wiedzę z eksperymentów jako rozkłady a priori.
Najważniejsze w skrócie
- Robyn to regresja grzbietowa z optymalizacją hiperparametrów przez bibliotekę Nevergrad, a Meridian to model bayesowski próbkowany metodą MCMC.
- Robyn modeluje przede wszystkim dane krajowe, a Meridian jest projektowany pod dane regionalne, choć obsługuje też modele krajowe.
- Oba narzędzia pozwalają kalibrować model wynikami eksperymentów: Robyn przez dodatkowy cel optymalizacji, Meridian przez rozkłady a priori ROI.
- W 2026 r. Meridian ma szerszy ekosystem: Scenario Planner do planowania budżetu bez kodu i moduł GeoX do testów geo.
- O wyborze decydują głównie język, który zna zespół, granulacja danych i to, czy każdy wynik ma mieć przedział niepewności.
Robyn vs Meridian w jednej tabeli
Najkrócej: Robyn szuka najlepszego modelu wśród wielu kandydatów, a Meridian szacuje jeden model z pełnym rozkładem niepewności. Pozostałe różnice wynikają z tego wyboru.
| Cecha | Meta Robyn | Google Meridian |
|---|---|---|
| Język | R, wersja w Pythonie | Python 3.11 lub 3.12 |
| Metoda | regresja grzbietowa | bayesowski model hierarchiczny |
| Dobór parametrów | przeszukiwanie ewolucyjne Nevergrad, front Pareto | próbkowanie NUTS (MCMC) |
| Dane regionalne | brak modelu hierarchicznego | natywny model region × tydzień |
| Wiedza a priori | nie wprost | rozkłady a priori ROI lub współczynników |
| Kalibracja eksperymentami | cel MAPE.LIFT | priory na podstawie wyników testów |
| Sezonowość i święta | Prophet z kalendarzem świąt | efekt czasu, zmienne kontrolne |
| Zasięg i częstotliwość | wydatki lub ekspozycja | natywna obsługa reach i frequency |
| Niepewność wyników | przedziały z bootstrapu dla wybranych modeli | przedziały wiarygodności dla wszystkich metryk |
| Planowanie budżetu | moduł allocator | BudgetOptimizer i Scenario Planner |
| Sprzęt | procesor | zalecane GPU |
Obie biblioteki są otwartoźródłowe i bezpłatne. Koszty to czas analityka, przygotowanie danych i infrastruktura.
Jak działa Meta Robyn
Robyn buduje tysiące wariantów modelu regresji grzbietowej, różniących się parametrami przeniesienia efektu i nasycenia, a potem wybiera te, które najlepiej łączą dopasowanie do danych z rozsądnym podziałem efektów między kanały.
Przeszukiwaniem steruje biblioteka Nevergrad. Każdy wariant jest oceniany według dwóch celów: NRMSE, czyli błędu dopasowania, oraz DECOMP.RSSD, który mierzy, jak bardzo udział kanału w efekcie odbiega od jego udziału w wydatkach. Po kalibracji dochodzi trzeci cel – MAPE.LIFT. Modele najlepsze jednocześnie pod kilkoma względami tworzą front Pareto, Robyn grupuje je w klastry, a analityk wybiera jeden model na podstawie raportów podsumowujących.
DECOMP.RSSD to świadomy kompromis. Chroni przed modelami, które przypisują ogromny efekt kanałowi z minimalnym budżetem, ale jednocześnie przyciąga wyniki w stronę obecnego podziału wydatków. Pamiętaj o tym, gdy model potwierdza dotychczasowy plan.
Przeniesienie efektu Robyn opisuje funkcją geometryczną albo rozkładem Weibulla, a nasycenie – krzywą Hilla. Trend, sezonowość i święta rozkłada przy pomocy biblioteki Prophet. Sprawdź, czy wbudowany kalendarz świąt dla Polski jest kompletny, i dodaj własne wydarzenia handlowe, takie jak Black Friday czy wyprzedaże. Fragment konfiguracji w R:
library(Robyn)
InputCollect <- robyn_inputs(
dt_input = dane,
dt_holidays = dt_prophet_holidays,
date_var = "tydzien",
dep_var = "przychod_netto",
dep_var_type = "revenue",
prophet_vars = c("trend", "season", "holiday"),
prophet_country = "PL",
context_vars = c("rabat_proc"),
paid_media_spends = c("koszt_google", "koszt_meta", "koszt_youtube"),
paid_media_vars = c("klik_google", "wysw_meta", "wysw_youtube"),
organic_vars = c("wysylki_newsletter"),
window_start = "2024-01-01",
window_end = "2026-09-28",
adstock = "geometric"
)
hyperparameters <- list(
koszt_google_alphas = c(0.5, 3), koszt_google_gammas = c(0.3, 1), koszt_google_thetas = c(0, 0.3),
koszt_meta_alphas = c(0.5, 3), koszt_meta_gammas = c(0.3, 1), koszt_meta_thetas = c(0.1, 0.4),
train_size = c(0.5, 0.8)
## analogicznie dla pozostałych kanałów i zmiennych organicznych
)
InputCollect <- robyn_inputs(InputCollect = InputCollect, hyperparameters = hyperparameters)
OutputModels <- robyn_run(InputCollect = InputCollect, iterations = 2000, trials = 5)
OutputCollect <- robyn_outputs(InputCollect, OutputModels, pareto_fronts = "auto", plot_folder = "wyniki_robyn")
Wersja R korzysta z Nevergrad przez pakiet reticulate, więc na komputerze potrzebny jest też Python z tą biblioteką. Do odświeżania modelu nowymi danymi służy funkcja robyn_refresh, a do planowania – robyn_allocator.
Jak działa Google Meridian
Meridian szacuje jeden model bayesowski: zaczyna od rozkładów a priori, a dane je aktualizują. Wynikiem jest rozkład a posteriori dla każdego parametru i każdej metryki, np. ROI kanału z przedziałem wiarygodności.
Model jest hierarchiczny: każdy region ma własne parametry, ale są one powiązane wspólnym rozkładem. Dzięki temu dane z 16 województw wzmacniają się nawzajem. Rozkłady a priori ustawia się zwykle na ROI kanałów, co jest intuicyjne dla marketerów – zamiast współczynników regresji podajesz, jakiego zwrotu się spodziewasz i jak bardzo jesteś pewny. Meridian obsługuje też dane o zasięgu i częstotliwości, zmienne pozamediowe, takie jak cena i rabat, oraz od września 2026 r. sygnały marki, w tym wolumen zapytań o markę w Google.
Obliczenia działają na JAX i najlepiej przyspieszać je kartą graficzną. Wokół biblioteki powstał ekosystem: raport Meridian Scenario Planner do planowania budżetu bez kodu (od lutego 2026 r.) oraz moduł GeoX do projektowania i analizy testów geo (ogólnie dostępny od 10 września 2026 r.). Instalację i pierwszy model krok po kroku opisujemy w poradniku Google Meridian.
Dane i granulacja: model krajowy czy regionalny
Robyn pracuje na jednym szeregu krajowym, tygodniowym lub dziennym. Meridian najlepiej wykorzystuje dane w układzie region × tydzień, ale przyjmie też dane krajowe. To często rozstrzyga wybór.
Załóżmy, że masz trzy lata danych tygodniowych. W modelu krajowym to 156 obserwacji. Ten sam okres rozbity na 16 województw daje 2496 wierszy, co pozwala oszacować więcej kanałów i węższe przedziały. Warunkiem jest jednak wiarygodne przypisanie wydatków i sprzedaży do regionów. Jeśli dużą część przychodu generuje marketplace bez informacji o regionie kupującego albo kampanie są kierowane wyłącznie na całą Polskę bez raportów geograficznych, przewaga Meridian maleje.
Robyn nie ma wbudowanego modelu hierarchicznego dla regionów. Można budować osobne modele dla największych regionów, ale każdy z nich ma wtedy mniej danych i nie korzysta z informacji z pozostałych.
Niezależnie od narzędzia MMM nie wymaga rozbicia na kampanie. Konsolidacja struktury konta, typowa po wprowadzeniu systemu Andromeda, którą opisujemy w tekście o Meta Ads po Andromedzie, nie utrudnia więc modelowania – liczy się suma wydatków i ekspozycji w kanale.
Kalibracja eksperymentami w Robyn i Meridian
Oba narzędzia potrafią wykorzystać wyniki testów inkrementalności, ale robią to inaczej. Robyn traktuje wynik testu jako dodatkowy cel optymalizacji, a Meridian – jako rozkład a priori dla ROI kanału.
W Robyn przygotowujesz tabelę z wynikiem eksperymentu: kanał, okres testu, przyrost wyniku, wydatek i poziom pewności. Model dostaje wtedy cel MAPE.LIFT, który premiuje warianty zgodne z testem:
calibration_input <- data.frame(
channel = c("koszt_meta"),
liftStartDate = as.Date(c("2026-03-02")),
liftEndDate = as.Date(c("2026-03-29")),
liftAbs = c(84000),
spend = c(60000),
confidence = c(0.85),
metric = c("przychod_netto"),
calibration_scope = c("immediate")
)
InputCollect <- robyn_inputs(InputCollect = InputCollect, calibration_input = calibration_input)
W Meridian wynik testu przeliczasz na parametry rozkładu log-normalnego ROI dla danego kanału, a niepewność testu decyduje o szerokości rozkładu. Moduł GeoX dostarcza wyniki testów geo w formie gotowej do takiego użycia i podpowiada, które kanały warto przetestować. Szczegóły obu podejść, łącznie z przeliczeniem parametrów, opisujemy w artykule o testach geo i kalibracji MMM.
Źródłem kalibracji mogą być też badania Conversion Lift w Meta i Google Ads; jak je zaplanować, wyjaśniamy w tekście o testach inkrementalności i Conversion Lift. MMM i eksperymenty są przy tym niezależne od zmian atrybucji w platformach, takich jak nowe zasady atrybucji w Meta od marca 2026 r.
Kompetencje, sprzęt i czas wdrożenia
Robyn wymaga znajomości R i oceny wielu modeli kandydujących. Meridian wymaga znajomości Pythona, rozumienia rozkładów a priori i diagnostyki MCMC. Żadne z narzędzi nie jest „dla każdego”.
- Zespół. Jeśli analityk pracuje w R, Robyn da szybszy start. Jeśli dane i automatyzacje są w Pythonie, Meridian lepiej wpisze się w istniejące procesy.
- Sprzęt. Robyn działa na procesorze, a czas obliczeń zależy od liczby iteracji i prób. Meridian działa też na procesorze, ale przy modelu regionalnym zalecane jest GPU, np. w Colab.
- Interpretacja. W Robyn najwięcej pracy wymaga wybór modelu z frontu Pareto. W Meridian – dobór priorów i sprawdzenie zbieżności.
- Wsparcie. Meridian ma dokumentację Google, sieć certyfikowanych partnerów i narzędzia agentowe pomagające w budowie modelu. Robyn ma dokumentację i społeczność wokół repozytorium Meta.
- Dane. W obu przypadkach potrzebny jest powtarzalny proces zasilania, najlepiej w hurtowni. Typowe pułapki przy łączeniu źródeł opisujemy w tekście o łączeniu danych z Google Ads, Meta i GA4.
Jeśli w modelu mają się znaleźć kampanie wideo na telewizorach, zwróć uwagę na dane o zasięgu – więcej o zakupie i pomiarze tego kanału piszemy w tekście o Connected TV w Polsce.
Który model MMM wybrać: decyzja w pięciu krokach
Poniższa procedura prowadzi do wyboru w ciągu jednego spotkania zespołu analityki i marketingu.
- Sprawdź język zespołu. R wskazuje na Robyn, Python – na Meridian. Przepisywanie potoku danych tylko pod narzędzie rzadko się opłaca.
- Oceń granulację danych. Wiarygodne dane regionalne przemawiają za Meridian, same dane krajowe – za którymkolwiek z narzędzi.
- Sprawdź, jakie masz eksperymenty. Kilka testów z dobrze opisaną niepewnością łatwiej przełożyć na priory w Meridian. Pojedynczy wynik Conversion Lift wykorzystasz w obu narzędziach.
- Ustal, kto będzie korzystał z wyników. Jeśli budżet planują osoby bez Pythona, Scenario Planner daje Meridian przewagę.
- Zrób pilotaż. Przy wątpliwościach zbuduj prosty model w obu narzędziach na tych samych danych. Jeśli ranking kanałów jest podobny, zyskujesz pewność. Jeśli się różni, wiesz, który kanał trzeba przetestować.
Podstawy przygotowania projektu, niezależne od narzędzia, opisujemy w tekście o tym, od czego zacząć marketing mix modeling. Wszystkie poradniki o modelowaniu marketing mix znajdziesz w dziale Marketing Mix Modeling.
Najczęściej zadawane pytania
Czy Robyn działa w Pythonie?
Robyn powstał jako pakiet R i ta wersja jest najbardziej rozbudowana. Meta rozwija też wersję w Pythonie. Zanim oprzesz na niej projekt, sprawdź w repozytorium, czy obejmuje wszystkie potrzebne funkcje, w tym kalibrację i moduł alokacji budżetu. Sama wersja R również wymaga Pythona, bo korzysta z biblioteki Nevergrad przez pakiet reticulate.
Który model MMM jest dokładniejszy: Robyn czy Meridian?
Nie ma ogólnej odpowiedzi. Dokładność zależy od jakości danych, zmienności wydatków, specyfikacji modelu i kalibracji eksperymentami, a nie od samego narzędzia. Meridian lepiej wykorzystuje dane regionalne i wiedzę a priori, a Robyn szybciej przeszukuje wiele wariantów modelu. Najlepszym testem jest prognoza na odłożonym okresie i zgodność z wynikami eksperymentów.
Czy można używać Robyn i Meridian jednocześnie?
Można i bywa to rozsądne na etapie pilotażu. Zbudowanie dwóch modeli na tych samych danych pokazuje, które wnioski są stabilne, a które zależą od metody. Na co dzień utrzymywanie dwóch modeli podwaja jednak pracę przy odświeżaniu, dlatego po pilotażu zwykle zostaje się przy jednym narzędziu, a drugie służy do okresowej weryfikacji.
Czy Robyn obsługuje dane regionalne?
Robyn nie ma wbudowanego modelu hierarchicznego dla regionów, jaki oferuje Meridian. Możesz zbudować osobne modele dla największych regionów, ale każdy z nich będzie miał mniej obserwacji i nie skorzysta z informacji z pozostałych. Jeśli masz wiarygodne dane w podziale na województwa, Meridian zwykle lepiej je wykorzysta.
Czy Robyn działa tylko z danymi z Meta, a Meridian z Google?
Nie. Oba narzędzia są neutralne wobec platform i przyjmują wydatki oraz ekspozycję z dowolnych kanałów: Google Ads, Meta Ads, Allegro Ads, telewizji, radia czy outdooru. Robyn rozwija Meta, a Meridian Google, ale żadne z nich nie wymaga korzystania z reklam danej firmy ani połączenia z jej kontem reklamowym.