Dlaczego „w sam raz” jest trudniejsze, niż się wydaje
Ustalanie zapasów bywa mylone z prostą decyzją: „kupmy więcej, żeby nie zabrakło”. W praktyce zapasy są kontraktem z przyszłością: płacisz dziś, żeby zyskać pewność dostępności jutro. Problem w tym, że przyszłość jest zmienna – popyt faluje, dostawcy mają opóźnienia, a kursy walut i ceny surowców potrafią zmienić się w kilka dni.
W polskich realiach dochodzą jeszcze typowe czynniki:
- sezonowość (np. ogrodnictwo, budowlanka, e-commerce w Q4),
- skoki popytu po kampaniach marketingowych i promocjach,
- czas dostawy zależny od przewoźników i odpraw (zwłaszcza import),
- presja na płynność (wysokie koszty finansowania, drogi kredyt obrotowy),
- koszty energii i magazynowania, które zmieniają opłacalność „trzymania na półce”.
Dlatego najlepsze firmy nie pytają: „ile mieć na magazynie?”, tylko: jaki poziom ryzyka braku akceptujemy oraz ile kosztuje nas każdy dodatkowy dzień zapasu.
Podstawowe pojęcia: co dokładnie chcesz wyznaczyć
Zanim przejdziesz do obliczeń, uporządkujmy definicje. W praktyce firmy mieszają te pojęcia, a to utrudnia wdrożenie zasad i automatyzacji w ERP/WMS.
Minimalny poziom zapasów a zapas bezpieczeństwa – nie to samo
Minimalny poziom zapasów to próg, poniżej którego nie chcesz schodzić, bo rośnie ryzyko braku towaru. Często jest to liczba ustawiona w systemie jako „min”, przy której uruchamia się alarm lub rekomendacja zamówienia.
Zapas bezpieczeństwa (safety stock) to część zapasu trzymana „na niepewność” – wahania popytu i opóźnienia dostaw. W wielu firmach minimalny próg magazynowy = zapas bezpieczeństwa, ale nie zawsze. Minimalny próg może obejmować także część zapasu operacyjnego, jeśli chcesz utrzymywać stałą dostępność lub masz ograniczenia logistyczne.
Punkt ponownego zamówienia (ROP) – klucz do działania
Punkt ponownego zamówienia (Reorder Point) mówi, przy jakim stanie magazynu należy złożyć zamówienie, aby towar dotarł zanim zapas spadnie do krytycznego poziomu. Najprościej:
- ROP = popyt w czasie dostawy + zapas bezpieczeństwa
Jeśli w systemie masz ustawiony ROP, decyzje zakupowe stają się powtarzalne i łatwiejsze do zautomatyzowania.
Stan maksymalny (MAX) i docelowy poziom (target stock)
Oprócz „min” potrzebujesz zwykle także:
- MAX – limit, powyżej którego nie chcesz kupować (pojemność, budżet, ryzyko przeterminowania),
- target stock – docelowy poziom zapasu po dostawie (np. na 2 tygodnie sprzedaży).
Para MIN–MAX albo ROP–target jest podstawą prostych polityk uzupełniania zapasów.
Co najbardziej mrozi gotówkę: koszt posiadania zapasu w polskich realiach
„Mrożenie gotówki” to nie slogan. Zapasy to pieniądz zamieniony w towar, który nie pracuje w marketingu, rozwoju produktu czy spłacie zobowiązań. Koszt posiadania (carrying cost) zwykle obejmuje:
- koszt kapitału (np. odsetki od kredytu lub utracony zysk z alternatywnego wykorzystania pieniędzy),
- koszt magazynowania (wynajem, energia, obsługa, WMS, ubezpieczenie),
- ryzyko starzenia się zapasu (przestarzałe modele, sezon, moda),
- przeterminowanie (FMCG, kosmetyki, chemia),
- straty i uszkodzenia (kradzieże, reklamacje, błędy kompletacji),
- koszty podatkowo-księgowe (np. różnice inwentaryzacyjne, odpisy).
W Polsce wiele firm odczuwa też wrażliwość na terminy płatności: gdy kupujesz towar z przedpłatą lub krótkim terminem, a sprzedajesz z odroczonym, zapas dodatkowo pogarsza cash flow.
Najczęstsze błędy w ustalaniu zapasów (i jak ich uniknąć)
1) Ustalanie „na czuja” i brak rozróżnienia SKU
Trzymanie identycznej polityki dla wszystkich produktów prowadzi do paradoksu: braki na topowych SKU i przepełniony magazyn „ogonem” sprzedażowym. Rozwiązanie: segmentacja (np. ABC/XYZ) i różne poziomy zabezpieczenia.
2) Liczenie średniej sprzedaży bez uwzględnienia zmienności
Średnia sama w sobie jest zdradliwa. Jeśli raz sprzedajesz 2 szt., a raz 200, średnia nie powie, jak duże wahania musisz pokryć. Tu potrzebujesz miary zmienności (np. odchylenie standardowe) lub chociaż analizy percentyli.
3) Pomijanie rzeczywistego lead time (a nie deklaracji dostawcy)
Dostawca deklaruje „3 dni”, ale realnie bywa 5–7 (transport, kompletacja, opóźnienia, błędy). Ustal lead time na podstawie danych historycznych: od złożenia zamówienia do przyjęcia na magazyn.
4) Brak kontroli jakości danych magazynowych
Nawet najlepszy model nie działa, jeśli stany są niezgodne (braki księgowe, błędy w jednostkach miary, niezaksięgowane WZ/PZ). Podstawa to cykliczne inwentaryzacje, porządek w indeksach i jednostkach.
Krok po kroku: jak wyznaczyć bezpieczny poziom zapasów
Poniżej masz podejście od prostego do bardziej precyzyjnego. W wielu MŚP w Polsce już wdrożenie pierwszych dwóch kroków daje zauważalną poprawę dostępności i spadek zapasu.
Krok 1: Zbierz dane i ujednolić miary
Potrzebujesz minimum:
- historii sprzedaży/zużycia (najlepiej 6–24 miesiące),
- rzeczywistych czasów dostawy (lead time),
- aktualnych stanów magazynowych i rezerwacji,
- minimalnych wielkości zamówień (MOQ), paczek logistycznych,
- danych o terminach ważności lub sezonowości (jeśli dotyczy).
Wskazówka: jeśli masz sprzedaż dzienną, licz w dniach; jeśli tygodniową, trzymaj się tygodni. Mieszanie skali (dni/tygodnie) generuje błędy.
Krok 2: Segmentuj asortyment (ABC/XYZ) i ustaw priorytety
Segmentacja pozwala dobrać politykę zapasu do tego, co naprawdę ważne:
- ABC – według wartości sprzedaży/marży: A (najważniejsze), B, C.
- XYZ – według przewidywalności popytu: X (stabilny), Y (zmienny), Z (nieregularny).
Praktyczne zastosowanie:
- AX: wysoka dostępność, sensowny zapas bezpieczeństwa, częste uzupełnienia.
- AZ: wysoka wartość, ale nieprzewidywalne – rozważ zamówienia pod klienta, krótsze serie, inne dostawy.
- CZ: ogranicz zapas do minimum, często lepiej „na żądanie”.
Krok 3: Policz popyt w czasie dostawy
Najprostszy element ROP: ile średnio sprzedajesz/zużywasz w czasie, gdy czekasz na dostawę.
- Popyt w lead time = średni popyt dzienny × lead time (dni)
Przykład: sprzedajesz średnio 10 szt. dziennie, a dostawa trwa 6 dni. W samym lead time „zejdzie” ok. 60 szt.
Krok 4: Dobierz poziom obsługi (service level), czyli akceptowane ryzyko braku
Tu podejmujesz decyzję biznesową. Inny poziom obsługi ma apteka, inny sklep z gadżetami. Typowe podejście:
- 95–99% dla kluczowych SKU (A, szybkorotujące, krytyczne części),
- 90–95% dla średnio ważnych,
- 80–90% dla „ogona” i produktów zastępowalnych.
Im wyższy poziom obsługi, tym większy zapas bezpieczeństwa, a więc większe zamrożenie gotówki. Dlatego wybieraj go świadomie per grupa asortymentu.
Krok 5: Wylicz zapas bezpieczeństwa (wariant praktyczny)
Jeśli nie chcesz wchodzić w statystykę, możesz zacząć od prostego bufora:
- Zapas bezpieczeństwa = (maksymalny dzienny popyt × maksymalny lead time) − (średni dzienny popyt × średni lead time)
To podejście działa jako „poduszka” na złe scenariusze, pod warunkiem że masz sensowne dane o maksimum (np. z ostatnich 3–6 miesięcy, a nie z pojedynczego outlieru).
Krok 6: Wylicz zapas bezpieczeństwa (wariant bardziej precyzyjny)
Jeśli masz dane i chcesz podejścia bliższego najlepszym praktykom, użyj zmienności popytu i współczynnika dla wybranego poziomu obsługi:
- Zapas bezpieczeństwa ≈ Z × σLT
Gdzie:
- Z – wartość zależna od poziomu obsługi (np. ok. 1,65 dla 95%),
- σLT – odchylenie standardowe popytu w czasie dostawy.
Uproszczona praktyka, jeśli lead time jest stały: σLT ≈ σd × √LT, gdzie σd to odchylenie standardowe dziennego popytu, a LT to liczba dni.
Wskazówka: jeśli lead time też się waha, model się rozszerza. Dla wielu MŚP sensownie jest zacząć od stałego LT, a zmienność LT ująć buforem w dniach.
Krok 7: Ustal punkt ponownego zamówienia i progi MIN/MAX
Gdy znasz popyt w lead time i zapas bezpieczeństwa:
- ROP = popyt w lead time + zapas bezpieczeństwa
Teraz – gdzie tu minimalny poziom zapasów? W wielu firmach minimalny próg w systemie ustawia się równo z ROP (żeby system „krzyczał”, gdy trzeba zamawiać). W innych – minimalny próg = zapas bezpieczeństwa, a ROP jest osobnym parametrem. Ważne, by zespół rozumiał, co oznacza próg i jaki wywołuje proces.
Stan maksymalny (MAX) wyznacz na bazie docelowych dni pokrycia, MOQ i ryzyka przeterminowania. Przykład: po dostawie chcesz mieć 21 dni zapasu, ale dostawca sprzedaje w kartonach po 50 szt. – więc target zaokrąglasz do paczek logistycznych.
Jak dobrać politykę zapasów do typu biznesu
E-commerce i retail: dostępność i szybkość
W e-commerce koszt braku jest wysoki: klient po prostu kupi u konkurencji. Dla topowych produktów warto utrzymywać wyższy poziom obsługi, ale jednocześnie unikać przeładowania magazynu „długim ogonem”. Dobre praktyki:
- osobna polityka dla bestselerów (częste uzupełnienia, krótsze cykle),
- pre-order lub „powiadom o dostępności” dla rzadkich SKU,
- limity zakupowe przy skokach popytu (ochrona przed wykupieniem),
- monitorowanie kampanii: po akcji marketingowej weryfikuj prognozy i progi.
Produkcja: zapasy surowców i komponentów
W produkcji brak jednego elementu potrafi zatrzymać całą linię. Dlatego zapas bezpieczeństwa dla komponentów krytycznych bywa wyższy, ale musi być skoordynowany z planowaniem MRP. Warto:
- oznaczyć części krytyczne (brak = przestój),
- stosować zamienniki i kwalifikować alternatywnych dostawców,
- łączyć parametry magazynowe z harmonogramem produkcji (nie tylko ze sprzedażą).
Hurt i dystrybucja B2B: terminy i partie
W dystrybucji częste są MOQ, palety, rabaty za wolumen. To kusi, by kupować „na zapas”. Zanim zaakceptujesz duży wolumen, policz:
- ile kosztuje dodatkowy rabat vs. koszt kapitału,
- czy zwiększony zapas nie podniesie odpisów i zwrotów,
- czy masz plan wyprzedaży, jeśli popyt spadnie.
Minimalny poziom zapasów a sezonowość: jak nie przegiąć
Sezonowość to jedna z głównych pułapek. Jeśli liczysz średnią z całego roku, minimalne progi będą zbyt niskie w sezonie i zbyt wysokie poza nim.
W polskich branżach sezonowych (ogrodnictwo, narzędzia, sport, budowlanka, święta w e-commerce) sprawdza się podejście:
- osobne parametry na sezon (np. kwartalnie),
- kalendarz zakupowy z wyprzedzeniem i „zamrożeniem” progów na czas kampanii,
- scenariusze: ostrożny / bazowy / agresywny (w zależności od budżetu i ryzyka).
Jeśli nie masz zasobów na złożone prognozowanie, zrób prostą rzecz: licz średnią i zmienność dla porównywalnych miesięcy (np. listopad–grudzień z ostatnich 2 lat), a nie dla całego roku.
Jak policzyć „dni zapasu” i ustalić, czy jest go za dużo
Dni pokrycia zapasu to jeden z najbardziej komunikatywnych wskaźników dla zarządu i finansów:
- Dni zapasu = stan magazynu / średnia dzienna sprzedaż
To nie jest perfekcyjne KPI (bo nie uwzględnia zmienności ani lead time), ale pomaga szybko wykryć przeinwestowanie. Warto analizować dni zapasu osobno dla grup ABC i dla magazynu jako całości.
W praktyce zastosuj też dwa filtry:
- zapas wolnorotujący (np. brak sprzedaży 60/90/180 dni),
- zapas ryzykowny (termin ważności, sezon, końcówka serii).
Równowaga: ile kosztuje brak towaru, a ile nadmiar
Bezpieczny poziom zapasów to kompromis między dwoma kosztami:
- koszt braku: utracona marża, utrata klienta, kary umowne, drogie ekspresowe dostawy, przestoje,
- koszt nadmiaru: koszt kapitału, magazyn, odpisy, promocje czyszczące.
Jeśli chcesz podejścia stricte biznesowego, wyceń brak: np. ile marży tracisz, gdy nie masz towaru przez 3 dni? Ile kosztuje ekspresowy transport? Jak często klient nie wraca? Nawet przybliżona wycena pozwala podjąć lepszą decyzję o poziomie obsługi.
Jak wdrożyć zasady w firmie: proces, nie jednorazowe wyliczenie
Ustal właściciela parametrów i rytm przeglądów
Parametry zapasów psują się z czasem. Zmieniają się trendy, dostawcy, czasy dostaw i ceny. Dlatego potrzebujesz procesu:
- właściciel (zakupy / planowanie / supply chain),
- cykl przeglądu (np. co miesiąc dla A, co kwartał dla B, co pół roku dla C),
- reguły wyjątków (np. nowości, wycofania, promocje).
Uzgodnij wspólny język z finansami
Magazyn i finanse często patrzą na zapasy inaczej. Pomaga wprowadzenie prostych raportów:
- wartość zapasu vs. budżet,
- rotacja zapasów i dni zapasu,
- poziom dostępności (fill rate) dla kluczowych SKU,
- wartość zapasu wolnorotującego.
Wtedy rozmowa o tym, czy minimalny poziom zapasów jest dobrze ustawiony, opiera się na danych, a nie na emocjach po pojedynczym braku.
Zadbaj o parametry logistyczne: MOQ, pełne kartony, palety
Nawet idealny ROP nie pomoże, jeśli zamówienia muszą być w pełnych kartonach, a Ty liczysz w sztukach. Ustal:
- jednostkę zakupu (karton, paleta),
- przeliczniki w systemie,
- minimalne partie i harmonogram dostaw.
Przykład praktyczny: proste wyznaczenie progów dla jednego SKU
Załóżmy:
- średnia sprzedaż: 12 szt./dzień,
- lead time średni: 5 dni,
- lead time maksymalny: 8 dni,
- maksymalna sprzedaż dzienna (ostatnie 60 dni): 20 szt.
1) Popyt w lead time (średni): 12 × 5 = 60 szt.
2) Zapas bezpieczeństwa (wariant praktyczny): (20 × 8) − (12 × 5) = 160 − 60 = 100 szt.
3) ROP: 60 + 100 = 160 szt.
Interpretacja: gdy stan (pomniejszony o rezerwacje) spadnie do ok. 160 szt., składasz zamówienie. Czy to dużo? Zależy od marży, kosztu braku i kosztu kapitału. Ale masz punkt startowy, który uwzględnia i popyt, i ryzyko opóźnień.
Nowości i produkty bez historii sprzedaży: jak ustawić progi bez danych
Wprowadzając nowy produkt, nie masz statystyki. Wtedy podejdź „kontrolowanie ostrożnie”:
- zamów minimalną sensowną partię (MOQ) i obserwuj,
- ustaw krótki cykl przeglądu (np. co tydzień przez 6–8 tygodni),
- bazuj na analogach (podobne SKU) i współczynniku kanibalizacji,
- jeśli to możliwe, negocjuj z dostawcą mniejsze partie na start.
W praktyce dla nowości minimalny próg powinien chronić przed wpadką wizerunkową (brak w dniu premiery), ale nie generować dużego zapasu, jeśli produkt „nie chwyci”.
Jak zmniejszać zapas bez spadku dostępności: 9 działań o dużym wpływie
- Skracaj lead time (lokalny dostawca, lepsza logistyka, stałe okna dostaw) – mniejszy lead time to mniejszy bufor.
- Stabilizuj popyt (mniej chaotycznych promocji, plan marketingu zsynchronizowany z zakupami).
- Wprowadź zamienniki i listy produktów alternatywnych w sprzedaży.
- Ustal progi różnie dla ABC/XYZ – nie wszystko zasługuje na ten sam poziom obsługi.
- Automatyzuj uzupełnianie (min-max, ROP) i ogranicz ręczne „przeklikanie”.
- Czyść ogon: regularne akcje na wolnorotach (bundle, wyprzedaż, marketplace, zwroty do dostawcy).
- Negocjuj warunki: mniejsze MOQ, częstsze dostawy, konsygnacja, VMI.
- Popraw jakość danych – mniej „zapasów duchów” i niepotrzebnych domówień.
- Mierz fill rate i OOS – bo celem nie jest „mało zapasu”, tylko dobry zapas.
Kontrola i KPI: po czym poznasz, że parametry są dobre
Żeby ocenić, czy Twoje progi działają, potrzebujesz kilku wskaźników:
- Fill rate (zrealizowane pozycje od ręki / wszystkie pozycje) – najlepiej dla grup A osobno.
- OOS (out of stock) – liczba dni/braków na kluczowych SKU.
- Rotacja zapasów – jak często zapas „obraca się” w roku.
- Dni zapasu – trend w czasie, nie tylko wartość punktowa.
- Wartość wolnorotów – ile kapitału utknęło w towarach bez ruchu.
Pro tip: nie ustawiaj celu wyłącznie na „redukcję wartości magazynu”. Jeśli premiujesz tylko obniżanie zapasu, zespół naturalnie obniży dostępność. Cel powinien łączyć dostępność i kapitał (np. fill rate ≥ 96% dla A przy spadku dni zapasu o 10%).
Checklist: szybkie wdrożenie w 14 dni (dla MŚP)
- Dzień 1–2: porządek w danych (jednostki, lead time, sprzedaż).
- Dzień 3–4: segmentacja ABC i lista SKU krytycznych.
- Dzień 5–7: wyliczenie ROP i buforów dla grupy A (top 20% SKU).
- Dzień 8–10: ustawienie MIN/MAX w systemie + reguły wyjątków (promocje, sezon).
- Dzień 11–14: dashboard KPI i rytm przeglądów (miesięczny dla A).
To podejście daje szybkie efekty bez wielomiesięcznego projektu.
Podsumowanie: „w sam raz” to polityka ryzyka, a nie jedna liczba
Bezpieczny poziom zapasów wynika z danych (popyt, lead time, zmienność) i decyzji biznesowej (jaki poziom obsługi jest potrzebny). Dobrze ustawiony minimalny poziom zapasów nie powinien być stałą „magiczną liczbą” na lata – to parametr, który dojrzewa razem z firmą, asortymentem i dostawcami.
Jeśli chcesz zacząć od małego kroku, zrób dwie rzeczy: segmentuj SKU i ustaw punkt ponownego zamówienia dla najważniejszych produktów. Już to zwykle ogranicza braki, a jednocześnie pozwala stopniowo uwalniać gotówkę z nadmiaru zapasu.