src/cluster_erp/modules/analytics/ içindeki analytics modülü, diğer modüllerin EventBus üzerinden kendisine bildirdiği verileri analiz eder. Başka hiçbir modülü içe aktarmaz ve kendi iş tablosu bilmez; her modül verisinin hangi kısmının analiz edilebileceğini bildirir ve bu bildirim her sorgu için izin listesidir de (src/cluster_erp/modules/analytics/module.py:15-27, src/cluster_erp/modules/analytics/registry.py:1-16). Modül, doğru bir sayı üretemediği her durumda sayı üretmeyi reddeder (src/cluster_erp/modules/analytics/errors.py:1-13). Bu sayfa genel bakıştır; alt konuların kendi sayfaları vardır.
Bir bakışta¶
| Öğe | Değer | Kaynak |
|---|---|---|
| Paket | src/cluster_erp/modules/analytics/ |
klasör |
| Modül sınıfı | Module |
src/cluster_erp/modules/analytics/module.py:15 |
name / version |
analytics / 0.1.0 |
src/cluster_erp/modules/analytics/module.py:29-35 |
| API öneki | /api/v1/analytics (ModuleBase.api_prefix), /analysis yönlendirici öneki ve require_app("analytics") uygulama kapısıyla |
src/cluster_erp/core/module_base.py:37-38, src/cluster_erp/modules/analytics/module.py:47-55, src/cluster_erp/modules/analytics/routes.py:30 |
| Alt modüller | yok; üst düzeyde __init__.py dahil 24 Python dosyası, örneğin registry.py, query_builder.py, recipe_engine.py, statistics.py, inference.py, forecasting.py, classification.py, series.py, summaries.py, saved_models.py, reports.py, profiling.py, cross.py |
klasör listesi |
| Tablolar | 5: analytics_saved_models, analytics_reports, analytics_report_items, analytics_summary_cells, analytics_summary_state |
src/cluster_erp/modules/analytics/models.py içindeki __tablename__ |
| Metadata'daki varlıklar | 0 (entities={}) |
src/cluster_erp/modules/analytics/module.py:162 |
| Uçlar | Pakette 47 uç dekoratörü | @...router.get/post/put/patch/delete için grep |
| Aksiyonlar | 0 ActionMeta girdisi |
pakette grep "ActionMeta(" |
| Göçler | 4 dosya | metni beş tablo adından birini içeren migrations/versions/ dosyaları |
| Sözleşmeler | 0 tüketir, 2 üretir | "Olaylar ve sorgular" bölümüne bakın |
| Web uygulamasında varlık | Katalog uygulaması analytics; kilitli bir paketten sekiz özel bileşen ve home_model ana ekran bileşeni |
src/cluster_erp/modules/app_store/catalog.json (analytics girdisi), gated_apps/analytics/app.js:4250-4251 |
| Masaüstünde varlık | yalnızca genel bileşenler | src/cluster_erp/desktop/modules/ içinde analytics klasörü yok |
Modül ne yapar¶
- Tüm modüllerin olgu kümelerini toplar ve doğrular; bozuk bir katkı yüksek sesle başarısız olur (
src/cluster_erp/modules/analytics/registry.py:242-283). Bkz. analitik olgular. - Anlamsal anahtarlardan güvenli toplu sorgular kurar ve yanlış toplamları doğruluk kapılarıyla reddeder (
src/cluster_erp/modules/analytics/query_builder.py:1-31). Bkz. tarifler ve sorgu kurucu. - Bildirime dayalı hazırlık tariflerini çalıştırır ve her adımı ölçer (
src/cluster_erp/modules/analytics/recipe_engine.py:1-21). - Veriyi profiller, sağlam istatistikleri ve aykırı değer taramalarını hesaplar, hipotez testlerini ön koşul kapıları arkasında çalıştırır (
src/cluster_erp/modules/analytics/profiling.py:1-33,src/cluster_erp/modules/analytics/statistics.py:1-30,src/cluster_erp/modules/analytics/inference.py:1-34). Bkz. istatistik ve çıkarım. - Boşlukları görünür dönem serileri, temel tahminler ve ABC ile SBC sınıfları kurar (
src/cluster_erp/modules/analytics/series.py:1-36,src/cluster_erp/modules/analytics/forecasting.py:1-45,src/cluster_erp/modules/analytics/classification.py:1-35). Bkz. tahmin ve sınıflandırma. - Kayıtlı analiz modellerini, sonuç anlık görüntülü raporları, önceden toplanmış özet hücrelerini ve olgular arası karşılaştırmaları tutar (
src/cluster_erp/modules/analytics/saved_models.py:1-14,src/cluster_erp/modules/analytics/reports.py:1-17,src/cluster_erp/modules/analytics/summaries.py:1-30,src/cluster_erp/modules/analytics/cross.py:1-15). Bkz. raporlar, özetler ve çapraz.
Alt modüller¶
Modülün alt modül klasörü yoktur. Dosyaları şu sayfalara gruplanır:
| Alan | Dosyalar | Sayfa |
|---|---|---|
| Olgu toplama ve sorgular | registry.py, query_builder.py, recipe_engine.py, recipe_schemas.py, schemas.py, service.py, errors.py |
Tarifler ve sorgu kurucu |
| İstatistik | statistics.py, inference.py, inference_service.py, distributions.py, stratification.py |
İstatistik ve çıkarım |
| Zaman ve sınıflar | series.py, forecasting.py, classification.py, saved_models.py |
Tahmin ve sınıflandırma |
| Çıktılar | reports.py, summaries.py, profiling.py, cross.py |
Raporlar, özetler ve çapraz |
| Diğer modüllerin katkıları | dokuz modüldeki analytics_facts.py |
Analitik olgular |
Tüm uçlar /analysis önekli tek bir yönlendiricide durur (src/cluster_erp/modules/analytics/routes.py:30).
Veri modeli¶
| Varlık | Tablo | Ana alanlar | Notlar | Kaynak |
|---|---|---|---|---|
AnalyticsSavedModel |
analytics_saved_models |
name, description, kind, fact_key, params, owner_id, is_shared, last_run_at, run_count, run_history |
sonuçları değil parametreleri saklar | src/cluster_erp/modules/analytics/models.py:32-63 |
AnalyticsReport |
analytics_reports |
name, description, owner_id, is_shared |
paylaşılabilir bir belge | src/cluster_erp/modules/analytics/models.py:66-84 |
AnalyticsReportItem |
analytics_report_items |
report_id, position, title, note, kind, fact_key, params, result, captured_at |
sonuç anlık görüntüsünü yakalama zamanıyla saklar | src/cluster_erp/modules/analytics/models.py:86-110 |
AnalyticsSummaryCell |
analytics_summary_cells |
fact_key, axis, bucket_day, dims, n, sums, counts, computed_at |
düz Base üzerinde türetilmiş veri, tamsayı kimlik, denetim sütunu yok |
src/cluster_erp/modules/analytics/models.py:112-135 |
AnalyticsSummaryState |
analytics_summary_state |
fact_key, axis, watermark, refreshed_at, rebuilt_at, cells |
olgu ve tarih ekseni başına yenileme su işareti | src/cluster_erp/modules/analytics/models.py:137-148 |
Ekranlar ve metadata¶
get_metadata, sekiz özel bölümle Analitik (İngilizce Analytics) kenar çubuğu grubunu tanımlar: Keşif, Analiz, Seri ve Tahmin, Sınıflandırma, Testler, Çapraz, Modeller ve Raporlar; ayrıca 2x3 boyutunda bir Analitik ana ekran bileşeni vardır (src/cluster_erp/modules/analytics/module.py:75-161). Kod yorumu, yüzeyler varlık listeleri değil anlamsal katman üzerindeki araçlar olduğu için her ekranın özel bileşen olduğunu belirtir (src/cluster_erp/modules/analytics/module.py:91-94). Ekranların okuduğu katalog her ölçünün etiketlerini, taneciklerini, toplanabilirliğini ve parasal bayrağını taşır; böylece yeni katkı veren bir modül arayüz kodu gerektirmez (src/cluster_erp/modules/analytics/service.py:63-125). Bkz. kilitli uygulama paketleri ve ana ekran bileşenleri.
Durum ve aksiyonlar¶
Modül hiçbir ActionMeta tanımlamaz. Kayıtlı modeller ve raporlar POST .../deactivate uçlarıyla devre dışı bırakılır (src/cluster_erp/modules/analytics/routes.py:1001, src/cluster_erp/modules/analytics/routes.py:1120).
İş kuralları¶
- İzin kapısı iki kez uygulanır: katalog yalnızca çağıranın
read_permissioniznine sahip olduğu olgu kümelerini gösterir ve bir çalıştırma olguyu bu süzülmüş katalogda yeniden arar. Yetkisiz bir küme yasak olarak değil bilinmeyen olarak yanıtlanır (src/cluster_erp/modules/analytics/service.py:1-7,src/cluster_erp/modules/analytics/registry.py:100-109,src/cluster_erp/modules/analytics/service.py:135-138). - Sorgu yalnızca anlamsal anahtarlara başvurur; fiziksel adlar yalnızca modül bildirimlerinden gelir, değerler bağlı parametrelerdir (
src/cluster_erp/modules/analytics/query_builder.py:5-10,src/cluster_erp/modules/analytics/schemas.py:1-11). - Sonuçlar 10000 satırla sınırlanır ve kesildiklerinde bunu söyler (
src/cluster_erp/modules/analytics/query_builder.py:60,src/cluster_erp/modules/analytics/service.py:150-155). - Retler
ANALYTICS_NON_ADDITIVE,ANALYTICS_MIXED_CURRENCYveANALYTICS_INSUFFICIENT_DATAgibi makinece okunabilir kodlar taşır (src/cluster_erp/modules/analytics/errors.py:21-43).
Olaylar ve sorgular¶
Modül hiçbir sözleşme tüketmez ve 2 sözleşme üretir; sayım fleet modülü sayfasındaki gibi yapılmıştır. Hiçbir şeye abone olmaz; DescribeAnalyticsFacts yayar ve yanıtları toplar (src/cluster_erp/modules/analytics/module.py:57-61).
| Yön | Sözleşme sınıfı | İşleyici veya yayıcı | Kaynak |
|---|---|---|---|
| yayar | DescribeAnalyticsFacts |
registry.collect |
src/cluster_erp/modules/analytics/registry.py:242-283 |
| oluşturur | AnalyticsDimension |
profillemedeki profile_targets |
src/cluster_erp/modules/analytics/profiling.py:133 |
Toplama yolu analitik olgular sayfasında, tam sözleşme listesi sözleşmeler başvurusunda yer alır.
İzinler¶
| İzin anahtarı | Kullanan | Kaynak |
|---|---|---|
analysis.read |
katalog, profil, istatistik, seri, test, model ve rapor okumaları (33 uç) | src/cluster_erp/modules/analytics/routes.py (grep 'require_permission("analysis.read")') |
analysis.run |
POST /run, POST /prepare ve kayıtlı model çalıştırmaları (3 uç) |
src/cluster_erp/modules/analytics/routes.py (grep 'require_permission("analysis.run")') |
analysis.manage |
kayıtlı model ve rapor yazmaları, özet yenileme (11 uç) | src/cluster_erp/modules/analytics/routes.py (grep 'require_permission("analysis.manage")') |
Bu anahtarların üzerine her olgu kümesi, katkı veren modülün kendi read_permission iznini taşır (src/cluster_erp/core/contracts.py:2126-2154).
Gizlilik, saklama ve geçmiş¶
Modülde privacy_handlers.py ve retention_handlers.py yoktur. Kayıtlı modeller ve raporlar silinmez, devre dışı bırakılır (src/cluster_erp/modules/analytics/saved_models.py:12-13, src/cluster_erp/modules/analytics/reports.py:14-15). Özet hücreleri, yenilemenin silip yeniden yazdığı türetilmiş verilerdir; belge dizesi bunun bir kaydın silinmesi olmadığını belirtir (src/cluster_erp/modules/analytics/summaries.py:18-20, src/cluster_erp/modules/analytics/summaries.py:245-295).
Analitik olgular¶
Bu modülde analytics_facts.py yoktur; diğer modüllerin dosyalarının tüketicisidir. Bkz. analitik olgular.
Ayarlar ve referans verileri¶
İstatistik parametreleri analytics_ önekli sunucu ayarlarıdır, örneğin analytics_quantile_type, analytics_min_n_for_zscore ve ABC eşikleri (src/cluster_erp/config/settings.py:437-476). Bkz. ayarlar başvurusu. Bir arka plan döngüsü özet hücrelerini analytics_summary_refresh_seconds aralığıyla yeniler (src/cluster_erp/server/app.py:461-470).
Testler¶
Ada göre bulundu: 18 adet tests/test_analytics_*.py ve 12 adet web-client/_e2e_analytics*.mjs dosyası.
| Tür | Dosya | Kapsar |
|---|---|---|
| pytest | tests/test_analytics_gates.py, tests/test_analytics_contributions.py |
doğruluk kapıları ve modül katkıları |
| pytest | tests/test_analytics_recipe.py, tests/test_analytics_profiling.py |
tarifler ve profilleme |
| pytest | tests/test_analytics_statistics.py, tests/test_analytics_inference.py, tests/test_analytics_inference2.py, tests/test_analytics_shapiro.py, tests/test_analytics_rmanova.py, tests/test_analytics_logit.py, tests/test_analytics_pca_kmeans.py, tests/test_analytics_stratification.py, tests/test_analytics_plots.py |
istatistik ve testler |
| pytest | tests/test_analytics_forecasting.py, tests/test_analytics_classification.py |
tahmin ve sınıflar |
| pytest | tests/test_analytics_saved_models.py, tests/test_analytics_summaries.py, tests/test_analytics_cross.py |
modeller, özetler, çapraz |
| e2e | web-client/_e2e_analytics.mjs, web-client/_e2e_analytics_app.mjs, web-client/_e2e_analytics_widget.mjs |
API, uygulama ve ana ekran bileşeni |
| e2e | web-client/_e2e_analytics_recipe.mjs, web-client/_e2e_analytics_profile.mjs, web-client/_e2e_analytics_statistics.mjs, web-client/_e2e_analytics_infer.mjs, web-client/_e2e_analytics_forecast.mjs, web-client/_e2e_analytics_classify.mjs, web-client/_e2e_analytics_models.mjs, web-client/_e2e_analytics_reports.mjs, web-client/_e2e_analytics_summaries.mjs |
her analitik alanı |
Tutarsızlıklar¶
Tanıtılan terimler¶
| Terim | Kod tanımlayıcısı | Tanım | Türkçe terim | Kaynak |
|---|---|---|---|---|
| semantic layer | FactCatalogue |
Analitiğin anlamsal anahtarlarla sorgulayabileceği doğrulanmış olgu kümeleri. | Anlamsal katman | src/cluster_erp/modules/analytics/registry.py:57-61 |
| correctness gate | _gate_additivity, _gate_currency |
Sonucu yanlış olacak bir sorguyu reddeden denetim. | Doğruluk kapısı | src/cluster_erp/modules/analytics/query_builder.py:242, src/cluster_erp/modules/analytics/query_builder.py:290 |
| saved analysis model | AnalyticsSavedModel |
Sonuçları değil parametreleri saklayan, adlı ve yeniden çalıştırılabilir analiz. | Kayıtlı analiz modeli | src/cluster_erp/modules/analytics/models.py:32 |
İlgili sayfalar¶
- Modüller dizini
- Tarifler ve sorgu kurucu
- İstatistik ve çıkarım
- Tahmin ve sınıflandırma
- Raporlar, özetler ve çapraz
- Analitik olgular
- Bu modülün API başvurusu
92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.