Bu sayfa src/cluster_erp/modules/analytics/ içindeki analytics modülünün dört dosyasını anlatır: series.py (boşlukları görünür dönem serileri), forecasting.py (temel tahminler ve hata ölçütleri), classification.py (ABC ve SBC sınıfları) ve saved_models.py (adlı, yeniden çalıştırılabilir analizler). Tahmin ve sınıflandırma baştan sona Decimal aritmetiği kullanır (src/cluster_erp/modules/analytics/forecasting.py:1-4, src/cluster_erp/modules/analytics/classification.py:1-4).
Kapsam ve kaynak¶
- Tanımlandığı yer:
period_series,values_of,grouped_period_totals,stratified_counts(src/cluster_erp/modules/analytics/series.py:79-478);forecast_baseline,scaling_denominator,accuracy,rolling_origin,compare_baselines(src/cluster_erp/modules/analytics/forecasting.py:88-373);classify_abc,classify_sbc(src/cluster_erp/modules/analytics/classification.py:56,src/cluster_erp/modules/analytics/classification.py:246);SavedModelService(src/cluster_erp/modules/analytics/saved_models.py:88). - Uçlar:
GET /analysis/series/{fact_key},GET /analysis/baselines/{fact_key},GET /analysis/abc/{fact_key},GET /analysis/sbc/{fact_key}ve/analysis/modelsuçları (src/cluster_erp/modules/analytics/routes.py:168-310,src/cluster_erp/modules/analytics/routes.py:946-1069).
Dönem serileri¶
period_series, dönemleri üretip toplamı bunlara birleştirerek penceredeki her dönem için bir değer döndürür (src/cluster_erp/modules/analytics/series.py:1-36, src/cluster_erp/modules/analytics/series.py:79-95).
| Parametre | Değerler | Kaynak |
|---|---|---|
grain |
tarih boyutunda bildirilmiş tanecikler | src/cluster_erp/modules/analytics/series.py:57-75 |
aggregation |
sum, avg, min, max; değer sütunu yoksa satırlar sayılır |
src/cluster_erp/modules/analytics/series.py:76, src/cluster_erp/modules/analytics/series.py:93-94 |
gap_policy |
gap (varsayılan; satırı olmayan dönem null ve has_rows false olur) veya zero (çağıran sıfırı seçer ve yanıt bunu kaydeder) |
src/cluster_erp/modules/analytics/series.py:53, src/cluster_erp/modules/analytics/series.py:18-36 |
filters |
bildirilmiş kategorik boyutlarda yalnızca eşitlik seçimleri | src/cluster_erp/modules/analytics/series.py:93-95 |
Belge dizesi kuralı açıklar: satırı olmayan bir ay, talebi sıfır olan bir ay gibi görünmemelidir; çünkü bu stoksuzlukları gizler ve düzensiz kalemleri yanlış sınıflar (src/cluster_erp/modules/analytics/series.py:7-30).
Temel tahminler ve hatalar¶
| Öğe | Değerler | Kaynak |
|---|---|---|
| Temel yöntemler | mean, naive, seasonal_naive, drift |
src/cluster_erp/modules/analytics/forecasting.py:55 |
| Hesaplanan ölçütler | mase, rmsse, mae, rmse |
src/cluster_erp/modules/analytics/forecasting.py:59 |
| Açıklamayla reddedilen ölçütler | mape, smape, mdape, gmrae |
src/cluster_erp/modules/analytics/forecasting.py:60 |
Kurallar (src/cluster_erp/modules/analytics/forecasting.py:24-45):
- Doğruluk yalnızca örneklem dışında, kayan bir başlangıç noktasıyla hesaplanır; örneklem içi doğruluk rakamı üretilmez (
src/cluster_erp/modules/analytics/forecasting.py:247). - MASE ve RMSSE, yalnızca eğitim aralığındaki naif tahminin örneklem içi hatasıyla ölçeklenir; sıfır payda reddedilir (
src/cluster_erp/modules/analytics/forecasting.py:163-197). - Mevsimsel seri mevsimsel paydayı kullanır; mevsimsel naif, dönemi ve tam bir döngü geçmişi ister.
- Boşluk içeren seri, kesintisiz geçmiş isteyen yöntemlerde reddedilir ve ret dönemleri adlandırır.
GET /analysis/baselines/{fact_key}, bir seri üzerinde temel yöntemleri karşılaştırır (src/cluster_erp/modules/analytics/routes.py:204-241, src/cluster_erp/modules/analytics/forecasting.py:330).
ABC ve SBC sınıflandırması¶
| Yöntem | Sınıflar | Ayarlardan parametreler | Kaynak |
|---|---|---|---|
| Kullanım değerine göre ABC | A, B, C, UNCLASSIFIED |
analytics_abc_cutoff_a_pct 80, analytics_abc_cutoff_b_pct 95, analytics_abc_hysteresis_pct 2, analytics_abc_min_periods 3 |
src/cluster_erp/modules/analytics/classification.py:46, src/cluster_erp/modules/analytics/classification.py:56-70, src/cluster_erp/config/settings.py:458-471 |
| Talep örüntüsüne göre SBC | smooth, intermittent, erratic, lumpy, UNCLASSIFIED |
analytics_sbc_adi_threshold 1.32, analytics_sbc_cv2_threshold 0.49, analytics_sbc_min_occurrences 3 |
src/cluster_erp/modules/analytics/classification.py:48, src/cluster_erp/modules/analytics/classification.py:246-262, src/cluster_erp/config/settings.py:476-479 |
Kurallar (src/cluster_erp/modules/analytics/classification.py:7-35):
- Ayrı yukarı ve aşağı eşikler (histerezis), kalemlerin sınıflar arasında gidip gelmesini önler; önceki sınıf girdi olarak verilir.
- Kısa geçmişli kalemler varsayılan bir
Cdeğil,UNCLASSIFIEDalır. - Her puanın etkenleri döndürülür; böylece tek bir büyük sipariş görünür olur.
- SBC bilinmeyen dönemleri olan bir seriyi reddeder; CV kare yalnızca sıfır olmayan değerler üzerinde hesaplanır (
src/cluster_erp/modules/analytics/classification.py:258-262,src/cluster_erp/modules/analytics/classification.py:290-310).
Kayıtlı analiz modelleri¶
Kayıtlı model bir tür, bir olgu anahtarı ve parametreler saklar; sonuçları ve fiziksel adları hiçbir zaman saklamaz. Her çalıştırma, çalıştıranın güncel izinleri altında olağan servis yolundan geçer (src/cluster_erp/modules/analytics/saved_models.py:1-14).
| Kural | Ayrıntı | Kaynak |
|---|---|---|
| Türler | analysis, series ve baselines türünden cross_compare, cross_correlate ve regression türüne kadar 24 tür |
src/cluster_erp/modules/analytics/saved_models.py:34-59 |
| Parametre boyutu | en fazla 16384 bayt | src/cluster_erp/modules/analytics/saved_models.py:61 |
| Çalıştırma geçmişi | son 8 çalıştırma tutulur | src/cluster_erp/modules/analytics/saved_models.py:85 |
| Görünürlük | sahip kendi modellerini görür; is_shared okuma ve çalıştırmayı uygulamaya yetkili herkese açar; düzenleme ve devre dışı bırakma yalnızca sahibe aittir |
src/cluster_erp/modules/analytics/saved_models.py:10-11, src/cluster_erp/modules/analytics/saved_models.py:142-174 |
| Kaldırma | devre dışı bırakma bir neden ister ve deleted_at, deleted_by ile deactivation_reason alanlarını doldurur |
src/cluster_erp/modules/analytics/saved_models.py:215-228 |
Model uçları listeleme, oluşturma, okuma, güncelleme, devre dışı bırakma ve çalıştırmadır (src/cluster_erp/modules/analytics/routes.py:946-1069).
Kısıtlar ve doğrulama¶
- Bilinmeyen bir model türü, mevcut türlerin listesiyle reddedilir (
src/cluster_erp/modules/analytics/saved_models.py:93-99). - Daha geniş erişimi olan birinin kaydettiği model hiçbir şeyi genişletmez: çalıştıranın kataloğunda olgu yoktur ve çalıştırma onu bilinmeyen olarak bildirir (
src/cluster_erp/modules/analytics/saved_models.py:6-9).
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| calendar spine | period_series |
Boşluklar görünür kalsın diye değerlerin birleştirildiği, bir penceredeki dönemlerin tam listesi. | Takvim omurgası | src/cluster_erp/modules/analytics/series.py:79 |
| baseline forecast | forecast_baseline |
Her tahminin geçmesi gereken basit bir referans tahmin. | Temel tahmin | src/cluster_erp/modules/analytics/forecasting.py:88 |
| ABC class | classify_abc |
Bir kalemin nasıl yönetileceğine karar veren, kullanım değeri payına göre sınıf. | ABC sınıfı | src/cluster_erp/modules/analytics/classification.py:56 |
| SBC class | classify_sbc |
Talepler arası aralık ve değişkenlikten çıkan talep örüntüsü sınıfı. | SBC sınıfı | src/cluster_erp/modules/analytics/classification.py:246 |
İlgili sayfalar¶
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.