Case automatyzacji raportowania: agencja performance marketingowa (28 pracowników, 42 aktywnych klientów, obrót 11 mln PLN) wdrożyła zautomatyzowany system raportowania i w ciągu 5 miesięcy odzyskała 120 godzin pracy miesięcznie wcześniej spędzanych na ręcznym składaniu raportów. Koszt wdrożenia 84 000 PLN, zwrot w miesiącu 6, stały zysk od miesiąca 7 to 28 800 PLN/mc. Pokazujemy pełen proces – od audytu po produkcję – z liczbami, stack’iem i tymi decyzjami, których nie zrobilibyśmy drugi raz.
Projekt ruszył w sierpniu 2025 z prostym briefem właścicieli: „account managerowie robią raporty zamiast rozmawiać z klientami”. Audyt ujawnił, że 7 AM-ów spędzało łącznie ~180 godzin miesięcznie na składaniu raportów w Excelu i Looker Studio, z czego 2/3 to praca powtarzalna. W grudniu 2025 ręczna praca spadła do 58 godzin, a zespół odzyskał czas na strategię i upsell.
Ten case nie jest o magicznej AI, która zastępuje analityków. Jest o zrozumieniu, co w raportowaniu jest powtarzalne i zautomatyzowaniu tej części, zostawiając ludziom to, co wymaga kontekstu. Takiego podejścia brakuje w większości wdrożeń „automatyzacji raportów”, które widzimy na rynku.
W skrócie
- Redukcja pracy ręcznej z 180 h do 58 h miesięcznie (-68%) w 5 miesięcy.
- Koszt wdrożenia 84 000 PLN, utrzymanie 3 400 PLN/mc, zwrot w miesiącu 6.
- Stack: BigQuery + dbt + Looker Studio + n8n + LLM (Claude) do generowania komentarzy.
- 42 klientów, 42 różne raporty – jeden system parametryzowany.
- Klucz: nie zastąpienie analityka, ale odebranie mu 2/3 pracy mechanicznej.
Kontekst agencji i punkt wyjścia
Agencja specjalizująca się w Google Ads i Meta Ads, z rozwiniętymi usługami analitycznymi. 42 aktywni klienci na retainerach 8-28 tys. PLN/mc. Średni staż klienta 17 miesięcy, churn ~6% rocznie. Zespół 28 osób: 12 specjalistów Ads, 7 AM-ów, 4 analityków, 3 graficy, 2 osoby ops.
Każdy klient dostawał dwa raporty miesięcznie – tygodniowy skrócony (1-2 strony) oraz miesięczny szczegółowy (8-15 stron). Tygodniowe raporty były generowane w Looker Studio, ale każdy AM musiał dopisać komentarze, interpretację metryk, rekomendacje i dodać wykresy z Excela. Miesięczne były w całości w Excelu, z wklejanymi grafikami ze wszystkich możliwych źródeł.
Stan wyjściowy — liczby
| Metryka | Sierpień 2025 | Uwagi |
|---|---|---|
| Czas na raport tygodniowy / klient | 45-75 min | 4 razy w miesiącu |
| Czas na raport miesięczny / klient | 180-240 min | raz w miesiącu |
| Łączny czas raportowania / mc | ~180 h | 7 AM-ów x ~26 h |
| Opóźnienia raportów / mc | 8-12 klientów | skargi regularnie |
| Koszt pracy AM / h | 210 PLN | brutto agencji |
| Utracony upsell / kwartał | 3-5 klientów | szacowany |
Głównym problemem nie był koszt (120 tys. PLN rocznie to nie zabija agencji), ale utracone możliwości upsell’u – AM zamiast rozmawiać z klientem o rozszerzeniu współpracy, klejił cyferki. Drugi problem – jakość raportów była nierówna, zależna od tego, czy AM ma dobry dzień.
Cele projektu i kryteria sukcesu
Zarząd agencji postawił konkretne cele liczbowe. Pokazujemy, jakie i czym różniły się od tego, co realnie osiągnęliśmy.
- Cel 1: redukcja czasu raportowania o 50% w 6 miesięcy. Osiągnięte: -68% w 5 miesięcy.
- Cel 2: zero opóźnień raportów. Osiągnięte: 100% terminowość od miesiąca 4.
- Cel 3: ujednolicenie jakości – ten sam klient, ten sam format raportu, niezależnie od AM-a. Osiągnięte w miesiącu 3.
- Cel 4: czas na upsell – każdy AM minimum 6 godzin/mc na rozmowy rozwojowe z klientem. Osiągnięte w miesiącu 5.
Czego NIE mieliśmy w celach – pełnej automatyzacji. Świadomie. AM miał zostać w pętli jako osoba, która dodaje kontekst, tłumaczy dane klientowi, odpowiada za relację. Automatyzacja zdejmowała mechaniczną pracę, a nie myślenie.
Architektura rozwiązania
Po analizie opcji (gotowe platformy typu Whatagraph, Reportgarden, Octoboard vs. custom) wybraliśmy rozwiązanie custom z otwartego stack’u. Powody: 42 różnych klientów w 42 formatach raportu – gotowe narzędzia zakładają szablon, tu potrzebne było parametryzowanie per klient. Plus kwestia danych własnych (polskie systemy CRM klientów, customowe arkusze Excel z celami), których gotowce nie wspierały.
Stack w pięciu warstwach
- Hurtownia: BigQuery jako centralne źródło danych. Dane z Google Ads, Meta, GA4, Search Console, Facebook Insights + customowe z CRM klientów.
- Transformacje: dbt (data build tool) do modelowania danych per klient – definiuje KPI, celowe wartości, benchmarki.
- Wizualizacje: Looker Studio raporty-szablony z parametrami per klient. Dynamicznie ładują dane z właściwych tabel BigQuery.
- Orkiestracja: n8n self-hosted jako kleiwo – generowanie raportów PDF, wysyłka do klientów, trigger komentarzy AI, przypomnienia dla AM-ów.
- AI layer: Claude Sonnet 3.5 (później 4) do generowania komentarzy interpretacyjnych na bazie danych z hurtowni. AM zatwierdza lub edytuje.
Przepływ miesięcznego raportu
1 dnia każdego miesiąca n8n uruchamia job: pobiera dane z hurtowni dla każdego klienta, generuje wykresy i tabele w Looker Studio, wysyła do Claude prompt z kontekstem (kim jest klient, jakie ma cele, jakie były poprzednie komentarze) + dane z miesiąca. Claude zwraca komentarze per sekcja. System tworzy draft raportu PDF. AM dostaje do skrzynki roboczej listę raportów do weryfikacji. Przegląda w 10-15 minut, edytuje komentarze, dodaje rekomendacje, klika „zatwierdź”. Raport ląduje w folderze klienta + wysyłka email.
Trzy główne wyzwania wdrożenia
Wyzwanie 1 — różnorodność danych klientów
Każdy z 42 klientów miał inny stack analityczny. Część GA4 z customowymi eventami, część jeszcze Universal Analytics w niektórych usługach, część własne tagowanie. Google Ads wszędzie, ale z różnymi konwencjami nazewnictwa kampanii. Meta Ads u 31 z 42 klientów. Search Console u 28. Plus customowe dane (leady z CRM, sprzedaż z ERP, ruch w sklepie fizycznym) u 9 klientów.
Rozwiązanie: warstwa standaryzacji w dbt. Dla każdego klienta definiujemy mapping źródłowych nazw kampanii na znormalizowane kategorie (brand/non-brand, produkt A/B/C itd.). Jest to praca 4-8 godzin jednorazowo per klient, ale potem raportowanie jest w 100% automatyczne. Bez tej warstwy automatyzacja by się nie udała.
Wyzwanie 2 — jakość komentarzy LLM
Pierwsze 3 tygodnie Claude generował komentarze, które były „poprawne, ale puste” – powtarzał metryki zamiast je interpretować. AM-owie buntowali się, że przepisują całe sekcje. Problem był w promptcie – dawaliśmy za mało kontekstu.
Rozwiązanie – trzy warstwy kontekstu w prompcie. Pierwsza: profil klienta (branża, model biznesowy, główny produkt, cele kwartalne). Druga: historia ostatnich 6 miesięcy (trendy, co się zmieniło, co wypróbowano). Trzecia: znane wyjątki (sezonowość, kampanie specjalne, zmiany produktowe). Po dodaniu tej warstwy jakość komentarzy wzrosła – AM-owie edytowali 25-40% tekstu zamiast 80%.
Wyzwanie 3 — przekonanie AM-ów
Trzech z siedmiu AM-ów początkowo sabotowało projekt – nie dlatego, że był zły, ale z obawy o swoją rolę. Boli ich powtarzanie „automatyzacja cię zwalnia”. Plus wcześniejsze negatywne doświadczenia z platformami, które obiecywały, a nie dawały.
Rozwiązanie: włączenie AM-ów w projektowanie od dnia 1. Każdy z nich dostał zakres „ich” raportów do testowania, wskazywał, co musi koniecznie zostać ręcznie, co jest mechaniczne. Drugi element – zarząd publicznie obiecał, że oszczędność czasu pójdzie na upsell i rozwój kompetencji, nie na zwolnienia. Po 3 miesiącach sami AM-owie byli największymi promotorami systemu.
Wyniki miesiąc po miesiącu
Pełen rozkład 5-miesięcznej trajektorii, z liczbami godzin i klientów objętych automatyzacją. Widać wyraźne fazy – pilotaż (1-2), rozszerzanie (3-4), stabilizacja (5).
| Miesiąc | Klienci objęci | Godziny pracy / mc | Oszczędność vs. baseline | Satysfakcja AM (1-10) |
|---|---|---|---|---|
| Sierpień (baseline) | 0 | 180 | – | 4,2 |
| Wrzesień (pilotaż) | 5 | 172 | -4% | 5,1 |
| Październik | 15 | 134 | -26% | 6,8 |
| Listopad | 28 | 96 | -47% | 7,6 |
| Grudzień | 42 | 72 | -60% | 8,1 |
| Styczeń 2026 | 42 | 58 | -68% | 8,6 |
Obserwacja 1: pierwszy miesiąc dał nawet lekki wzrost pracy (-4% to szum) – to normalne, automatyzacja na początku zjada czas na konfigurację i naukę. Oszczędność pojawia się od miesiąca 3.
Obserwacja 2: poziom stabilizacji 58 h/mc to nie zero – są klienci z customowymi raportami (7 z 42), którzy mają bogate, niestandardowe warstwy analityki. Tam automatyzacja pokrywa 40-60%, reszta zostaje ręczna. Świadomie tego nie forsowaliśmy dalej.
Budżet i ROI
Pełne rozliczenie projektu w formie tabelarycznej – inwestycja, koszty utrzymania, oszczędności, ROI.
| Kategoria | Wdrożenie | Miesięcznie | Rok 1 |
|---|---|---|---|
| Dev (backend + dbt + n8n) | 48 000 PLN | 1 800 PLN | 69 600 PLN |
| Looker Studio templates | 12 000 PLN | 400 PLN | 16 800 PLN |
| Prompt engineering + testy AI | 14 000 PLN | 600 PLN | 21 200 PLN |
| Onboarding AM-ów i szkolenia | 6 000 PLN | – | 6 000 PLN |
| Infrastruktura (BQ, n8n VPS, storage) | 4 000 PLN | 340 PLN | 8 080 PLN |
| Koszty API LLM (Claude) | – | 260 PLN | 3 120 PLN |
| Razem | 84 000 PLN | 3 400 PLN | 124 800 PLN |
Oszczędności
Od stanu stabilnego (miesiąc 5+): 120 godzin/mc x 210 PLN/h = 25 200 PLN/mc wartości odzyskanego czasu. Plus skala projektu upsell – w Q4 2025 3 klientów rozszerzyło współpracę o analytics-as-a-service (retainer +4-8 tys. PLN/mc) i 2 klientów o kampanie LinkedIn Ads (+7-12 tys. PLN/mc). Szacowany dodatkowy przychód: 28 800 PLN/mc netto marży.
Łączna wartość miesięczna: 25 200 + 28 800 = 54 000 PLN/mc. Minus koszty utrzymania 3 400 PLN. Netto: 50 600 PLN/mc. Payback: miesiąc 6 (84 000 / 14 500 oszczędności w fazie narastania). Od miesiąca 7 pełna stała wartość 50 600 PLN/mc.
Zespół i model pracy
Projekt przeprowadziły 4 osoby z trzema organizacjami. Z budżetem 84 tys. PLN nie dało się zrobić inaczej, ale dało się zrobić dobrze.
Data engineer (kontraktowy, 0,6 FTE przez 5 mc)
Architektura BigQuery, modele dbt, pipeline danych. 280 godzin w fazie wdrożeniowej (80 400 PLN), potem 10 h/mc retainer. Stawka 300 PLN/h B2B.
Full-stack developer (in-house agencji, 0,3 FTE)
n8n workflow, integracje, customowe endpointy, UI dla AM-ów do przeglądania raportów. Czas 160 godzin wdrożenia, utrzymanie 8 h/mc. Koszt zdominowany przez alternatywne zajęcia.
Head of Analytics (in-house, 0,2 FTE)
Specyfikacja raportów, mapowanie kampanii per klient, prompt engineering, walidacja jakości. Kluczowa osoba merytoryczna – bez jej wiedzy AM-owie nie zaufaliby systemowi.
Product owner (head of operations, 0,15 FTE)
Priorytety, komunikacja z zarządem, adopcja w zespole AM, pomiar ROI. 20-30 godzin/mc przez 5 miesięcy.
Efekt biznesowy poza oszczędnością czasu
Mierzalna oszczędność 120 godzin/mc to tylko część wartości. Drugi, trudniejszy do zmierzenia, to zmiana jakości pracy zespołu i relacji z klientami. Pokazujemy cztery wymiary, których nie pokazuje prosty rachunek ROI.
Jakość raportów
Przed wdrożeniem raporty 42 klientów były zróżnicowane – ten sam klient, inny AM, inny format i poziom głębi. Po wdrożeniu – jednolite. Klient miesiąc do miesiąca widzi ten sam układ, te same sekcje, te same metryki. Dało to sygnał profesjonalizmu, który niezależnie ocenili 34 z 42 klientów w anonimowej ankiecie NPS po 6 miesiącach (wzrost NPS z 38 do 54).
Rozmowy strategiczne z klientem
AM-owie, mając 15-18 godzin więcej miesięcznie na klienta, zaczęli robić rzeczy, których wcześniej nie było czasu: miesięczne call’e strategiczne 60 minut zamiast „sprawdzamy raport”, wizyty w siedzibach klientów, proaktywne propozycje nowych kanałów. Efekt – w Q4 2025 wzrost wartości retainera średnio o 18% per klient.
Retencja pracowników
Dwóch AM-ów, którzy wcześniej zgłaszali wypalenie, po 4 miesiącach zmieniło postawę – sami wspominają, że „robi się w firmie ciekawiej”. Żadnej rotacji w zespole AM przez cały rok 2025, vs. historia 2-3 odejścia rocznie wcześniej.
Skala agencji bez liniowego wzrostu zespołu
W styczniu 2026 agencja obsługiwała 48 klientów (vs. 42 na start projektu) tym samym zespołem AM. Normalnie taki wzrost wymagałby zatrudnienia 1-2 nowych osób (14-28 tys. PLN/mc). Ta oszczędność sama w sobie domyka ROI, niezależnie od czasu odzyskanego wewnątrz.
Pułapki, których udało się uniknąć (i te, które nas dopadły)
Uniknęliśmy: próby zautomatyzowania 100% raportów
Pokusa była ogromna – „skoro już automatyzujemy, to do końca”. Świadomie zostawiliśmy 15-25% raportów jako ręczne (najbardziej custom, najbardziej strategiczne). To zachowało miejsce na ludzką interpretację i uchroniło przed jakościowym upadkiem.
Uniknęliśmy: zrobienia wszystkiego naraz
Pilot na 5 klientach (mc 1-2), rozszerzenie stopniowe. Każdy tydzień oznaczał 2-4 nowych klientów, a nie wszystkich 42 naraz. Pozwoliło to łapać problemy przy małej skali, zanim uderzyły w całą firmę.
Dopadło nas: niedoszacowanie pracy nad danymi źródłowymi
Plan zakładał 2-3 godziny per klient na mapping kampanii. Realnie – 4-8 godzin, a dla 7 najbardziej złożonych klientów 12-16 godzin. Przesunęło to projekt o 3 tygodnie i pociągnęło 28 000 PLN dodatkowych kosztów pracy. Gdybyśmy to uszanowali w budżecie, projekt byłby spokojniejszy.
Dopadło nas: rozpieranie scope’u
Pół projektu próbowało rozciągnąć automatyzację na wewnętrzne raportowanie agencji (raporty dla zarządu). Nie odmówiliśmy kategorycznie, co spowodowało, że 3 tygodnie pracy poszło na rzecz, która miała nigdy nie wrócić ROI. Wycofaliśmy się, ale za późno.
Dopadło nas: początkowe niedocenienie adopcji
Pierwszy miesiąc AM-owie sabotowali system (wolno klikali „zatwierdź”, wracali do starych Excelów „bo szybciej”). Zignorowaliśmy sygnały. Po miesiącu zarząd musiał interweniować spotkaniem dedykowanym. Lepiej byłoby od razu zainwestować w adopcję.
Dopadło nas: zadowolenie z pierwszej wersji promptu
Pierwsze 2 tygodnie myślałem (head of analytics), że prompt Claude jest OK. Był przyzwoity, ale nie świetny. Dopiero po zebraniu feedbacku od AM-ów okazało się, że komentarze były „płaskie”. 4 iteracje promptu na przestrzeni miesiąca zmieniły użyteczność dramatycznie.
Jak zreplikować u siebie
Jeśli prowadzicie agencję z 20+ klientami i problemem raportów – poniższy plan pokrywa 80% decyzji.
Faza 0 (miesiąc 1) — audyt
- Mierzenie realnego czasu raportowania – każdy AM logi czasu przez 2 tygodnie.
- Rozmowy z AM-ami: co jest mechaniczne, co wymaga myślenia, co ich boli.
- Audyt danych klientów – jakie źródła, w jakich formatach, co chaosu.
- Wybór stack’u i dostawców (jeśli potrzebujesz).
Faza 1 (miesiące 2-3) — pilotaż
- Hurtownia BigQuery z danymi dla 3-5 klientów pilotażowych.
- Pierwsze modele dbt, szablony Looker Studio.
- Pierwsza wersja workflow n8n do generowania raportów.
- Iteracja promptu AI z pomocą doświadczonych AM-ów.
Faza 2 (miesiące 4-5) — skalowanie
- Migracja pozostałych klientów w tempie 5-10 tygodniowo.
- Pierwsze oszczędności mierzalne – komunikat dla zespołu.
- Szlifowanie promptu AI i dodawanie warstwy kontekstu.
Faza 3 (miesiąc 6+) — stabilizacja
- Pełna adopcja, retrospektywy, dostrojenie.
- Mierzenie ROI na poziomie wzrostu upsell (nie tylko oszczędności czasu).
- Plan na kolejny kwartał – czy rozszerzać, czy poprawiać.
FAQ — najczęstsze pytania
Czy to rozwiązanie ma sens dla mniejszej agencji (10-20 klientów)?
Częściowo. Pełen stack BigQuery + dbt + n8n + LLM przy 10 klientach to overengineering – koszt wdrożenia 50-70 tys. PLN, zwrot dopiero po roku. Dla tej skali lepiej Sheets + Zapier + Looker Studio szablony + Claude przez API – koszt 18-28 tys. PLN, zwrot w 4-6 miesiącach, mniejsze ryzyko projektowe. Próg opłacalności pełnego rozwiązania to ok. 25-30 klientów z regularnym raportowaniem lub wysokim kosztem godziny pracy AM.
Dlaczego Claude, a nie ChatGPT czy Gemini?
W sierpniu 2025 (start projektu) Claude Sonnet 3.5 dawał najlepsze długie komentarze analityczne w języku polskim przy takich kosztach. GPT-4o był porównywalnie dobry, ale miał wtedy gorsze prompt caching, co przy 42 klientach i dużym kontekście robiło różnicę 4x w cenie. Gemini Pro – tańszy, ale wtedy słabszy w interpretacji tabelarycznych danych. Dziś różnice są mniejsze – dobór modelu zróbcie na bazie swoich testów, różnica między topami jest marginalna.
Jak zadbać o bezpieczeństwo danych klientów?
Trzy elementy. Po pierwsze, dane klienta zostają w BigQuery u was (nie u dostawcy SaaS). Po drugie, do LLM wysyłamy dane zagregowane, nie transakcyjne – Claude nie widzi pojedynczych leadów, widzi sumy i trendy. Po trzecie, umowa z klientem zawiera zgodę na przetwarzanie danych przez AI third-party – warto to mieć podpisane zanim uruchomicie.
Jakie błędy AI się zdarzały w komentarzach?
Trzy typy. Pierwszy – halucynacje o liczbach (2% przypadków) – podanie wartości innej niż w tabeli. Rozwiązanie: prompt wymusza cytowanie ze źródła, plus AM walidacja. Drugi – błędna interpretacja sezonowości (4-6% przypadków) – Claude porównywał miesiąc do miesiąca bez uwzględnienia świąt lub specjalnych okresów. Rozwiązanie: warstwa kontekstu z kalendarzem sezonowym per branża. Trzeci – ogólnikowość bez wartości (~15% komentarzy w pierwszej wersji) – poprawiona przez lepszy prompt i więcej przykładów.
Czy AM-owie nie boją się utraty pracy?
Początkowo – tak. W tym case zarząd publicznie zadeklarował, że oszczędności idą na upsell i rozwój, nie na zwolnienia. Po 6 miesiącach faktycznie zespół się nie zmniejszył, ale awansował – 2 AM-ów przesuniętych na senior role z dedykowanymi klientami, 1 osoba przeszła do roli analityka. W perspektywie rocznej plan to zatrudnienie dodatkowego AM (nie zwolnienie) – bo kapacitet agencji rośnie. Podobną dynamikę widzimy w innych case’ach z AI – zobaczcie case agenta AI publikującego 10 artykułów dziennie.
Co zrobić z klientami, którzy nie chcą raportów z AI?
Najpierw – rzadko zdarza się, żeby klient explicite to odrzucił. Raportowanie z AI jest transparentne w tym sensie, że AM zatwierdza każdy komentarz – to jest praca AM-a z asystą AI, nie „AI wygenerowało i wysłało”. Przy świadomym klientowi wymagającym pełnej ręcznej pracy – zachowujemy to jako premium option (retainer wyższy o 15-20%). W tym case 2 klientów wybrało ten model, 40 nie zauważyło różnicy (w dobrym sensie).
Jak to się ma do case’ów z innych branż?
Ten case to automatyzacja back-office agencji. Mechanizm jest ten sam, co w innych automatyzacjach – znajdź pracę powtarzalną, zautomatyzuj 2/3, zostaw człowiekowi kontekst. Podobne wdrożenia w SaaS (chatboty B2B) i mediach (generowanie treści) dają analogiczne wyniki – zobaczcie case chatbota B2B lub case SEO B2B. Wspólny mianownik – nie rewolucja, tylko odebranie zespołowi pracy mechanicznej.
Co dalej
Ten case pokazuje jedną drogę – agencję performance marketingową z 42 klientami. Jeśli prowadzicie podobny model, 80% decyzji i kroków można przenieść 1:1. Dla innych modeli (startupy B2B, e-commerce, media) mechanizm jest ten sam, ale szczegóły stack’u inne.
- Zobaczcie case chatbot B2B, który zamienił 30% zapytań w leady – inny use case, ten sam LLM stack.
- Porównajcie z case agentem AI publikującym 10 artykułów dziennie – cięższa automatyzacja contentowa.
- Kontekst SEO i wzrostu organicznego – case wzrostu SEO o 340% w 12 miesięcy.
- Pełen przegląd case’ów 2026 – case studies marketingu cyfrowego 2026.
Najważniejsza lekcja – nie pytajcie „jak zautomatyzować wszystko”, tylko „co konkretnie marnuje czas zespołu i da się to wyjąć”. Odpowiedź zwykle jest węższa, niż się wydaje, ale też dużo bardziej realna do wdrożenia.