Talep tahmini hatası neden tek bir sayıyla ölçülmez?
Ölçülmez, çünkü hangi hatanın önemli olduğu tahminin beslediği karara bağlıdır. Satın alma, üretim planı ve vardiya planı farklı ufuklara, farklı ayrıntı düzeylerine ve farklı maliyetlere bakar. Bir mağazanın haftalık sipariş kararı için önemli olan, o ürünün o mağazadaki talebinin, tedarik süresi kadar ilerisi için ne kadar doğru tahmin edildiğidir. Aylık kategori toplamındaki hata bu soruya yanıt vermez; üstelik toplama yapıldıkça ürünlerin hataları birbirini götürür ve tablo olduğundan iyi görünür.
Bu yüzden ölçmeye başlamadan önce dört şeyi yazın: tahminin hangi kararı beslediği, planlama birimi (örneğin mağaza, ürün ve hafta), ufuk (örneğin tedarik süresine denk gelen dört hafta sonrası) ve hatanın iki yönünün maliyeti. Eksik tahmin stok tükenmesine ve kayıp satışa, fazla tahmin ise elde tutma maliyetine, fireye ya da indirime yol açar. Bu iki maliyet çoğu zaman eşit değildir ve doğru hata ölçüsünü seçmek için bilinmeleri gerekir.
Hangi hata ölçüsü ne zaman kullanılmalı?
Tek bir "en iyi" ölçü yoktur; her ölçü farklı bir soruyu yanıtlar ve farklı bir davranışı ödüllendirir. Aşağıdaki tablo en sık kullanılanları özetler:
| Ölçü | Ne söyler? | Dikkat edilecek nokta |
|---|---|---|
| MAE (ortalama mutlak hata) | Ortalama sapma, adet cinsinden | Ölçeğe bağlıdır; farklı ürünlerin değerleri toplanamaz |
| RMSE (karesel ortalama hatanın kökü) | Büyük hataları daha çok cezalandırır | Tek tük büyük hatalara duyarlıdır |
| MAPE (ortalama mutlak yüzde hata) | Yüzde olarak kolay anlaşılır | Sıfır talepte tanımsızdır, sıfıra yakın talepte aşırı büyür |
| WAPE (toplam mutlak hata / toplam talep) | Hacimle ağırlıklı yüzde hata | Çok satan ürünler sonucu belirler; segment bazında da bakın |
| MASE (ortalama mutlak ölçekli hata) | Hatayı basit bir naif tahminin hatasına oranlar | Ürünler arası karşılaştırılabilir; ekibe yorumunu anlatmak gerekir |
| Ortalama sapma (işaretli hata) | Sürekli fazla mı, eksik mi tahmin ediliyor? | Mutlak ölçüler bu yönü gizler; ayrıca izleyin |
| Pinball (kuantil) kaybı | Tahmin aralıklarının ve kuantillerin kalitesi | Emniyet stoğu ve hizmet seviyesi kararları için |
Bu seçimlerin arkasında önemli bir ayrıntı vardır. Hyndman ve Athanasopoulos'un tahmin doğruluğu bölümüne göre MAE'yi en aza indiren bir yöntem medyanı, RMSE'yi en aza indiren bir yöntem ise ortalamayı tahmin eder. Aynı bölüm, yüzde hataların sıfır değerlerde tanımsız olduğunu, sıfıra yakın değerlerde aşırı büyüdüğünü ve anlamlı bir sıfır noktası varsaydığını, simetrik MAPE'nin (sMAPE) ise önerilmediğini anlatır. scikit-learn'ün regresyon ölçütleri belgesi de MAPE'nin sıfıra yakın gerçek değerlerde keyfi biçimde büyük değerler üretebildiğini gösterir ve kuantil tahminler için pinball kaybını tutarlı puanlama işlevi olarak verir.
Seyrek satılan ürünlerde bu fark doğrudan stok kararına yansır. M5 tahmin yarışmasının sonuçlarını anlatan çalışma, satış serilerinin birçoğunda çok sayıda sıfır bulunduğunu, mutlak hataların medyanı hedeflediği için sıfıra yakın tahminleri ödüllendireceğini ve ortalama satışı doğru tahmin etmek amaçlandığından karesel hataya dayalı ölçekli bir ölçü (RMSSE) seçildiğini açıklar. Pratik sonuç şudur: seyrek ürünlerde yalnızca MAE'ye bakarak model seçerseniz, sistematik olarak az sipariş veren bir modeli ödüllendirebilirsiniz. Hyndman ve Koehler'in tahmin doğruluğu ölçüleri üzerine makalesi de, sıfır değerler içeren seyrek talep verisinde yüzde ölçülerin kullanılamayacağını gösterip birden fazla seriyi karşılaştırmak için MASE'yi standart ölçü olarak önerir.
Geçmiş talep verisi ölçümden önce nasıl düzeltilir?
Satış verisi talep verisi değildir; ölçümden önce aradaki farkı işaretleyin. Stok tükenen bir haftada satış sıfır olabilir ama talep sıfır değildir; mağazanın kapalı olduğu günler, veri akışının kesildiği dönemler ve tek seferlik toplu siparişler de aynı şekilde ayrılmalıdır. Kampanyaları ve fiyat değişikliklerini, tahminin yapıldığı anda bilinip bilinmediğiyle birlikte kaydedin. Tahmin anında bilinmeyen hiçbir bilgiyi, örneğin sonradan düzeltilmiş satış toplamlarını ya da gerçekleşmiş kampanya sonuçlarını, modele girdi olarak vermeyin; aksi halde geriye dönük test, canlıda tekrarlanamayacak kadar iyi görünür. Bu ayrımı yapmadan hesaplanan hata, stok tükenmesi haftalarında modeli "sıfır talebi doğru tahmin ettiği" için ödüllendirir. Verinizin bir yapay zekâ projesine hazır olup olmadığını genel olarak değerlendirmek için yapay zekâ öncesi veri hazırlığı yazımızdaki karneyi kullanabilirsiniz.
Model hangi temele karşı test edilmeli?
Her modeli önce basit yöntemlerle karşılaştırın: son gözlemi tekrarlayan naif tahmin, geçen yılın ya da geçen sezonun aynı dönemini kullanan mevsimsel naif tahmin ve yakın dönem hareketli ortalaması. Basit tahmin yöntemlerini anlatan bölüm, bu yöntemlerin bazen en iyi seçenek olabileceğini, çoğu zaman ise yeni geliştirilen her yöntemin aşması gereken bir karşılaştırma temeli olarak kullanıldığını belirtir. Bu temeller hafife alınacak kadar zayıf da değildir: M5 yarışmasında 5.500'ü aşkın takımdan yalnızca yaklaşık üçte biri mevsimsel naif tahmini geçebilmiştir.
Karşılaştırmayı tek bir eğitim-test bölünmesiyle değil, kayan başlangıçlı geriye dönük testle yapın. Zaman serisi çapraz doğrulaması, her test noktası için yalnızca o noktadan önceki gözlemleri kullanır ve çok adımlı tahminler için de uyarlanabilir. Ufku karar ufkuna eşitleyin: sipariş tedarik süresi dört haftaysa dört hafta sonrasının tahmin hatasını ölçün; bir hafta sonrasının hatası bu karar için yanıltıcı derecede iyimser olabilir.
Varsayımsal örnek: temel yöntem ile model çalışma sayfası
Bir fırın zincirinin tek bir mağazasında, günlük taze üretilen bir ürünün haftalık talebini düşünün. Artan ürün o hafta fire olur, eksik kalan talep kayıp satıştır; her hafta 2 adetlik emniyet payı ekleniyor. İkinci haftada mağaza açık ve ürün rafta olduğu halde talep gerçekten sıfır. Rakamlar örnek amaçlıdır.
| Hafta | Gerçek talep | Mevsimsel naif tahmin | Model tahmini |
|---|---|---|---|
| 1 | 12 | 10 | 11 |
| 2 | 0 | 4 | 2 |
| 3 | 8 | 6 | 9 |
| 4 | 15 | 12 | 13 |
| 5 | 10 | 14 | 9 |
| 6 | 5 | 6 | 7 |
| Ölçü | Mevsimsel naif | Model |
|---|---|---|
| MAE (adet) | 2,67 | 1,50 |
| WAPE | %32 | %18 |
| Ortalama sapma (adet) | +0,33 | +0,17 |
| MAPE | Tanımsız (2. hafta sıfır) | Tanımsız |
| Fire (adet) | 15 | 13 |
| Kayıp satış (adet) | 1 | 0 |
| Maliyet (kayıp satış 30 TL, fire 10 TL) | 180 TL | 130 TL |
Tablo üç şey gösterir. Birincisi, tek bir sıfır haftası MAPE'yi kullanılamaz hale getirir. İkincisi, MAE'deki yaklaşık %44'lük iyileşme maliyete yaklaşık %28 olarak yansır; hata azalması ile para tasarrufu doğrusal değildir. Üçüncüsü, karar maliyetle verilmelidir: kayıp satışın maliyeti fireden çok daha yüksekse, ortalama hatası biraz daha kötü ama eksik tahmin etmeyen bir model daha karlı olabilir. Altı hafta ve tek ürünle sonuca varılmaz; gerçek bir karşılaştırma için aynı hesabı çok sayıda ürün, mağaza ve başlangıç noktası üzerinde tekrarlayın.
Hata hangi düzeyde raporlanmalı?
Hatayı önce kararın verildiği düzeyde, örneğin mağaza, ürün ve hafta düzeyinde hesaplayın; sonra bu değerleri bilinçli seçilmiş bir ağırlıkla toplayın. Ağırlıksız ortalama, yılda birkaç adet satan ürüne en çok satan ürünle aynı önemi verir; adet ağırlığı ise ucuz ama çok satan ürünleri öne çıkarır. Parasal değerle ağırlıklandırmak çoğu zaman kararın etkisine daha yakındır; M5 çalışması da toplam başarıyı hesaplarken serileri son dönemdeki satış tutarlarıyla ağırlıklandırmıştır. Hangi ağırlığı seçerseniz seçin, toplamın yanında segment tablosunu da gösterin: yavaş dönen ürünlerdeki bir kötüleşme toplamda neredeyse hiç görünmez.
Tahmin aralıkları ve emniyet stoğu nasıl değerlendirilir?
Nokta tahmini, emniyet stoğu kararını tek başına beslemez; ne kadar belirsizlik olduğunu da bilmeniz gerekir. Model kuantil ya da aralık tahmini veriyorsa iki şeyi ölçün: kuantillerin pinball kaybını ve kapsama oranını. Yüzde 90'lık bir aralık, geriye dönük testte gerçek değerin yaklaşık yüzde 90 oranında içine düştüğü bir aralık olmalıdır. Kapsama bunun belirgin biçimde altındaysa emniyet stoğu düşük kalır ve stok tükenmeleri artar; çok üstündeyse gereğinden fazla stok tutuyorsunuz demektir.
Hata canlıda nasıl izlenir?
Hatayı tek bir genel sayı olarak değil, segment bazında izleyin: hızlı ve yavaş dönen ürünler, yeni ürünler, yeni mağazalar, kampanya dönemleri. Ürün yelpazesi değiştiğinde, yeni mağaza açıldığında ve kampanya takvimi değiştiğinde hatayı ayrıca inceleyin. İşaretli sapmayı da ayrı bir gösterge olarak tutun; birkaç dönem üst üste aynı yönde sapma, modelin bir değişikliği kaçırdığının işaretidir. Basit bir kural olarak, son sekiz dönemin işaretli hataları toplamı aynı dönemlerin mutlak hataları toplamına yaklaşıyorsa, yani hataların neredeyse hepsi aynı yöndeyse, modeli gözden geçirin.
Planlamacıların modelin bilmediği olayları, örneğin bir tedarikçi kapanmasını ya da yerel bir etkinliği, gerekçesiyle işaretleyip tahmini düzeltebilmesine izin verin. İlk tahmini, düzeltmeyi, gerekçeyi ve gerçekleşen talebi birlikte saklayın; birkaç döngü sonra düzeltmelerin hatayı ve maliyeti gerçekten azaltıp azaltmadığını ölçün. Modelin ya da planlamacının her zaman haklı olduğunu varsaymayın; ikisini de aynı ölçüyle değerlendirin.
Sık yapılan hatalar
- Sıfır ve seyrek talep içeren ürünlerde MAPE raporlamak.
- Stok tükenen haftaları gerçek sıfır talep olarak ölçüme katmak.
- Modeli basit bir temelle karşılaştırmadan devreye almak.
- Karar ufkundan kısa bir ufukta ölçüp sonucu genellemek.
- Hatayı yalnızca toplam düzeyde raporlamak ve seyrek ürünlerdeki sorunu gizlemek.
- Hata azalmasını stok ve maliyet sonucuna çevirmeden kazanan ilan etmek.
Hatayı güvenilir ölçmek; satış, stok ve kampanya geçmişini ortak tanımlarla ve tarihçesiyle tutan bir veri altyapısına dayanır. Veri ambarı, veri kalitesi kuralları ve raporlama panelleri, büyük veri ve veri mühendisliği hizmet sayfamızda anlatılan kapsamın parçasıdır.