Kurucu mağaza kampanyası: ilk yıl %40 indirimKoşullar →
Teramerce
Kargo ve Lojistik 10 dk okuma

Makine Öğrenmesi ile Stok Tahmini ve Envanter Optimizasyonu

10 dk okuma
Paylaş:
Makine Öğrenmesi ile Stok Tahmini ve Envanter Optimizasyonu

Bir e-ticaret mağazasının iki korkusu vardır: "Ürün tükendi" ve "Depoda 3 yıllık stok var." Her ikisi de maliyet yaratır, birincisi satışı kaçırarak, ikincisi sermayeyi bağlayarak. Makine öğrenmesi (ML) tabanlı stok tahmini, bu iki aşırı nokta arasındaki mükemmel dengeyi bulmak için tasarlanmış.

Walmart'ın yaptığı bir araştırmaya göre, stok tükenmesi yıllık 4 trilyon dolar küresel satış kaybına yol açıyor. Öte yandan fazla stok, dünya genelinde perakende sektörünün yıllık %20-30'unu bağlayan atıl sermayeyi temsil ediyor. Türkiye'de de durum farklı değil: Döviz dalgalanmalarının oluşturduğu belirsizlik, stok yönetimini özellikle karmaşık kılıyor.

Bu yazıda makine öğrenmesi ile stok tahmininin nasıl çalıştığını, hangi algoritmalar kullanıldığını ve mağazanızda nasıl uygulayabileceğinizi ele alacağız.


Geleneksel Stok Yönetiminin Sınırları

EOQ ve Sabit Yeniden Sipariş Noktası

Geleneksel stok yönetimi EOQ (Economic Order Quantity) formülü ve sabit yeniden sipariş noktalarına dayanır. Bu yaklaşımlar basittir ve belirli koşullarda iş görür, ancak ciddi sınırları vardır:

  • Mevsimselliği tam yansıtmaz: Yaz aylarında klima satışları 10 kat artarken, kış aylarında dolu depo sorun yaratır
  • Dış faktörleri ihmal eder: Sosyal medya trendleri, rakip kampanyaları, ekonomik haberler stok kararlarını etkiler
  • Statik yapı: Piyasa değiştikçe kuralların manuel güncellenmesi gerekir
  • Tek ürün odaklı: Ürünler arası etkileşimleri görmez (A ürünü tükenince B satışları artar gibi)

Makine Öğrenmesinin Getirdiği Fark

ML modelleri şunları yapabilir:

  • Geçmiş verilerdeki karmaşık örüntüleri otomatik olarak keşfeder
  • Yüzlerce değişkeni aynı anda değerlendirir
  • Yeni veriler geldikçe kendini günceller
  • Ürünler arası ilişkileri modeller
  • Belirsizliği sayısal olarak ifade eder (bu ürün 95% ihtimalle 80-120 adet satılacak)

Stok Tahmininde Kullanılan ML Algoritmaları

Zaman Serisi Modelleri

ARIMA (Autoregressive Integrated Moving Average)

Klasik istatistik kökenli, ancak hâlâ güçlü. Mevsimsel SARIMA versiyonu özellikle sezonlu ürünlerde etkili. Küçük veri setleri için iyi başlangıç noktası.

Prophet (Meta/Facebook)

Mevsimsellik, tatil günleri ve özel olayları otomatik modelleyen güçlü bir kütüphane. E-ticaret için iyi calibre edilmiş.

python
from prophet import Prophet
import pandas as pd

## Satış verisi formatı
df = pd.DataFrame({
    'ds': dates,  # Tarih kolonu
    'y': sales    # Satış miktarı
})

model = Prophet(
    yearly_seasonality=True,
    weekly_seasonality=True,
    holidays=turkish_holidays  # Türkiye tatil takvimi
)
model.fit(df)

## 90 günlük tahmin
future = model.make_future_dataframe(periods=90)
forecast = model.predict(future)
LSTM (Long Short-Term Memory)

Derin öğrenme tabanlı, karmaşık örüntüleri öğrenmede üstün. Büyük veri setleri için mükemmel ancak eğitimi daha karmaşık.

Makine Öğrenmesi Regresyon Modelleri

XGBoost / LightGBM

E-ticaret stok tahmininin en popüler algoritmaları. Gradient boosting tabanlı, birden fazla değişkeni birlikte işleme kapasitesinde başarılı.

Bu modeller sadece geçmiş satışları değil, şunları da input olarak alabilir:

  • Hava durumu verileri
  • Tatil ve özel gün bilgisi
  • Kampanya planları
  • Rakip fiyatları
  • Sosyal medya bahis hacmi
  • Web sitesi trafik verileri
Random Forest

Yorumlanması daha kolay, "hangi faktör ne kadar etkili?" sorusuna cevap verebilir. Başlangıç için XGBoost'a iyi bir alternatif.


Hangi Verilere İhtiyacınız Var?

Temel Veriler (Olmazsa Olmaz)

Satış Geçmişi
  • Minimum 1-2 yıllık günlük satış verisi
  • Ürün SKU bazında
  • İade bilgileri dahil
Stok Hareketleri
  • Depodan çıkan / giren
  • Stok tükenme tarihleri
  • İade ile tekrar stoka giren miktarlar

Zenginleştirici Veriler (Güçlü Ekler)

Pazarlama Aktiviteleri
  • Kampanya tarihleri ve indirim oranları
  • E-posta gönderimleri ve açılma oranları
  • Sosyal medya reklam harcamaları
Dış Faktörler
  • Türkiye tatil takvimi ve dini günler
  • Hava durumu (sezonal ürünler için)
  • Ekonomik göstergeler (tüketici güven endeksi)
  • Rakip fiyat hareketleri
Tedarik Verileri
  • Tedarikçi teslim süreleri
  • Geçmişte yaşanan gecikmeler
  • Tedarik zinciri kırılganlıkları

Uygulama Rehberi: Adım Adım

Adım 1: Veri Temizleme ve Hazırlama

Ham stok veriniz büyük olasılıkla kirli. Önce şunları yapın:

Aykırı değerleri tespit edin

Black Friday gibi dönemlerde satışlar normun 10 katına çıkabilir. Bunlar modeli bozabilir — işaretlemeniz ve özel modellemeniz gerekiyor.

Eksik verileri doldurun

Stok tükenme dönemlerindeki satışlar aslında talep değildir, kısıtlı taleptir. Bu dönemleri işaretleyin.

Mevsimsel bileşeni tespit edin

Her yıl tekrarlayan örüntüleri görselleştirin. Dekomposiyon analizi yapın.

Adım 2: Feature Engineering (Özellik Mühendisliği)

Ham veriyi anlamlı inputlara dönüştürün:

python
## Örnek feature engineering
df['is_holiday'] = df['date'].apply(is_turkish_holiday)
df['days_to_ramadan'] = df['date'].apply(days_until_ramadan)
df['week_of_year'] = df['date'].dt.isocalendar().week
df['is_weekend'] = df['date'].dt.dayofweek >= 5
df['rolling_7day_avg'] = df['sales'].rolling(7).mean()
df['same_week_last_year'] = df['sales'].shift(52)  # Haftalık veri
df['promotion_active'] = df['date'].apply(check_promotions)

Adım 3: Model Seçimi ve Eğitimi

Başlangıç için önerilen yaklaşım:

  1. Baseline: Basit hareketli ortalama ile başlayın — benchmark olarak kullanacaksınız
  2. Prophet: Mevsimsel ürünler ve Türkiye tatil takvimi entegrasyonu
  3. XGBoost: Çok değişkenli tahmin için
  4. Ensemble: En iyi sonuç için birden fazla modeli birleştirin
Değerlendirme Metriği:

Tahmin hatasını ölçmek için MAPE (Mean Absolute Percentage Error) veya RMSE kullanın. Endüstri standardı: MAPE %15-20 altında iyi kabul edilir.

Adım 4: Güvenlik Stoğu Hesaplama

ML modeliniz bir nokta tahmini değil, aralık tahmini vermelidir: "95% ihtimalle 80-120 adet satılacak." Bu aralığı kullanarak güvenlik stoku hesaplayın:

Güvenlik Stoku = Z × σ × √(Tedarik Süresi)

Z = İstenen servis seviyesine göre z-skoru (95% için 1.65)
σ = Talep standart sapması
Tedarik Süresi = Ortalama tedarik süresi (gün)

Türkiye'ye Özgü Stok Zorlukları

Döviz Kuru Etkisi

İthal ürünlerde dolar/euro kur artışı hem maliyetleri hem de tüketici talebini etkiler. Stok modelinize kur verisini eklemek, özellikle elektronik ve ithal moda kategorisinde tahmin doğruluğunu artırır.

Model yaklaşımı:
  • Kur değişim oranını lagged değişken olarak ekleyin
  • Kur şoku senaryolarına göre stres testi yapın

Ramazan ve Dini Günler

Türkiye'de Ramazan ayı, hangi kategoride olduğunuza bağlı olarak satışları dramatik biçimde etkiler:

  • Gıda/şekerleme: +%40-60
  • Hazır giyim: +%20-30 (bayram alışverişleri)
  • Mobilya/elektronik: Hafif düşüş
  • Online alışveriş genel: Özellikle iftar sonrası saatlerde trafik zirvesi

Bu dinamiği modelinize explicit olarak ekleyin.

Kampanya Dönemleri

Türkiye'ye özgü kampanya dönemi takvimi:

KampanyaKategori Etkisi
11.11 Single's DayElektronik, moda
Black FridayTüm kategoriler
Okul açılışı (Eylül)Kırtasiye, giyim
YılbaşıOyuncak, hediye
Sevgililer Günü (14 Şubat)Çiçek, takı, kozmetik
Anneler/Babalar GünüGeniş kategori

Hazır Araçlar ve Çözümler

Enterprise Çözümler

SAP IBP (Integrated Business Planning)

Büyük şirketler için güçlü, pahalı ama kapsamlı.

Oracle Demand Management

Tedarik zinciri yönetimiyle tam entegre.

Orta Ölçek SaaS Çözümleri

Inventory Planner

Shopify/WooCommerce entegrasyonu, uygun fiyatlı başlangıç. Fiyat: $99/ay'dan

Streamline.supply

Küçük-orta ölçek için iyi denge, Türkiye'deki satıcılar kullanıyor.

Netstock

ERP entegrasyonları güçlü, analitik raporlama kapsamlı.

Açık Kaynak / Kendi Geliştirme

Python tabanlı çözümler için:

  • prophet (Meta)
  • statsforecast (Nixtla)
  • darts (Unit8)
  • sktime (Genel ML + TS)

ROI Hesaplama

Stok tahmin sisteminizin geri dönüşünü şöyle hesaplayabilirsiniz:

Stok Tükenmesi Maliyeti Tasarrufu
Kaçan satış = Stok tükenme günleri × Günlük ortalama satış × Birim kar
Fazla Stok Maliyeti Tasarrufu
Sermaye maliyeti = Ortalama fazla stok × Birim maliyet × Sermaye maliyeti oranı
Depo maliyeti = Ortalama fazla stok × Birim depolama maliyeti
Çürüme/eskime = Bozulan veya modası geçen ürün değeri

Başlangıç için Minimum Gereksinimler

Tam bir ML sistemi kurmak için ideal koşullar:

  • En az 18 aylık günlük satış verisi
  • 100+ ürün (az ürünle istatistiksel güç düşük)
  • Teknik ekip (veri bilimci veya ML engineer) veya SaaS aboneliği
Daha az kaynakla başlamak için:

Prophet ile açık kaynak bir model kurabilirsiniz. Google Colab'da ücretsiz GPU ile çalıştırabilirsiniz. İlk versiyon için 2-4 hafta yeterli olabilir.


Sonuç

Makine öğrenmesi ile stok tahmini, e-ticaret operasyonlarında hem müşteri memnuniyetini (stok tükenmesi yaşatmama) hem de karlılığı (sermaye verimliliği) aynı anda iyileştiren nadir stratejilerden biri. Türkiye'nin dinamik döviz ortamı, sık kampanya dönemleri ve mevsimsel talep dalgalanmaları göz önüne alındığında, bu teknoloji yerel mağazalar için özellikle değerli.

Başlangıç için büyük yatırımlar beklemeyin. Tarihsel satış verilerinizi temizleyin, Prophet veya benzer bir araçla ilk model denemesini yapın ve sonuçları ölçün.

Teramerce'in stok ve sipariş yönetimi hakkında bilgi almak için demo talep edin.
İlgili Terimler: Makine Öğrenmesi Nedir?, Zaman Serisi Analizi, Tedarik Zinciri, EOQ
Etiketler:#Makine Öğrenmesi#Stok Yönetimi#Envanter Optimizasyonu#Talep Tahmini#Lojistik
Bülten

Bu tarz içeriklerden haberdar olun

Yeni e-ticaret ipuçları ve rehberler yayımlandıkça e-posta kutunuza gelsin.

Abone olarak e-ticaret rehberlerimizi e-postayla almayı kabul edersiniz; dilediğiniz an ayrılabilirsiniz. KVKK Aydınlatma Metni