---
title: "Analiza sezonowości sprzedaży w Power BI i AI dla detalistów FMCG"
description: "Odkryj, jak wykorzystać Power BI i AI do analizy sezonowości sprzedaży w FMCG. Poznaj dane, modele i wizualizacje, które zwiększą Twoje zyski!"
tags: [ "ai-w-biznesie" ]
category: "ai-w-biznesie"
date: 2026-05-14T08:00:57+01:00
updated: 2026-05-14T08:00:57+01:00
author: Marta Wierzbicka
image: /assets/images/analiza-sezonowosci-sprzedazy-w-power-bi-dla-detalistow-z-branzy-fmcg-z-uzyciem-modeli-ai.webp
---

## Dlaczego sezonowość w FMCG to temat „być albo nie być”

Kiedy kilka lat temu siedziałam w sali konferencyjnej jednego z dużych dystrybutorów napojów na Jerozolimskich w Warszawie, dyrektor sprzedaży pokazał mi wykres: gigantyczny pik sprzedaży w lipcu, a potem nagły dołek w sierpniu. Zespół był przekonany, że „klient przestał pić colę po wakacjach”. Dopiero po złączeniu danych z kalendarzem dostaw i harmonogramem inwentaryzacji okazało się, że ten „cudowny lipiec” był w dużej mierze efektem przepchnięcia dostaw do sieci przed zamknięciem okresu.

Tak wygląda codzienność FMCG. Sprzedaż w tej branży jest mocno sezonowa, ale część pików wcale nie wynika z wyborów konsumentów. Mieszają się tu pory roku, święta, lokalne wydarzenia, promocje, pogoda, cykle wypłat i – co widać na wielu projektach – zwykła logistyka detalisty.

W tym tekście pokazuję, jak wykorzystuję **Power BI** i modele AI do rozkładania tego chaosu na czynniki pierwsze i budowania realnie używalnej analizy sezonowości. Z perspektywy osoby, która zawodowo automatyzuje procesy, a nie robi ładne dashboardy „do szuflady”.

## Sezonowość w FMCG – ile tu naprawdę jest „sezonu”

Zacznijmy od skali zjawiska. W kategoriach typu lody, napoje chłodzące, repelenty czy kremy z filtrem różnica między sezonem wysokim a niskim potrafi sięgać kilkudziesięciu procent wolumenu. Przy słodyczach świątecznych, alkoholach i produktach premium w grudniu skoki są jeszcze większe – sprzedaż w tym miesiącu bywa nawet kilkukrotnie wyższa niż w spokojniejszych okresach roku, co potwierdzają analizy danych sprzedażowych, które widziałam w kilku sieciach handlowych.

Dodatkowo produkty typowo zimowe potrafią wygenerować zdecydowaną większość rocznego wolumenu w przedziale od października do marca. Innymi słowy, jeśli źle zaplanujesz ten okres, przez resztę roku możesz już tylko „gasić światło”.

W praktyce do tego globalnego obrazu dochodzi kilka warstw sezonowości, które trzeba od siebie odseparować:

- sezonowość tygodniowa – inne zachowania w weekend, inne w środku tygodnia,  
- sezonowość roczna – święta, wakacje, powtarzalne akcje promocyjne,  
- sezonowość dzienna – pora dnia, „godziny zakupowe”, lokalne zwyczaje.

Jeśli w modelu AI wrzucisz to wszystko do jednego worka, dostajesz uśredniony, spłaszczony obraz, który niby „coś pokazuje”, ale nie nadaje się do konkretnych decyzji zakupowych. Dlatego u siebie zawsze rozdzielam te warstwy, już na poziomie modelu danych w Power BI.

## Power BI jako centrum analizy sezonowości – jak to realnie działa

Pamiętam spotkanie w centrali średniej sieci convenience w Krakowie. W sali obok zespół operacyjny drukował zestawienia sprzedaży w Excelu, łącząc ręcznie POS, ERP i listę promocji. „Nie ruszymy z forecastem, bo nikt nie ufa danym” – usłyszałam. Trzy miesiące później większość tych raportów zastąpił jeden model w Power BI.

Power BI dobrze sprawdza się w FMCG z kilku powodów. Po pierwsze, łączy w jednym miejscu:

- dane POS (paragonowe, dzienne, często godzinowe),  
- dane z ERP (zakupy, stany magazynowe, koszty),  
- kalendarz świąt i dni handlowych,  
- dane o promocjach,  
- dane pogodowe z zewnętrznych źródeł.

Po drugie, ma wbudowane modele AI, które rozkładają szeregi czasowe na trend, sezonowość i składnik losowy. To nie jest pełny zamiennik dużych projektów data science, ale do decyzji operacyjnych „na jutro” i „na kolejny tydzień” bywa w zupełności wystarczający – szczególnie jeśli dobrze poukładamy model danych i cechy.

Dodatkowo modele wbudowane w Power BI dużo lepiej radzą sobie z sezonowością, gdy pracują na danych dziennych niż na agresywnie zrolowanych tygodniach czy miesiącach. Dlatego często proponuję: trenujmy na poziomie dnia, a dopiero prognozy agregujmy później. To pozwala uchwycić m.in. efekt weekendów, lead/lag promocji czy lokalne wydarzenia.

## Model danych w Power BI – co musi się w nim znaleźć, żeby sezonowość „zagrała”

Na jednym z projektów dla producenta słodyczy w Poznaniu zaczęliśmy od klasycznego błędu: do modelu trafiły miesięczne dane sprzedaży i dość płaski kalendarz. „Na co dzień tak patrzymy na biznes” – argumentował klient. Po dwóch tygodniach dyskusji wróciliśmy do danych dziennych i rozbudowanego kalendarza. Dopiero wtedy prognozy zaczęły się zbliżać do rzeczywistości.

Dobrze zrobiony model danych pod sezonowość w FMCG w Power BI zwykle opiera się na kilku kluczowych elementach.

W centrum stoi tabela faktów sprzedaży – dzienna, możliwie szczegółowa. Łączy dane z POS i ERP: ilości, wartości sprzedaży, koszty, zamówienia, stany magazynowe, rotację. Im niższy poziom agregacji, tym łatwiej później zbudować sensowny indeks sezonowy i wykrywać anomalie.

Obok niej stawiam rozbudowaną tabelę kalendarza. To nie jest tylko data, rok, miesiąc. W praktyce buduję coś, co wiele zespołów nazywa własnym kalendarzem sezonowości. Zawiera on:

- święta stałe i ruchome,  
- lokalne wydarzenia (festyny, imprezy sportowe, jarmarki),  
- flagi typu: dzień wypłaty, długi weekend, ferie w danym województwie,  
- sezonowe tagi: „back_to_school”, „pre_christmas”, „post_easter”.

Zaawansowani analitycy FMCG często mają wręcz swój „tajny kalendarz”, dopracowywany latami – i tam kryje się spora część przewagi nad konkurencją, która używa wyłącznie standardowych kalendarzy.

Kolejny element to wymiar produktów: kategoria, marka, typ opakowania, poziom premium, segment funkcjonalny. W połączeniu z tabelą sklepów (format: convenience, supermarket, dyskont, lokalizacja: turystyczna, akademicka, sypialniana) daje to możliwość zobaczenia, że ten sam SKU ma zupełnie inną sezonowość w sklepie na deptaku w Sopocie niż w osiedlowym markecie pod Łodzią.

Sezonowość bardzo różni się też pomiędzy formatami sklepów. Lody w małym convenience przy stacji benzynowej mają zwykle wyższy udział wieczorem i w nocy, podczas gdy w hipermarkecie pik wypadnie wcześniej w ciągu dnia. Dlatego typ lokalizacji warto mieć w modelu albo jako cechę, albo trenować modele oddzielnie dla wybranych segmentów.

Do tego dokładam jeszcze dwie grupy danych: promocje i pogodę. Dane promocyjne służą nie tylko do oznaczania tygodnia akcji. W praktyce bardzo ważny jest efekt przedsprzedaży i odsprzedaży promocji: sprzedaż rośnie kilka dni przed startem akcji (klienci „czują”, że coś się zbliża), a potem spada po jej zakończeniu. Dlatego w modelu DAX-owym tworzę cechy typu Promo_Lead i Promo_Lag, co pozwala uchwycić ten efekt w prognozach.

Pogoda jest z kolei sezonowością nieliniową. Przykład z życia: u jednego klienta w województwie mazowieckim sprzedaż lodów realnie zaczynała rosnąć dopiero po przekroczeniu określonej temperatury odczuwalnej. Poniżej tego progu prawie nic się nie działo. Przy bardzo wysokich temperaturach natomiast spadała sprzedaż części produktów „cięższych” – klienci po prostu nie mieli na nie ochoty podczas upałów. Dlatego temperaturę warto kategoryzować (Temp_Bin) i dodawać flagi typu „heat_wave_flag”, zamiast wrzucać do modelu surową liczbę stopni.

## Indeks sezonowy w DAX – małe narzędzie, duży porządek

Kilka miesięcy temu, podczas warsztatów w centrali sieci handlowej w Gdańsku, poprosiłam zespół, żeby na chwilę zapomnieli o wszystkich cudach AI i policzyli w DAX najprostszy możliwy indeks sezonowy. Po godzinie mieliśmy miarę, która natychmiast obnażyła kilka „magicznych” pików sprzedaży – okazały się logistyką, a nie konsumentem.

Indeks sezonowy w Power BI buduję zazwyczaj tak, by porównywał sprzedaż w konkretnym okresie (dzień, tydzień, miesiąc) do średniej rocznej lub bazowej. Dzięki temu od razu widzę, kiedy sprzedaż w danym okresie jest wyraźnie powyżej lub poniżej typowego poziomu.

W praktyce łączę tu dwa cele. Po pierwsze, indeks sezonowy służy jako narzędzie do normalizacji danych przed trenowaniem modeli AI. Chodzi o to, by model skupił się na trendach, efektach promocyjnych czy zmianach cen, a nie na „oczywistych” szczytach świątecznych. Po drugie, ten sam indeks wykorzystuję później jako sanity-check dla prognoz. Jeśli model sugeruje spokojny grudzień w kategorii świątecznej czekolady, a indeks sezonowy krzyczy, że powinniśmy być w szczycie, od razu wiemy, że coś jest nie tak.

DAX pozwala mi definiować indeks na różnych poziomach agregacji – od dnia przez tydzień aż po kwartał. W zależności od tego, czy pracuję z retailowym convenience, czy z hurtownią obsługującą duże markety, zmieniam perspektywę, ale logika pozostaje ta sama: oddzielić sezonowość od reszty i mieć prosty wskaźnik, który każdy w zespole zrozumie.

## Wbudowane AI w Power BI – forecasting, anomalie i wpływające czynniki

Na jednym z projektów w Łodzi zrobiliśmy prosty eksperyment. Ten sam wykres sprzedaży kategorii napojów w dwóch wersjach: zwykła linia i linia z włączonym forecastingiem oraz wykrywaniem anomalii. Dyrektor operacyjny po pięciu minutach powiedział: „Dobra, teraz to ma sens, wreszcie widzę, gdzie naprawdę coś się wydarzyło”.

Forecasting w Power BI, przy poprawnie ustawionej sezonowości, potrafi wykryć powtarzalne wzorce i rozsądnie prognozować przyszłe poziomy sprzedaży. Kluczem jest to, by nie zostawiać wszystkiego w trybie „auto”. Dla danych dziennych ustawiam sezonowość ręcznie na 365, dla miesięcznych – na 12. Dzięki temu model skupia się na właściwej częstotliwości powtarzalnych wzorców, zamiast szukać ich na ślepo.

Drugie narzędzie, z którego intensywnie korzystam, to wykrywanie anomalii. Find anomalies podświetla nagłe skoki i spadki. Próg czułości zwykle ustawiam mniej więcej w środku skali, tak by nie tonąć w fałszywych alarmach. Prawdziwa wartość pojawia się wtedy, gdy do pola „Explain by” dorzucę zmienne kontekstowe: czy był to tydzień promocji, jak wyglądała temperatura, czy zmieniliśmy układ ekspozycji w sklepie.

Dopełnieniem jest **Key Influencers**, czyli analiza czynników najsilniej powiązanych z wynikiem. Dla jednego klienta w Małopolsce wyszło bardzo wyraźnie, że weekendy z dobrą pogodą i promocją w tym samym czasie w kategorii napojów odpowiadały za największe odchylenia od „typowej” sprzedaży. Bez tej wizualizacji zespół podejrzewał to intuicyjnie, ale nie miał twardego dowodu.

W tle coraz częściej wykorzystujemy też integrację z usługami typu Azure OpenAI – nie do budowania samych prognoz, tylko do tłumaczenia wyników na język zrozumiały dla biznesu. Zamiast prezentować zawiły wykres, generujemy zwięzłe podsumowanie: „W ostatnim tygodniu sprzedaż napojów w regionie północnym była wyższa niż typowy poziom sezonowy, głównie dzięki promocji X i wyższym temperaturom”.

## Jak konfiguruję forecasting i anomalie na wykresie liniowym

Żeby to wszystko miało sens, konfiguracja wykresu liniowego w Power BI musi być przemyślana. Na osi X używam zawsze ciągłej osi czasu – najczęściej konkretnej daty, czasem Year-Month. Na osi Y idzie miara sprzedaży (ilościowa lub wartościowa, w zależności od celu).

Na tej bazie w panelu analitycznym włączam forecast. Ustawiam horyzont prognozy tak, by odpowiadał realnym decyzjom biznesowym – dla FMCG najczęściej są to tygodnie lub miesiące. Parametr sezonowości definiuję jawnie, a nie zostawiam modelowi do zgadywania.

Potem dokładam Find anomalies. Tu kluczowy jest kompromis: zbyt niska czułość zasypie zespół alertami, zbyt wysoka przeoczy realne problemy. W praktyce często testuję kilka ustawień na danych historycznych, zanim zdecydujemy się na docelowe.

Gdy dokładam zmienne do „Explain by”, wybieram tylko te, które faktycznie mogą tłumaczyć skoki: promocje, temperaturę, dni wolne, czasem zmianę layoutu sklepu lub start nowej ekspozycji. W przeciwnym razie model będzie produkował mało użyteczne „wyjaśnienia”.

Tak skonfigurowany wykres przestaje być tylko ładną linią na monitorze, a staje się narzędziem operacyjnym: pokazuje prognozę, od razu sygnalizuje odchylenia i sugeruje ich możliwe przyczyny.

## Modele AI do prognozowania popytu – co naprawdę działa w FMCG

W jednym z projektów dla producenta kosmetyków z centralnej Polski zestawiliśmy klasyczne ARIMA z modelem gradientowym (XGBoost) oraz siecią LSTM. Na danych miesięcznych różnice były umiarkowane. Gdy zeszliśmy do poziomu dnia i dorzuciliśmy cechy pogodowe oraz kalendarzowe, przewagę uzyskały nowocześniejsze modele – zwłaszcza na kategoriach mocno promocyjnych i podatnych na pogodę.

W praktyce korzystam z kilku rodzin modeli:

- klasyczne modele szeregów czasowych (ARIMA, ETS, Prophet) – bardzo dobre tam, gdzie mamy powtarzalne wzorce i względnie stabilny świat,  
- modele uczenia maszynowego (XGBoost, Random Forest) – gdy potrzebujemy wykorzystać wiele cech zewnętrznych,  
- modele głębokie (LSTM, N-BEATS) – przy dużej ilości danych i bardziej złożonych wzorcach.

Power BI daje tu dwie ścieżki. Pierwsza to wbudowane funkcje AI – szybkie, proste, dobre na start lub dla zespołów, które nie mają dużego zaplecza data science. Druga to integracja z Python/R lub z **Azure Machine Learning**. W tej konfiguracji model trenujemy i hostujemy w chmurze, a Power BI pełni rolę semantycznej nakładki i silnika wizualizacyjnego.

Często rozdzielam też podejście według ważności produktów. Top 20% SKU, które generują większość sprzedaży i marży, dostaje swoje bardziej zaawansowane modele. Długi ogon obsługujemy prostszymi podejściami grupowymi, czasem regresją na poziomie kategorii czy segmentu. Oszczędzamy moc obliczeniową i czas, koncentrując wysiłek tam, gdzie zwrot z inwestycji jest największy.

Żeby to wszystko ładnie współgrało, buduję w Power BI coś w rodzaju „feature store light”: model semantyczny z cechami typu IsHoliday, Temp_Bin, Promo_Lead_Lag, Store_Type, Academic_Town_Flag. Te same cechy wykorzystujemy w raportach i w modelach AI, dzięki czemu wyniki są spójne, a zespół nie musi zgadywać, skąd wzięła się konkretna prognoza.

## Wizualizacje sezonowości, które naprawdę pomagają w decyzjach

Na jednym z pierwszych projektów w dużej sieci spożywczej we Wrocławiu poproszono mnie: „Proszę nam pokazać sezonowość napojów, ale tak, żeby to widział też ktoś, kto nie siedzi w danych”. Skończyło się na kombinacji kilku prostych wizualizacji, które do dziś powtarzam w kolejnych wdrożeniach.

Podstawą są wykresy liniowe – do śledzenia zmian sprzedaży w czasie i oznaczania szczytów oraz dołów. Do tego dorzucam heatmapy kalendarzowe: jeden widok i od razu widać, które dni w roku są „gorące”, a które tradycyjnie spokojniejsze. Gdy dołożymy indeks sezonowy jako dodatkową miarę, łatwo porównać aktualne wyniki z typowym poziomem sezonowości.

Bardzo lubię też slopegraph – idealny do porównywania dwóch okresów, na przykład tej Wielkanocy z poprzednią, pod względem kluczowych kategorii. Od razu widać, co urosło, a co spadło i o ile.

Na dashboardach KPI koncentruję się na kilku pytaniach, które naprawdę interesują biznes:

- jak wygląda całkowita sprzedaż vs typowa sezonowość,  
- jaki jest udział promocji w sprzedaży i marży,  
- które akcje promocyjne przynoszą rzeczywisty uplift, a które tylko „zjadają” marżę,  
- jak zmieniają się stany magazynowe wobec prognozowanego popytu.

Smart Narrative, czyli inteligentna narracja, dobrze sprawdza się jako warstwa dla zarządów i osób nietechnicznych. Zamiast przechodzić przez pięć wykresów, dostają podsumowanie w stylu: „W tygodniu X sprzedaż lodów była o Y% wyższa niż typowy poziom sezonowy, głównie dzięki promocji Z i wysokim temperaturom w regionach A i B”.

## Case: napoje chłodzące i słodycze świąteczne – co pokazuje sezonowość

Podam konkretny przykład. W hurtowni pod Poznaniem analizowaliśmy kategorię napojów chłodzących. Model AI w Power BI bez problemu wykrył coroczny wzrost w czerwcu i lipcu. Ciekawie zrobiło się, gdy narzędzie oznaczyło jako anomalię silny skok sprzedaży w maju. Po dołączeniu danych pogodowych okazało się, że był to tydzień wyjątkowo wysokich temperatur – wcześniejsze niż zwykle lato.

Dla zespołu zakupowego była to mocna wskazówka: przy kolejnej fali ciepła w maju warto wcześniej podciągnąć zamówienia, zamiast czekać na „tradycyjny” sezon.

Drugi przykład to słodycze świąteczne. W danych widać tylko grudniowy szczyt. także efekt przedsprzedaży w listopadzie i wyraźne „wypalenie” kategorii po Nowym Roku. Gdy dodaliśmy do modelu cechy promo_lead i promo_lag, prognozy zaczęły dużo lepiej odwzorowywać rzeczywiste piki i spadki. Bez tego model przeszacowywał sprzedaż w tygodniu samej promocji, nie widząc, że część zakupów została „ściągnięta” z okresu przed i po.

Te przykłady pokazują, że analiza sezonowości to nie wyłącznie praca na historii. Dobrze zbudowane modele AI, zasilone danymi o pogodzie, świętach, promocjach i cenach (własnych oraz konkurencji), pozwalają reagować na zmiany w czasie zbliżonym do rzeczywistego.

## Jakie konkretne korzyści widzę u detalistów FMCG

Podczas projektu dla jednej z ogólnopolskich sieci spożywczych klient powiedział mi po kilku miesiącach: „My wreszcie przestaliśmy się kłócić o to, kto ma rację – dział zakupów, sprzedaży czy logistyka. Wszyscy patrzymy na ten sam indeks sezonowy i te same prognozy”.

Z perspektywy wyników, typowe efekty wdrożenia analizy sezonowości połączonej z AI w Power BI wyglądają następująco:

- spadek braków towarowych (OOS) w sezonowych kategoriach – szczególnie tam, gdzie wcześniej ktoś „dmuchał na zimne” i zamawiał na oko,  
- zmniejszenie nadwyżek i ryzyka przeterminowanych zapasów, dzięki lepszemu dopasowaniu wielkości zamówień do realnego popytu,  
- wzrost marży brutto poprzez precyzyjniejsze planowanie promocji i lepsze zarządzanie rabatami,  
- wzrost sprzedaży dzięki temu, że towar jest dostępny w momencie, kiedy klienci rzeczywiście go szukają,  
- spadek błędu prognoz (MAPE), co bezpośrednio przekłada się na mniej nerwowe decyzje zakupowe.

Przykładowo, w jednym z projektów wewnętrzne raporty klienta pokazały wyraźną redukcję braków towarowych w sezonowych kategoriach po wdrożeniu analizy sezonowości oraz lekkie obniżenie udziału przeterminowanych zapasów. W tym samym czasie poprawiła się też trafność prognoz, mierzona spadkiem MAPE – co przełożyło się na spokojniejsze planowanie i mniejszą liczbę interwencji „last minute”.

Poniżej syntetyczne porównanie typowych wskaźników przed i po wdrożeniu takiego podejścia:

| Wskaźnik                         | Przed wdrożeniem                         | Po wdrożeniu                                  | Zmiana (%)                    |
|----------------------------------|------------------------------------------|----------------------------------------------|-------------------------------|
| Braki towarowe (OOS)            | Wysokie, trudno przewidywalne            | Znacząco niższe w kluczowych sezonach        | wyraźny spadek                |
| Nadwyżki i przeterminowane zapasy | Częste nadmiary w spokojnych okresach   | Ograniczone dzięki lepszym prognozom         | istotny spadek                |
| Marża brutto                    | Pod presją częstych, szerokich promocji  | Wzrost dzięki selektywniejszym akcjom        | wzrost o kilka punktów bazowych |
| Sprzedaż                        | Niestabilna, mocno uzależniona od „strzałów” | Bardziej przewidywalna, stopniowe wzrosty | wzrost rok do roku            |
| Trafność prognoz (MAPE)         | Wysoki poziom błędu                      | Niższy poziom błędu po uwzględnieniu sezonowości i cech | poprawa o kilkadziesiąt procent |

## Jak to wszystko spiąć w spójny, automatyczny ekosystem

Na koniec wrócę do sceny z początku – do tego „cudownego lipca”, który okazał się efektem kalendarza dostaw. Właśnie po to buduję w Power BI spójne modele danych, indeksy sezonowe i integracje z AI: żeby odróżniać prawdziwy popyt konsumencki od wszystkich logistycznych szumów.

W dobrze poukładanym ekosystemie wygląda to tak:

- Power BI trzyma semantykę danych i cechy – coś w rodzaju lekkiego feature store,  
- modele AI (czy to wbudowane, czy hostowane w Azure ML) prognozują popyt na poziomie dnia i SKU,  
- indeks sezonowy w DAX służy jednocześnie do normalizacji danych i sanity-checku wyników,  
- wizualizacje pokazują tylko liczby. też kontekst: pogodę, święta, promocje, lokalne wydarzenia,  
- decyzje zakupowe i logistyczne opierają się na jednym, spójnym obrazie rzeczywistości.

Moim celem w takich projektach zawsze jest to, żeby technologia była „efekciarskim gadżetem”. skalowalnym kręgosłupem decyzji operacyjnych. W FMCG sezonowość to codzienność, więc im szybciej przeniesiesz ją z Excela i intuicji do dobrze zaprojektowanego modelu w Power BI z AI, tym mniej energii będziesz marnować na gaszenie pożarów, a więcej – na rozwijanie biznesu.