Fiecare retailer pe care îl întâlnim are aceeași poveste: magazinul online a vândut trei unități dintr-un produs din care depozitul avea zero, a urmat un email furios din partea clientului, iar cineva a declarat integrarea „stricată”. De obicei nu este. Ea face exact ceea ce a fost proiectată să facă - sincronizează stocul la fiecare 15 minute - iar problema este chiar design-ul.
Supravânzarea este o problemă de consistență
Sincronizarea stocului se situează pe un spectru între două costuri:
- Sincronizați prea rar și vindeți ceea ce nu aveți.
- Rezervați în timp real și plătiți pentru asta - în încărcarea API-ului ERP, în latența la finalizarea comenzii și în complexitate de inginerie.
Greșeala este să alegeți un singur punct pe acest spectru pentru întregul catalog. Un retailer cu 40.000 de SKU-uri poate avea doar 200 care ajung vreodată aproape de supravânzare - produse cu vânzare rapidă, articole promoționale, lichidarea ultimei unități. Acestea merită rezervare în timp real la finalizarea comenzii. Celelalte 39.800 sunt servite perfect de un flux batch la 15 minute.
Modelul cu trei niveluri pe care îl livrăm
- Nivelul batch - cel implicit. Nivelurile de stoc circulă ERP → magazin online, după un program. Ieftin, robust, potrivit pentru orice produs cu o adâncime de stoc sănătoasă.
- Nivelul de prag - atunci când cantitatea disponibilă scade sub un prag configurabil, SKU-ul este promovat automat la actualizări bazate pe evenimente.
- Nivelul de rezervare - finalizarea comenzii plasează o rezervare fermă în ERP înainte de confirmarea comenzii. Rezervat pentru puținele SKU-uri unde o supravânzare costă mai mult decât apelurile API.
Promovarea între niveluri este automată și bazată pe date - integrarea își urmărește propria rată de eșec și se ajustează. La șase luni după implementarea acestui sistem pentru un grup de retail baltic, supravânzările au scăzut de la un canal săptămânal de incidente la două cazuri pe trimestru, iar ambele s-au dovedit a fi solduri de stoc corectate manual în depozit - o eroare de introducere a datelor la sursă, nu un defect al sincronizării.
Proiectați integrarea în jurul costului de a greși, iar arhitectura va urma de la sine.