Studi kasus demand forecasting ini dimulai dari sebuah kontradiksi yang mengejutkan klien sebelum mengejutkan saya: sebuah jaringan apotek dengan delapan cabang mengalami kehabisan stok obat-obatan umum sekaligus membuang boks obat kedaluwarsa, kadang di minggu yang sama, kadang untuk produk yang sama di cabang yang berbeda. Akar masalahnya bukan staf yang buruk, melainkan setiap manajer cabang memesan stok berdasarkan insting, dan insting tidak bisa diandalkan lintas delapan lokasi dengan basis pelanggan yang berbeda-beda.
Saya ingin membahas apa yang kami temukan, apa yang kami bangun, dan bagian dari masalah ini yang spesifik untuk retail farmasi dan jarang dibahas dalam studi kasus inventory generik: tanggal kedaluwarsa mengubah overstock dari masalah cash flow menjadi masalah write-off.
Titik Awal: Delapan Manajer, Delapan Feeling Berbeda
Setiap manajer cabang di jaringan ini punya pengalaman bertahun-tahun dan insting yang genuinely bagus soal ritme tokonya sendiri. Masalahnya bersifat struktural, bukan personal. Tidak ada yang punya visibilitas lintas cabang, sehingga:
- Cabang A kehabisan stok obat antihipertensi umum selama empat hari, membuat pelanggan lari ke kompetitor, sementara Cabang C yang berjarak dua kilometer punya 40 boks tersisa di rak, enam minggu menjelang kedaluwarsa.
- Reorder dilakukan berdasarkan jadwal mingguan tetap tanpa memperhitungkan tingkat sell-through aktual, sehingga cabang yang lambat bergerak over-order karena kebiasaan, dan cabang yang cepat bergerak under-order karena kehati-hatian.
- Tidak ada yang punya gambaran bersih dan terbagi soal SKU mana yang mendekati kedaluwarsa di seluruh jaringan, sampai audit bulanan manual menangkapnya, seringkali sudah terlambat untuk redistribusi.
Jaringan ini memperkirakan, secara konservatif, bahwa stockout pada 50 SKU teratas mereka menyebabkan hilangnya penjualan yang cukup signifikan setiap bulan, sementara write-off stok kedaluwarsa mencapai puluhan juta rupiah per tahun di seluruh jaringan. Kedua angka ini tidak terlihat dalam operasional harian, karena setiap cabang hanya melihat kerugiannya sendiri, tidak pernah pola di seluruh jaringan.
Yang Kami Bangun: Forecast Plus Logika Transfer Antar-Cabang
Solusinya punya dua bagian yang saling terhubung, dan keduanya penting. Forecasting saja hanya akan memberi tahu mereka apa yang harus dipesan, tapi tidak apa yang harus dilakukan dengan ketidakseimbangan stok yang sudah ada. Logika transfer saja hanya akan memindahkan stok tanpa memperbaiki perilaku pemesanan yang jadi akar masalah.
1. Demand forecast berbasis penjualan per SKU per cabang. Alih-alih jadwal reorder tetap, sistem menarik data penjualan historis per cabang, menyesuaikan dengan musiman (obat-obatan tertentu melonjak secara predictable di bulan-bulan tertentu, musim flu jadi contoh paling jelas tapi bukan satu-satunya), dan menghasilkan saran kuantitas serta waktu reorder per cabang. Manajer tetap punya wewenang override, karena pengetahuan lokal masih penting (klinik baru buka di sekitar, kebiasaan resep dokter yang berubah), tapi saran default kini berbasis data, bukan kebiasaan angka bulat.
2. Alert transfer antar-cabang sebelum kedaluwarsa, bukan sesudahnya. Sistem menandai, secara berkelanjutan, SKU mana yang mendekati kedaluwarsa di satu cabang sementara cabang lain diproyeksikan akan menghabiskan stoknya sendiri dan butuh reorder dalam waktu dekat. Alih-alih menulis-hapus (write-off) stok yang menua, sistem memicu saran transfer: pindahkan 40 boks dari Cabang C ke Cabang A, alih-alih membiarkan satu boks kedaluwarsa dan memesan stok baru untuk cabang lain.
Bagian kedua ini adalah yang biasanya terlewat dari saran inventory generik, karena mengasumsikan retail satu lokasi. Jaringan apotek multi-cabang punya keunggulan yang tidak dimiliki toko tunggal: masalah overstock dan masalah stockout mereka seringkali adalah masalah yang sama, hanya salah alokasi antar lokasi. Solusinya adalah logistik, bukan sekadar forecasting. Jika jaringan Anda sendiri berjuang dengan gap visibilitas lintas lokasi yang sama, jaringan apotek ini sinkronkan stok di 8 cabang (akhirnya) membahas fondasi sinkronisasi stok yang menjadi dasar dari lapisan forecasting ini.
Sudut Pandang Tanggal Kedaluwarsa: Kenapa Inventory Farmasi Lebih Sulit dari Inventory Retail Biasa
Sebagian besar studi kasus inventory memperlakukan overstock sebagai masalah cash flow: uang yang terkunci dalam stok di rak yang seharusnya bisa bekerja di tempat lain. Retail farmasi punya masalah itu ditambah satu masalah yang lebih berat. Obat kedaluwarsa bukan sekadar lambat bergerak, tapi secara hukum wajib dimusnahkan, artinya overstock tidak hanya mengunci cash, tapi menjadi kerugian pasti dengan tenggat waktu keras.
Ini mengubah prioritas forecasting dengan cara yang layak disoroti:
- Interval kepercayaan forecast perlu lebih ketat untuk produk bernilai tinggi dengan masa simpan pendek, dibanding produk yang stabil dengan masa simpan panjang. Strategi buffer generik "pesan lebih banyak untuk jaga-jaga" yang berlaku untuk barang retail tahan lama justru mahal di sini.
- Alert berbasis kedaluwarsa perlu menyala cukup dini agar transfer masih memungkinkan secara logistik, bukan sekadar cukup dini untuk mengetahui write-off akan terjadi. Kami menetapkan ambang alert di 90 hari sebelum kedaluwarsa untuk SKU yang lebih lambat bergerak, memberi cabang waktu nyata untuk bertindak, bukan sekadar peringatan tanpa daya.
- Pelacakan tingkat batch, bukan hanya tingkat SKU, jadi penting karena dua batch dari obat yang sama bisa punya tanggal kedaluwarsa yang sangat berbeda di rak yang sama. Logika forecast dan transfer harus beroperasi pada granularitas batch untuk benar-benar mencegah boks spesifik itu kedaluwarsa, bukan hanya SKU-nya secara agregat.
Hasilnya
Dalam dua kuartal pertama setelah rollout di seluruh delapan cabang:
| Metrik | Sebelum | Sesudah |
|---|---|---|
| Stockout pada 50 SKU teratas | Sering, beberapa kali per bulan per cabang | Berkurang sekitar dua pertiga |
| Write-off stok kedaluwarsa | Puluhan juta IDR per tahun | Terpangkas lebih dari setengah |
| Waktu manajer untuk pemesanan manual | Beberapa jam per minggu per cabang | Berkurang jadi sekadar review dan override |
Tingkat override manajer stabil di sekitar 15 hingga 20 persen dari saran order, yang dipandang jaringan ini sebagai hal sehat, bukan kegagalan model. Pengetahuan lokal tetap mengoreksi hal-hal yang tidak bisa dilihat data semata: klinik baru buka di sekitar, dokter yang mengubah kebiasaan resep, acara kesehatan komunitas yang sifatnya satu kali. Forecast menangani baseline; manajer menangani pengecualian, dan itu persis rasio yang Anda inginkan.
Kesimpulan
Masalah inventory multi-cabang jarang sekali sebenarnya adalah masalah demand forecasting satu cabang yang menyamar, melainkan masalah visibilitas jaringan, dan retail farmasi menaikkan taruhannya karena kedaluwarsa mengubah overstock menjadi write-off pasti, bukan sekadar dana yang terkunci. Jika cabang-cabang Anda masing-masing menyelesaikan masalah inventorynya sendiri secara terisolasi, kemenangan tercepat bukanlah forecast yang lebih baik di setiap lokasi, melainkan menghubungkan jaringan sehingga overstock siapa pun dan stockout siapa pun tidak lagi tak terlihat satu sama lain.