Bagaimana Machine Learning Memprediksi Kehabisan Stok 3 Minggu Sebelum Terjadi
Sebuah retailer kecantikan menengah yang mengelola sekitar 3.500 SKU memiliki masalah yang terus berulang. Setiap bulan, 8-12% produk terlaris mereka mencapai nol inventaris sebelum pengisian ulang tiba. Setiap kehabisan stok pada produk populer merugikan mereka sekitar $2.800 per hari dalam penjualan yang hilang, belum termasuk kerusakan hubungan baik dengan pelanggan dan biaya iklan yang terbuang untuk mengarahkan traffic ke halaman produk yang stoknya habis.
Tim inventaris mereka memeriksa level stok setiap hari dan melakukan pemesanan ulang ketika inventaris mencapai ambang batas yang telah ditentukan. Masalahnya adalah ambang batas tersebut bersifat statis, yaitu jumlah unit tetap berdasarkan rata-rata penjualan harian selama 90 hari terakhir. Ketika permintaan melonjak karena sebutan viral di TikTok atau kompetitor kehabisan stok pada produk serupa, ambang batas statis tidak bisa bereaksi cukup cepat.
Mengapa Titik Pemesanan Ulang Statis Gagal
Titik pemesanan ulang statis mengasumsikan bahwa permintaan di masa depan akan terlihat seperti permintaan di masa lalu dan bahwa waktu tunggu pemasok konsisten. Kedua asumsi ini sering kali tidak berlaku. Permintaan untuk SKU individual dalam ecommerce bersifat tidak merata. Sebuah produk mungkin terjual 20 unit per hari selama tiga minggu dan kemudian tiba-tiba terjual 60 unit per hari karena seorang influencer menyebutkannya, kompetitor menaikkan harga mereka, atau pergeseran musiman terjadi. Pada saat Anda menyadari percepatan tersebut dalam pemeriksaan inventaris harian, Anda mungkin sudah dua minggu berada dalam permintaan yang meningkat dengan waktu tunggu pemasok tiga minggu di depan Anda.
Waktu tunggu pemasok sama-sama bervariasi. Pemasok yang biasanya mengirim dalam 14 hari mungkin membutuhkan 21 hari selama musim sibuk mereka, setelah kekurangan bahan baku, atau karena keterlambatan pengiriman. Jika titik pemesanan ulang Anda mengasumsikan waktu tunggu 14 hari dan waktu tunggu aktualnya 21 hari, Anda memiliki celah tujuh hari di mana Anda menjual inventaris yang Anda kira sudah diisi ulang.
Apa yang Dipantau Model ML
Model prediksi kehabisan stok memproses beberapa aliran data secara bersamaan. Input utama adalah kecepatan penjualan, bukan sebagai rata-rata sederhana tetapi sebagai time-series dengan komponen tren dan musiman. Model mendeteksi percepatan (terjual lebih cepat dari minggu lalu), perlambatan, dan pola siklis yang spesifik untuk setiap SKU.
Posisi inventaris (stok saat ini ditambah unit dalam perjalanan dikurangi unit yang dialokasikan untuk pesanan tertunda) memberikan model sisi pasokan dari persamaan tersebut. Dikombinasikan dengan prediksi permintaan, model menghitung metrik estimasi hari-persediaan yang diperbarui secara dinamis.
Data kinerja pemasok menambahkan dimensi yang krusial. Dengan melacak tanggal pengiriman aktual vs. yang diharapkan untuk setiap pemasok dari waktu ke waktu, model membangun distribusi waktu tunggu yang mungkin daripada menggunakan estimasi titik tunggal. Jika Pemasok A mengirim dalam 12-18 hari dengan median 14, model menggunakan distribusi penuh saat menghitung probabilitas kehabisan stok.
Sinyal eksternal memberikan peringatan dini tentang pergeseran permintaan. Volume pencarian untuk produk atau kategori di Google, sebutan di media sosial, level stok kompetitor (sering kali terdeteksi melalui halaman produk mereka yang menunjukkan ketersediaan terbatas), dan kalender musiman semuanya masuk ke dalam perkiraan permintaan. Lonjakan tiba-tiba dalam volume pencarian Google untuk suatu produk sering kali mendahului lonjakan penjualan sebesar 5-10 hari, yang memberikan model sinyal awal bahwa lintasan inventaris saat ini mungkin tidak bertahan.
Jendela Peringatan Tiga Minggu
Model menghasilkan probabilitas kehabisan stok untuk setiap SKU pada berbagai horizon waktu: 7 hari, 14 hari, dan 21 hari ke depan. Peringatan tipikal mungkin terlihat seperti ini: SKU #4892 (Vitamin C Serum 30ml) saat ini memiliki 340 unit tersedia. Pada kecepatan penjualan saat ini sebesar 28 unit per hari, stok habis dalam sekitar 12 hari. Namun, tren permintaan menunjukkan percepatan 15% minggu-ke-minggu. Estimasi penipisan yang disesuaikan adalah 9 hari. Pengiriman pengisian ulang berikutnya sebanyak 500 unit diperkirakan tiba dalam 16 hari berdasarkan distribusi waktu tunggu pemasok. Probabilitas kehabisan stok dalam 14 hari adalah 78%.
Dengan jendela tiga minggu ini, tim inventaris memiliki opsi. Mereka dapat mempercepat pesanan yang ada dengan pemasok, mungkin membayar premium untuk pengiriman lebih cepat. Mereka dapat menempatkan pesanan jembatan yang lebih kecil dengan pemasok alternatif yang memiliki waktu tunggu lebih pendek. Mereka dapat mengurangi pengeluaran pemasaran pada produk tersebut untuk memperlambat permintaan sambil mempertahankan penjualan organik. Mereka dapat menyiapkan notifikasi stok-tersedia-kembali untuk menangkap permintaan selama periode kehabisan stok.
Tanpa peringatan dini, tidak satu pun dari opsi mitigasi ini tersedia. Pada saat seorang manusia menyadari inventaris rendah melalui pemeriksaan manual, waktu tunggu sudah menggerus sisa stok.
Membangun Model
Implementasi teknis menggunakan kombinasi peramalan time-series untuk permintaan (biasanya Prophet atau model LSTM kustom) dan model klasifikasi untuk probabilitas kehabisan stok. Model klasifikasi mengambil perkiraan permintaan, posisi inventaris saat ini, dan distribusi waktu tunggu pemasok sebagai input dan menghasilkan probabilitas kehabisan stok dalam setiap jendela waktu.
Data pelatihan berasal dari catatan inventaris historis Anda. Setiap kehabisan stok di masa lalu adalah contoh positif, dan setiap SKU yang mempertahankan stok memadai selama periode tertentu adalah contoh negatif. Anda membutuhkan setidaknya 12-18 bulan snapshot inventaris harian dengan data penjualan yang sesuai untuk melatih model yang berguna. Jika Anda belum menyimpan level inventaris harian, mulailah sekarang karena data ini sangat sulit direkonstruksi secara retroaktif.
Feature engineering adalah tempat sebagian besar nilai diciptakan. Angka penjualan mentah kurang berguna dibandingkan fitur turunan seperti rata-rata kecepatan bergulir 7 hari, perubahan kecepatan minggu-ke-minggu, koefisien variasi dalam penjualan harian (ukuran volatilitas permintaan), dan rasio kecepatan saat ini terhadap rata-rata 90 hari. Fitur turunan ini membantu model membedakan antara produk yang terjual stabil mendekati titik pemesanan ulangnya dan produk yang mengalami lonjakan permintaan yang akan menghabiskan inventaris jauh lebih cepat dari yang diharapkan.
Integrasi Dengan Sistem yang Ada
Model perlu terhubung ke alur kerja manajemen inventaris Anda, bukan menggantikannya. Pendekatan paling umum adalah dashboard peringatan harian yang menampilkan SKU yang diurutkan berdasarkan risiko kehabisan stok, dengan tindakan yang direkomendasikan untuk masing-masing. Perencana inventaris meninjau dashboard setiap pagi dan mengambil tindakan pada item berisiko tinggi.
Implementasi yang lebih canggih mengotomatisasi respons untuk tindakan berisiko rendah. Jika model memprediksi kehabisan stok dan tindakan yang direkomendasikan adalah melakukan pemesanan ulang standar dengan pemasok yang ada, sistem dapat menghasilkan pesanan pembelian secara otomatis dan mengantrekannya untuk persetujuan satu-klik oleh manajer inventaris. Ini menjaga manusia tetap dalam lingkaran untuk keputusan sambil menghilangkan pekerjaan manual pembuatan pesanan.
Untuk retailer ecommerce yang menjalankan ribuan SKU, pemantauan inventaris manual tidak bisa diskalakan. Seorang manusia yang memeriksa 3.500 SKU per hari pasti akan melewatkan yang diam-diam berakselerasi menuju kehabisan stok. Model ML memeriksa setiap SKU setiap jam, menangkap pola-pola halus, dan memunculkan yang membutuhkan perhatian. Retailer kecantikan yang memulai percakapan ini memangkas tingkat kehabisan stok mereka dari 8-12% menjadi di bawah 3% dalam enam bulan setelah menerapkan model prediksi mereka, yang diterjemahkan menjadi sekitar $940.000 dalam pendapatan tahunan yang dipulihkan.