Jak grupować produkty na podstawie szybkości rotacji na magazynie?

Magazyn jako źródło decyzji reklamowych

Baner wejsciowyParallax

Jak grupować produkty na podstawie szybkości rotacji na magazynie?

Magazyn jako źródło decyzji reklamowych

Autor nie posiada zdjęcia
Tomasz Piasecki
30 stycznia 2026

Kiedy pytam w sklepie o listę bestsellerów, dostaję zestawienie sprzedanych sztuk. Kiedy pytam, jak długo dany towar leży na półce, zwykle zapada cisza albo ktoś obiecuje „sprawdzić w systemie”. A to druga liczba jest znacznie ciekawsza z punktu widzenia reklamy.

Sprzedane sztuki mówią, co się sprzedaje. Rotacja mówi, ile pieniędzy sklep trzyma zamrożone w towarze i jak długo. To zupełnie inna informacja i prowadzi do innych decyzji: czasem każe wstrzymać promocję dobrze sprzedającego się produktu, a czasem dołożyć budżet pozycji, która w rankingu sprzedaży jest daleko.

Pracowałem tak z kilkoma sklepami i za każdym razem najtrudniejszy był nie dobór grup, a uzgodnienie definicji. Poniżej opisuję, jak to liczę i jak przekładam na kampanie.

Co właściwie mierzę

Rotacja to relacja sprzedaży do zapasu. Można ją zapisać na dwa sposoby i oba są w porządku, byle nie mieszać ich w jednym zestawieniu.

Pierwszy: ile razy zapas „obrócił się” w danym okresie, czyli sprzedane sztuki podzielone przez średni stan magazynowy. Drugi, dla mnie wygodniejszy w rozmowie z klientem: ile dni wystarczy obecnego zapasu przy dotychczasowym tempie sprzedaży. Druga liczba jest zrozumiała dla każdego i od razu podpowiada decyzję — trzysta dni zapasu brzmi inaczej niż „rotacja 1,2″.

Ustalam też trzy parametry, bez których wynik jest nieporównywalny. Okno czasowe: zwykle trzydzieści dni na decyzje bieżące i dziewięćdziesiąt na ocenę strukturalną. Jednostkę: sztuki, nie wartość, bo wartość zmienia się przy każdej obniżce. I wreszcie sposób traktowania zwrotów, który w części kategorii przewraca cały obraz.

Pilnuję jednej rzeczy: liczby liczę na poziomie, na którym sprzedaję. Jeśli w reklamie występuje wariant koloru, to rotację liczę dla warianta, a nie dla modelu.

Pułapki w danych, przez które wnioski są fałszywe

Zanim pokażę komukolwiek podział, sprawdzam cztery rzeczy, bo każda z nich potrafi wywrócić ranking.

  • Produkty bez historii — nowość wprowadzona dwa tygodnie temu wygląda w każdej metodzie na skrajność. Trzymam je w osobnym koszyku, dopóki nie zbiorą pełnego okna.
  • Braki magazynowe w okresie pomiaru — pozycja, której nie było na stanie przez trzy tygodnie, ma zaniżoną sprzedaż nie z powodu popytu. Liczę wtedy tempo tylko dla dni dostępności.
  • Sezonowość — w kategoriach sezonowych porównuję rok do roku, nie miesiąc do miesiąca, i nigdy nie zwijam sezonu do jednej średniej.
  • Zamówienia hurtowe i sprzedaż poza sklepem — jedna duża faktura potrafi zrobić z pozycji martwej pozycję rekordową, mimo że w kanale reklamowym nic się nie zmieniło.

To nużąca robota, ale bez niej cały podział jest ładnym wykresem bez związku z magazynem. Zwykle zajmuje mi więcej czasu niż wszystko, co potem robię w Google Ads.

Podział, do którego zawsze wracam

Próbowałem bardziej wyrafinowanych schematów, z klasyfikacją na trzy litery i macierzą wartości. W praktyce zawsze kończę na czterech koszykach, bo tyle da się utrzymać i wytłumaczyć.

  • Szybka rotacja, przyzwoita marża — fundament. Tu chcę pełnej widoczności i nie oszczędzam.
  • Szybka rotacja, niska marża — sprzedaje się samo, więc dopłacanie do każdej sztuki jest najdroższym sposobem robienia obrotu. Traktuję to jako kandydata do ograniczenia, nie do wyłączenia.
  • Wolna rotacja, duży zapas — najbardziej kosztowna grupa dla sklepu i najciekawsza dla reklamy, bo tu pieniądze naprawdę stoją.
  • Wolna rotacja, mały zapas — pozycje uzupełniające ofertę. Nie warto o nie walczyć osobno, ale i nie warto ich wyrzucać z widoczności.

Progi między szybką i wolną rotacją ustalam z klientem na danych, a nie z podręcznika — inaczej wyglądają w kategorii z produktami spożywczymi, inaczej w meblach. Zapisuję je w jednym miejscu wraz z datą ustalenia i przeglądam raz na kwartał.

Jak te dane docierają do reklam

Podział musi trafić do pliku produktowego, bo poza nim system reklamowy nie wie nic o magazynie. Dostępność to za mało: informuje tylko, czy towar jest, a nie jak długo już jest.

Najstabilniejszy układ, jaki udało mi się wdrożyć, wygląda tak. Raz na dobę z systemu magazynowego albo z bazy sklepu wychodzi zestawienie z identyfikatorem pozycji, stanem i sprzedażą z ostatniego okna. Osobny krok przelicza to na tempo i przypisuje koszyk. Wynik wpada do pliku dodatkowego, dołączanego do głównego po identyfikatorze — i to jest jedyne miejsce, w którym reklama styka się z magazynem.

Ważne, żeby cała logika była w tym jednym kroku przeliczającym, a nie rozsypana po regułach w panelu. Gdy po pół roku ktoś pyta, dlaczego produkt wpadł do „wolnej rotacji”, chcę mieć jedną odpowiedź, a nie trzy miejsca do sprawdzenia.

I rzecz banalna, o którą potykałem się osobiście: identyfikatory muszą być te same po obu stronach. Jeśli magazyn operuje kodem wewnętrznym, a plik produktowy identyfikatorem ze sklepu, potrzebna jest tabela łącząca i ktoś, kto ją utrzymuje.

Co robię z każdą grupą w kampaniach

Tu ten podział zaczyna zarabiać, ale zaznaczę od razu: żadna z tych decyzji nie jest automatyczna i wszystkie wymagają zgody osoby odpowiedzialnej za zakupy.

Grupa szybko rotująca z marżą dostaje najwyższy priorytet i osobny, spokojny cel. Grupa szybko rotująca bez marży trafia do kampanii z celem zauważalnie wyższym — jeśli sprzedaje się sama, niech reklama do niej dokłada mniej. Wolna rotacja z dużym zapasem to jedyna grupa, przy której rozmawiam o obniżeniu wymagań co do zwrotu, bo tu porównuję koszt reklamy nie z marżą, a z kosztem dalszego trzymania towaru. Ostatnia grupa zostaje w kampanii ogólnej i po prostu jej nie utrudniam.

Dwie rzeczy robię przy okazji, choć nie dotyczą stawek. Wyłączam z promocji pozycje, których zapas skończy się w kilka dni, żeby nie płacić za ruch na produkt, którego zabraknie w połowie tygodnia. I odwrotnie — pozycje z ogromnym zapasem i zerowym zainteresowaniem oddaję z powrotem do działu handlowego, bo problemem nie jest reklama, tylko cena albo opis.

Jak nie utopić się w tym procesie

Największym ryzykiem nie jest błąd w liczeniu, a to, że po dwóch miesiącach nikt tego nie pilnuje.

Trzymam się więc kilku ograniczeń. Cztery koszyki, nie dwanaście. Jedno okno pomiaru do decyzji bieżących. Jeden przegląd w miesiącu, z góry umówiony, na którym zestawiam podział z wynikami i pytam, czy progi nadal mają sens. Żadnych zmian struktury kampanii w tygodniu z dużą promocją.

Warto też z góry uzgodnić, kto podejmuje decyzję, gdy dane i intuicja handlowa się rozjeżdżają. Zdarza się, że pozycja o fatalnej rotacji jest w ofercie z powodów, o których nie wiem — bo dopełnia zestaw albo wynika z umowy z dostawcą. Moja rola kończy się na pokazaniu kosztu tej decyzji, a nie na jej podjęciu.

Jeśli miałbym z tego wpisu zostawić jedno zdanie, brzmiałoby ono tak: reklama nie jest osobnym światem od magazynu i im szybciej te dwa zestawy liczb spotkają się w jednym pliku, tym mniej pieniędzy leży bez ruchu.

Podziel się tym artykułem z innymi!

Twitter Facebook Linke.din
Autor nie posiada zdjęcia
Tomasz Piasecki
Specjalista Google Ads / SEM
Zajmuję się kampaniami Google Ads i widocznością stron w wyszukiwarce. Na blogu UDI Group piszę o tym, jak ustawienia kampanii i decyzje techniczne przekładają się na realne wyniki. Staram się tłumaczyć mechanizmy, a nie tylko podawać gotowe przepisy.