Dlaczego sam współczynnik zmienności nie wystarcza
Analiza XYZ mierzy jedną liczbę — jak bardzo sprzedaż rozbiega się wokół własnej średniej. To uczciwa odpowiedź na uczciwe pytanie, ale ma granicę: rozrzut nie mówi, skąd się wziął.
Weźmy cztery pozycje z demonstracyjnego zestawu danych. Wszystkie cztery trafiają według XYZ do jednej klasy — Z:
- sos sojowy, współczynnik zmienności 44,7%: sprzedaż rośnie niemal co miesiąc, ze 156 sztuk w styczniu do 739 w grudniu;
- kawa mieszanka 60/40, 76,8%: zimą około 1200 sztuk miesięcznie, w lipcu 8581 — dokładnie siedem razy więcej — a do grudnia znów 1051;
- cukier biały, 81,5%: dziewięć miesięcy spadku ze 199 sztuk do 26, ostatnie trzy miesiące zero;
- kasza kuskus, 111,5%: pięć miesięcy zer, potem sprzedaż od 29 do 259 sztuk.
Jedna litera na cztery zupełnie różne sytuacje. Pozycję rosnącą trzeba kupować z wyprzedzeniem, sezonową przed sezonem, wygasającą wyprzedać, a nowości nie ruszać i pozwolić jej nabrać rozpędu. Litera Z o tym wszystkim milczy — nie dlatego, że metoda jest zła, tylko dlatego, że odpowiada na inne pytanie.
Narzędzie liczy z tych samych kolumn jeszcze kilka wielkości, żeby te przypadki rozróżniać. O nich jest ten artykuł.
Trend: prosta przez punkty i zaufanie do niej
Pierwsze, co da się wyciągnąć z szeregu, to kierunek. Przez punkty prowadzi się prostą metodą najmniejszych kwadratów:
xᵢ = a + β · tᵢ
- xᵢ
- sprzedaż w okresie numer i
- tᵢ
- numer okresu, od 0 do N − 1
- a
- wyraz wolny, poziom na początku szeregu
- β
- nachylenie: o ile średnio zmienia się sprzedaż w okresie
Samego nachylenia w sztukach nie da się porównywać między pozycjami: +50 sztuk miesięcznie przy pozycji sprzedawanej tysiącami to szum, a przy tej schodzącej dziesiątkami — wybuchowy wzrost. Dlatego nachylenie dzieli się przez średnią i zamienia na procenty na okres: β / μ. Właśnie tę liczbę narzędzie nazywa trendem.
Nachylenie ma jednak podstępną własność: jest zawsze. Przez każdą chmurę punktów przechodzi jakaś prosta i patrząc tylko na nią, łatwo ogłosić nierówny popyt spadkiem i wysłać pozycję do wycofania. Dlatego kierunek uznaje się nie po nachyleniu, tylko po tym, ile prosta w ogóle wyjaśnia z twoich danych:
R² = 1 − SSres / SStot
- SSres
- suma kwadratów odchyleń punktów od prostej, czyli to, czego prosta nie wyjaśniła
- SStot
- suma kwadratów odchyleń punktów od średniej, cały rozrzut
- R²
- udział wyjaśnionego rozrzutu: 1 znaczy, że punkty leżą na prostej, 0 — że prosta nie wyjaśnia nic
Domyślne progi są takie. Trend liczy się w ogóle od trzech okresów i tylko przy niezerowej średniej. Kierunek uznaje się przy R² nie mniejszym niż 0,5: poniżej prosta wyjaśnia mniej niż połowę rozrzutu i narzędzie mówi, że kierunku nie ma. Dalej czyta się samo nachylenie: wzrost to więcej niż +5% na okres, spadek mniej niż −5%, a pomiędzy jest równo.
Na demonstracyjnym zestawie widać to na dwóch pozycjach. Przy sosie sojowym nachylenie wynosi +12,8% na miesiąc przy R² 0,97 — prosta biegnie niemal przez punkty i pozycja zostaje uznana za rosnącą. Przy kawie nachylenie też jest dodatnie, +1,2% na miesiąc, ale R² wynosi 0,00: letniego garbu i zimowego dołka prosta nie wyjaśnia wcale. Kierunku się nie uznaje — i słusznie, bo żadnego wzrostu tam nie ma.
Ze 120 pozycji zestawu kierunek uznano dokładnie przy trzech: dwie rosną, jedna wygasa. Pozostałe 117 jest równych i to normalny wynik: większość pozycji naprawdę nie ma trendu.
Sezonowość: najbardziej „tłuste” ciągłe okno
Współczynnik zmienności nie odróżnia pozycji sezonowej od nierównej — obie się wahają. Różni je nie rozmach, tylko gdzie leży wolumen: sezon to kilka idących po sobie okresów, nierówny popyt to rozproszone skoki.
Dlatego po szeregu przesuwa się ciągłe okno i liczy udział wolumenu, który trafił do najbardziej „tłustego” z nich:
P = Sw / S
- P
- udział szczytu: ile wolumenu zebrało się w najlepszym oknie
- Sw
- wolumen najlepszego okna: najbardziej „tłustego” odcinka kolejnych okresów
- S
- wolumen całego szeregu: suma wszystkich okresów wiersza
Progi: sezonowość liczy się od sześciu okresów — przy krótszym szeregu „okno ćwiartkowe” się wyradza. Pozycję uznaje się za sezonową, jeśli w okno szczytu trafiło 45% wolumenu lub więcej.
Przy kawie z zestawu w okno czerwiec–sierpień trafiło 56,3% rocznej sprzedaży — to pozycja sezonowa i właśnie dlatego nie da się jej planować według średniej rocznej.
A teraz uczciwe zastrzeżenie, bez którego ten rozdział byłby oszustwem. Na jednym roku danych miara widzi nie sezon, tylko szczytowość: jednorazowa letnia promocja wygląda dokładnie tak samo jak sezon powtarzający się rok w rok. Żeby je rozróżnić, potrzeba co najmniej dwóch cykli i sprawdzenia powtarzalności — tego narzędzie dziś nie robi.
Skutek widać na tym samym zestawie. Flagę sezonowości dostają trzy pozycje i tylko przy jednej chodzi o sezon:
- przy kawie okno szczytu to czerwiec–sierpień, prawdziwy letni wzrost;
- przy cukrze najlepsze okno wypadło na styczeń–marzec z udziałem 52,5% — ale to nie sezon, tylko początek dziewięciomiesięcznego spadku: na początku roku sprzedawało się najwięcej, bo dalej było już tylko mniej;
- przy kuskusie okno to październik–grudzień, 67,1%: to również nie sezon, tylko pierwsze miesiące życia nowości.
Narzędzie częściowo się ubezpiecza: martwy zapas nie trafia do podpowiedzi o szczycie, więc cukier do niej nie dochodzi. Nowość dochodzi — i jej kartę trzeba czytać razem z kartą o nowościach.
Martwy zapas i nowość: te same zera, przeciwne decyzje
Dwie pozycje mogą mieć taki sam udział okresów zerowych i wymagać przeciwnych działań. Wszystko rozstrzyga, gdzie dokładnie stoją zera.
Narzędzie liczy trzy rzeczy: ile w ogóle jest okresów bez sprzedaży, ile z nich idzie po sobie na końcu szeregu i ile na początku.
Martwy zapas to pozycja bez sprzedaży przez trzy okresy z rzędu lub więcej albo taka, w której zer jest 70% i więcej przy braku sprzedaży w ostatnim okresie. Cukier z zestawu spełnia pierwszy warunek: ostatnie trzy miesiące są zerowe. Decyzja: wyprzedać resztę i nie uzupełniać.
Nowość to przypadek lustrzany: zera na początku szeregu, a sprzedaż jest w ostatnim okresie albo przedostatnim. Kuskus pasuje dokładnie: pięć zer na początku i rosnąca sprzedaż do grudnia. Decyzja jest odwrotna — nie wycofywać, pozwolić nabrać rozpędu i nie oceniać po klasie, którą dostała na niepełnym roku.
Udział zer mają przy tym zbliżony — trzy wobec pięciu z dwunastu — a reguła oparta na samym tym udziale wysłałaby nowość do wycofania razem z martwym zapasem. Dlatego wszystkie sygnały są tu związane ze świeżością: liczy się nie ile jest zer, tylko z której są strony.
Koncentracja portfela: jak nierówno zbudowana jest lista
Poprzednie miary patrzą na jeden wiersz. Ta patrzy na całą listę naraz i odpowiada, jak nierówno rozłożony jest wkład.
Liczą się cztery liczby:
- ile pozycji zbiera 80% wolumenu — w demonstracyjnym zestawie 24 pozycje ze 120, czyli 20% listy. Niemal dosłowna reguła 80/20;
- udział największej pozycji — 7,0%;
- udział top 10% pozycji — dwanaście największych daje 57,4% wolumenu;
- współczynnik Giniego — 0,735. To miara nierówności: zero znaczyłoby, że wszystkie pozycje sprzedają się tak samo, a granica dla listy ze 120 pozycji to 0,992, gdy wszystko trzyma się na jednym wierszu.
Same w sobie te liczby niczego nie nakazują — mówią, jakiego rodzaju masz asortyment. Jeśli 80% zbierają dwie pozycje, zależysz od dwóch dostaw. Jeśli osiemdziesiąt — ogon jest za długi i praca z nim po jednej pozycji się nie zwróci. Właśnie te liczby stoją za podpowiedziami w rodzaju „struktura jest zrównoważona” albo „rozdęty ogon”.
Gdzie to widać w interfejsie

Pod tabelą raportu narzędzie pokazuje panel podpowiedzi. Żadna z opisanych wyżej miar nie staje się kolumną raportu ani nie trafia do eksportu — nie ma tam ani trendu, ani R², ani udziału okna szczytu. Żyją tylko tutaj, w sformułowaniach kart.
Jak zbudowany jest panel:
- Lista jest płaska i posortowana według ważności, a nie pogrupowana według poziomu: najpierw rzeczy krytyczne, potem reszta według wielkości wkładu. Grupowanie zepchnęłoby ważne znalezisko w dół, pod ogólne rozważania o strukturze.
- Domyślnie widoczne są pierwsze cztery karty, reszta stoi za przyciskiem „Pokaż jeszcze”. Na demonstracyjnym zestawie narzędzie wydało 24 podpowiedzi, czyli za przyciskiem zostaje dwadzieścia.
- Na każdej karcie oznaczony jest poziom — „Portfel”, „Wg klas” albo „Wg pozycji”.
- Kartę z ikoną filtra można kliknąć, a tabela pod nią pokaże tylko te wiersze, o których karta mówi. Klikalne są te, za którymi stoi konkretny zestaw wierszy: na tym zestawie 21 kart z 24. Trzy nie są klikalne i mówią o strukturze całej listy — nie ma tam czego filtrować, to cała lista.
O czym bywają podpowiedzi
Wyliczać wszystkich nie trzeba — ważniejsze jest zrozumieć trzy poziomy, na których się pojawiają.
O portfelu jako całości. Ile procent asortymentu jest w klasie Z, jak duży jest ogon, czy struktura jest blisko reguły 80/20, czy klasa C nie jest rozdęta. To rozmowa o kształcie listy, a decyzje są strategiczne: skracać asortyment, zmieniać politykę zapasów.
O klasach i komórkach. Co robić z klasą A, z klasą X, z komórką AZ, z komórką CZ. Tu podpowiedź powtarza to, co omówiono w artykule o macierzy XYZ+ABC, ale już z twoimi liczbami: ile pozycji jest w komórce i jaki udział w wyniku dają.
O pojedynczych pozycjach. Towary kluczowe, kandydaci do wycofania, pozycje z wyraźnym szczytem, rosnące pozycje w niższych klasach, nowości. To najbardziej użyteczne karty: za każdą stoi krótka lista wierszy, która otwiera się jednym kliknięciem.
Zestaw kart zależy od twoich danych: jeśli w pliku nie ma ani jednej nowości, karty o nowościach nie będzie. Dwa różne pliki dają więc różne panele, a liczba 24 z przykładu wyżej dotyczy tego pliku, a nie narzędzia.
Czego narzędzie nie robi
Lista jest krótka, ale ważna — wyznacza granicę zaufania.
- Nie prognozuje. Żadna z miar nie mówi, ile sprzedasz w przyszłym miesiącu. Trend opisuje przeszłość, a nie przewiduje przyszłości.
- Nie zamawia i nie liczy punktu zamówienia. Podpowiedź mówi „trzymaj zapas bezpieczeństwa”, ale ile dokładnie trzymać, zależy od terminów dostaw, wielkości partii i poziomu obsługi, których w pliku nie ma.
- Nie zna kontekstu. Promocja, brak towaru na magazynie, odejście dużego klienta, zmiana dostawcy — dla narzędzia to tylko liczby w komórkach. Pozycja, której przez pół roku nie było na stanie, wygląda na wygasającą, choć popyt na nią nigdzie nie zniknął.
- Nie odróżnia sezonu od jednorazowego skoku na jednym roku danych — o tym wyżej.
- Nie widzi niczego poza wybranymi kolumnami. Ani stanów, ani cen zakupu, ani marży: jeśli nie ma ich w pliku, nie ma ich we wnioskach.
Jak z tego korzystać
Kolejność, która działa.
- Najpierw przeczytać karty portfelowe — dają obraz całości, a przy okazji podpowiadają, czy w ogóle warto zmieniać progi analizy.
- Potem kliknąć te pozycyjne i obejrzeć same wiersze. Karta „kandydaci do wycofania — 1 pozycja” jest użyteczna właśnie tym, że stoi za nią konkretna pozycja, a nie rada w ogóle.
- Sprawdzić każde znalezisko własną wiedzą. Narzędzie nie wie, że kuskus to nowość wprowadzona miesiąc temu pod konkretnego klienta; wie tylko, że zera stoją na początku. Zgadza się z twoim obrazem — działaj, nie zgadza się — szukaj przyczyny w danych.
- Nie podejmować decyzji na podstawie jednej karty. „Pozycja w CZ” i „pozycja rośnie” mogą dotyczyć tego samego wiersza i sugerować coś przeciwnego. To nie sprzeczność narzędzia, tylko dwa różne ujęcia jednej sytuacji, a wybór między nimi to twoja praca.
I najważniejsze: podpowiedzi to posortowana lista miejsc, w które warto zajrzeć, a nie lista poleceń. Ich wartość polega na tym, że oszczędzają przeglądanie stu dwudziestu wierszy, a nie na tym, że podejmują decyzję za ciebie.
Co dalej
Trzy artykuły serii odpowiadają na trzy różne pytania o tym samym pliku: jak przewidywalny jest popyt, ile pozycja daje i co za tym stoi.
- Czym jest analiza XYZ — prostymi słowami — od czego wszystko się zaczyna;
- Analiza XYZ+ABC: dwie litery zamiast jednej — macierz dziewięciu komórek i decyzja przy każdej;
- Czym jest analiza ABC — prostymi słowami — druga połowa kodu.
Spójrz na własny plik
Wgraj sprzedaż miesięczną i przeczytaj podpowiedzi pod raportem — są policzone na twoich okresach. Obliczenia idą prosto w przeglądarce, plik nigdzie nie jest wysyłany.
Otwórz analizę XYZ+ABC
