E-commerce · Planificarea stocului
Cum calculezi cantitatea de comandat și data epuizării per SKU din instantaneele zilnice de stoc
Cantitatea de comandat per SKU este viteza zilnică de vânzare înmulțită cu zilele până la următoarea livrare plus o rezervă, minus ce e în stoc și ce e deja pe drum. Viteza se poate citi din instantaneele zilnice de stoc, dar numai după ce corectezi reaprovizionările, rupturile de stoc și rândurile de stoc dublate, iar marfa „pe drum” trebuie luată din ce s-a încărcat efectiv, nu din ce s-a comandat.
Actualizat
La ce răspunde un plan de reaprovizionare per SKU
Un plan de reaprovizionare per SKU răspunde la două întrebări: câte bucăți comanzi acum și în ce zi se termină stocul actual. Formula pe care o folosim este comandă = ceil(viteză × (termen_livrare + zile_siguranță) − stoc − pe_drum), minim 0. Zilele de acoperire sunt stoc ÷ viteză, iar data epuizării este ziua de azi plus zilele de acoperire.
Viteza este numărul de bucăți pe care un SKU (o variantă vandabilă, cu cod propriu) îl vinde pe zi. Termenul de livrare înseamnă zilele de la trimiterea comenzii către furnizor până când marfa poate fi vândută. Zilele de siguranță sunt o rezervă pentru întârzieri și vârfuri de cerere. „Pe drum” este marfa deja comandată, care încă n-a ajuns.
O alertă de stoc mic și un plan de reaprovizionare sunt unelte diferite. Alerta spune ce SKU-uri se termină. Planul spune câte bucăți cumperi și când, iar asta contează cel mai mult când marfa vine pe container și termenul e lung.
Cum citești viteza de vânzare din instantaneele zilnice de stoc
Un instantaneu zilnic de stoc este un rând per SKU per zi, cu cantitatea disponibilă. Instantaneele sunt o sursă comodă pentru viteză fiindcă există pentru fiecare SKU, în fiecare zi, într-un singur tabel, chiar și acolo unde comenzile sunt împărțite între mai multe sisteme.
1. Adună scăderile zilnice. Viteza pe zi = suma lui max(stoc_ieri − stoc_azi, 0) pe fereastră, împărțită la numărul de zile. Creșterile sunt reaprovizionări și se ignoră. Fereastra noastră implicită are 28 de zile.
2. Nu folosi diferența netă pe fereastră. O formulă mai simplă, stocul de acum 28 de zile minus stocul de azi, greșește ori de câte ori în fereastră intră o livrare: recepția anulează vânzările și SKU-ul pare lent. Dacă aduni doar scăderile, problema dispare.
3. Tratează rezultatul ca pe o aproximare. O renumărare sau o corecție manuală de stoc apare tot ca scădere, deci viteza din instantanee poate număra o corecție drept vânzare. Pentru produsele rapide, verifică cifra cu comenzile livrate înainte de o comandă mare.
4. Ordonează după cât costă ruptura. Viteza înmulțită cu prețul dă vânzările pierdute pe zi fără stoc. Punem întâi SKU-urile care trebuie comandate, apoi crescător după zilele de acoperire, apoi după această cifră zilnică.
Un exemplu calculat, cu cifre ipotetice
Cifrele de mai jos sunt rotunde și ipotetice, alese ca aritmetica să fie ușor de urmărit. Nu vin din niciun magazin al nostru.
Date de intrare: viteză 10 bucăți pe zi, termen de livrare 30 de zile, rezervă 14 zile, 200 de bucăți în stoc, 100 de bucăți pe drum.
Pasul 1. Bucăți necesare până la următoarea livrare plus rezervă: 10 × (30 + 14) = 10 × 44 = 440.
Pasul 2. Cantitatea de comandat: 440 − 200 − 100 = 140 de bucăți.
Pasul 3. Zile de acoperire: 200 ÷ 10 = 20 de zile. Stocul se termină peste 20 de zile, adică înainte de termenul de 30 de zile, așa că SKU-ul se comandă azi și e marcat cu roșu: rămâne fără marfă înainte să sosească alta.
Un SKU fără nicio vânzare în fereastră are acoperire infinită. Planul nu-l comandă, ceea ce e corect pentru un produs mort și greșit pentru unul care n-a vândut nimic doar pentru că n-a avut stoc. Secțiunea următoare tratează exact cazul ăsta.
Cum corectezi cererea ascunsă de o ruptură de stoc
Ruptura de stoc cenzurează cererea: un produs fără stoc nu vinde nimic, viteza lui recentă e zero și planul îl sare. Soluția este să măsori viteza doar pe zilele în care produsul a fost efectiv la vânzare.
Pentru fiecare SKU, viteza = bucăți vândute ÷ zile active de vânzare (de la prima la ultima vânzare) × 30, adică bucăți pe lună cât timp produsul a fost disponibil. Un produs cu 240 de bucăți în 267 de zile vinde cam 27 pe lună și trece înaintea unuia cu 300 în 400 de zile, cam 22,5 pe lună. Avem încredere în cifră doar peste aproximativ 20 de bucăți și 21 de zile active.
Cererea anuală pentru dimensionare este max(vânzări în ultimele 12 luni, rata lunară cu stoc × 12). Cantitatea finală este max(0, cerere anuală × luni de acoperire ÷ 12 − stoc), rotunjită la 50, cu încă aproximativ 20% pe primele 3 produse, ca să nu se rupă în vârf de sezon.
Sezonalitatea și data sosirii
O comandă către furnizor se judecă la data la care ajunge marfa, nu la data la care o trimiți. Un produs de primăvară sau de vară care aterizează la început de toamnă stă ca stoc mort șase până la opt luni, până îi revine sezonul.
Și invers. O linie care în luna de vârf vinde de trei până la patru ori volumul de vară trebuie dimensionată pe cererea anuală, care include vârful, nu pe luna medie. Citește vânzările lună cu lună înainte să dimensionezi, niciodată un singur număr mediu.
Înainte să plece o comandă către furnizor verificăm trei lucruri: produse sezoniere care ajung în extrasezon, SKU-uri recomandate de planul de reaprovizionare dar lipsă din comandă și produse foarte vândute, ajunse la stoc zero, pe canale pe care raportul de reaprovizionare nu le vede.
Capcanele în care am căzut și cum le prindem acum
Stocul repetat pe fiecare listare. Când mai multe magazine vând din același stoc comun, aceeași cifră apare identic pe fiecare listare a SKU-ului. Dacă aduni rândurile, multiplici stocul. Ia stocul o singură dată per SKU și adună vânzările tuturor canalelor.
Stocul de azi comparat cu comenzi vechi. Am semnalat odată 166 de comenzi drept „în așteptarea unei mărfi inexistente”, comparând stocul zero de azi cu comenzi plasate cu zile în urmă. Marfa existase când fuseseră plasate. Întrebarea corectă era dacă a mai plecat ceva cu acel SKU după plasarea comenzii. Cu testul ăsta, lista a scăzut la 26 de comenzi, fiecare ultima la rând pentru SKU-ul ei.
Marfa pe drum pe care n-a numărat-o nimeni. Într-unul dintre sisteme, un container marcat „sosit” împingea cantitățile așteptate direct în stocul vandabil, fără numărătoare. Un container a fost marcat sosit înainte de data estimată. Magazinele au vândut bucăți care nu erau pe raft. Marfa pe drum și cea recepționată trebuie să vină dintr-o numărătoare, nu dintr-o listă de colisaj.
Sistemul de comenzi nu e lista de colisaj. Liniile unei comenzi pot fi anulate în sistemul de comenzi și totuși produse și încărcate. Ce e într-un container se citește din lista de colisaj a furnizorului, și verificăm ambele surse înainte să spunem că ceva nu mai vine.
Zeroul care ascunde un minus. Dacă tai stocul negativ la zero, SKU-urile vândute peste stoc par doar goale. Păstrează semnul și ține produsele cu stoc zero vizibile în rapoarte, altfel tocmai produsele care au cea mai mare nevoie de comandă dispar din listă.
Unde am greșit
Primele noastre dimensionări comandau mai ales SKU-urile cu stoc zero. Nevoia mai mare era în altă parte: produsele foarte vândute, rapide, cu stoc subțire, care s-ar fi rupt în vârf de sezon. Un produs bine vândut, cu acoperire mare, nu are nevoie de nimic, oricât de mult ar vinde; unul rapid cu acoperire mică are nevoie de cea mai mare comandă. Declanșatorul sunt zilele de acoperire, nu nivelul stocului.
Am avut încredere și într-un raport de reaprovizionare construit pe un singur sistem de expediere. Magazinele care expediau prin alt sistem nu aveau niciun rând în el, deci produsele lor foarte vândute, ajunse la zero, erau invizibile și lipseau din comandă. Verifică direct fiecare canal de vânzare.
Limite
Planul e atât de bun cât e termenul de livrare introdus. Valoarea implicită de 30 de zile e doar un loc ținut; furnizorii locali și containerele pe mare au nevoie de cifra lor reală. Viteza din instantanee e o aproximare pe care corecțiile și renumărările o pot strica. Acolo unde istoricul de instantanee e scurt, viteza se sprijină pe mai puține zile și e mai zgomotoasă. Costul unei comenzi calculat din costurile unitare e subestimat oriunde lipsește un cost unitar.
Metoda nu prezice nici o lansare, o promoție sau un canal nou. Acolo e nevoie de un multiplicator explicit, ales de un om și scris lângă plan.
Listă de verificare
1. Viteza. Din suma scăderilor zilnice, nu din diferența netă.
2. SKU-urile rupte. Viteza doar pe zilele cu stoc.
3. Stocul comun. Numărat o dată per SKU, cu vânzările adunate pe toate canalele.
4. Termenul de livrare. Cifra reală a fiecărui furnizor.
5. Marfa pe drum. Din cantități numărate sau încărcate, după ce verifici dacă au apărut containere noi.
6. Declanșatorul. Comanzi tot ce are mai puține zile de acoperire decât termenul de livrare.
7. Sezonul. Compari data sosirii cu sezonul produsului.
8. Vizibilitatea. Stocul negativ și cel zero rămân în fiecare raport.
Întrebări și răspunsuri
Cum calculez cantitatea de comandat pentru un SKU?
Cantitatea = viteza zilnică × (termen de livrare + zile de siguranță) − bucăți în stoc − bucăți deja pe drum, rotunjită în sus și niciodată sub zero. Viteza e numărul de bucăți vândute pe zi, termenul e numărul de zile până când marfa comandată poate fi vândută, iar zilele de siguranță sunt o rezervă. La 10 bucăți pe zi, termen de 30 de zile și 14 zile de rezervă îți trebuie 440; cu 200 în stoc și 100 pe drum, comanzi 140.
Cum aflu data la care se termină stocul unui produs?
Împarte bucățile din stoc la viteza zilnică de vânzare și obții zilele de acoperire, apoi adaugă acele zile la data de azi. Dacă zilele de acoperire sunt mai puține decât termenul de livrare al furnizorului, produsul se termină înainte să poată sosi o comandă nouă, deci comanda trebuie trimisă acum. Un produs fără vânzări în fereastră are acoperire nelimitată și formula nu-l comandă.
Pot calcula viteza de vânzare din instantaneele de stoc în loc de comenzi?
Da, ca aproximare. Ia un instantaneu cu stocul disponibil per SKU în fiecare zi, adună scăderile zilnice pe o fereastră, de exemplu 28 de zile, ignoră creșterile fiindcă sunt reaprovizionări și împarte la numărul de zile. Corecțiile manuale și renumărările apar și ele ca scăderi, așa că verifică produsele rapide cu comenzile livrate înainte de o comandă mare.
De ce un produs fără stoc pare să nu aibă cerere?
Un produs fără stoc nu poate vinde, deci vânzările lui recente sunt zero chiar dacă clienții îl vor. Măsoară viteza doar pe zilele în care produsul a fost la vânzare, de exemplu bucăți vândute împărțite la zilele active de vânzare, ori 30 pentru o rată lunară. Pentru dimensionare folosește valoarea mai mare dintre vânzările din ultimele 12 luni și această rată cu stoc înmulțită cu 12.
Dimensionez comanda către furnizor pe media lunară a vânzărilor?
Nu, la produsele sezoniere. O linie care în luna de vârf vinde de trei până la patru ori volumul de vară rămâne fără marfă dacă o dimensionezi pe luna medie. Uită-te la vânzări lună cu lună, dimensionează pe cererea anuală care include vârful și verifică data sosirii: un produs de vară care ajunge toamna așteaptă șase până la opt luni să-i vină sezonul.
Cum se citează
Going Stellar (2026). Cum calculezi cantitatea de comandat și data epuizării per SKU din instantaneele zilnice de stoc. GOING STELLAR S.R.L..
https://goingstellar.ro/ro/metode/planificare-reaprovizionare-instantanee-stoc/