Aqreqasiya və konsolidasiya edilmiş hesabatlar
Aqreqasiya və konsolidasiya hesabatları
Aqreqasiya detallı qeydlərin lazımi kəsiklər və dövrlər üzrə məcmu göstəricilərə çevrilməsidir. Konsolidasiya - müxtəlif mənbələrdən/hüquqi şəxslərdən/məhsullardan olan aqreqatların düzəlişlərlə (valyuta, uçot siyasəti, eliminasiya) vahid hesabata birləşdirilməsi. Aşağıda - sistemli yanaşma: vitrinlərin dizaynından tutmuş hesabatların istismarına qədər.
1) Konsolidasiyanın vəzifələri və növləri
Əməliyyat/məhsul: DAU/WAU/MAU, konversiyalar, ölkələr/kanallar/platformalar üzrə gəlir.
Maliyyə (upr. və tənzimləyici): P&L, Cash Flow, Balans Sheet, GGR/Net Gaming Revenue, vergilər, hüquqi şəxslər üzrə hesabatlar.
Risk/uyğunluq: antifrod, RG göstəriciləri, SLA/əlçatanlıq, data/model sürüklənməsi.
Strateji: holdinq, marka portfeli, regionlar üzrə birləşmiş KPI.
2) Aqreqasiya qatının arxitekturası
Məlumat qatları: 'raw' → 'staging' → 'core' (faktlar/ölçülər) → 'marts' (hesabat aqreqatları).
Semantik təbəqə: metrik təriflər, təqvim, valyutalar, rollap qaydaları.
Taxıl və time-grain: 'event', 'user _ day', 'txn', 'brand _ country _ day' → həftəyə/aya/rübə qədər sonrakı rollaplar.
Şəxsiyyət: sabit açarlar (user/brand/legal_entity), uyğunluq cədvəlləri (mapping).
3) Rollaplar və iyerarxiyalar
Ölçmə iyerarxiyası: 'Oyun → Kateqoriya → Provayder', 'Kanal → Kampaniya → Yaradıcı', 'Şəhər → Region → Ölkə → Klaster'.
Ümumiləşdirmə qaydaları: additiv (məbləğ), yarımaditiv (snapshot - dövr üçün orta/sonuncu), qeyri-aditiv (əmsallar/faizlər).
Təkrarlanma: unikal istifadəçilər və taxıl hadisələri; mənbələri birləşdirərkən ikiqat uçotdan çəkinin.
4) Multivalyuta, taymzonlar, təqvim
Vaxt: 'event _ time _ utc' və yerli dilimləri saxlayın; bayram/qul-gün təqvimi.
Valyuta: «xam» məbləği + 'base _ ccy' əməliyyat tarixindəki məzənnə ilə saxlayın (və ya rezervasiya ilə orta dövr məzənnəsi).
Normallaşma: açıq vahidləri/valyuta/məzənnə tarixini göstərin.
sql
WITH fx AS (
SELECT date, from_ccy, to_ccy, rate
FROM dim_fx_rates
WHERE to_ccy = 'EUR'
),
tx AS (
SELECT t. txn_id, t. amount, t. ccy, t. brand, t. country, t. event_date
FROM fact_tx
)
SELECT brand, country, DATE_TRUNC('month', event_date) AS month,
SUM(amount COALESCE(fx. rate, 1)) AS revenue_eur
FROM tx
LEFT JOIN fx
ON fx. date = tx. event_date AND fx. from_ccy = tx. ccy
GROUP BY 1,2,3;
5) Mənbələr/hüquqi şəxslər üzrə konsolidasiya
Hesabların mapping planları: Vahid CoA (Accounts Chart) + yerli planlardan mapping.
Mühasibat siyasəti: IFRS/GAAP/vergi qaydaları → transformasiya təbəqəsi (məsələn, gəlir brüt/net, bonuslar/komissiyalar tanınması).
Qrupdaxili dövriyyələrin aradan qaldırılması: holdinqin hüquqi şəxsləri arasında əməliyyatların istisna edilməsi.
Konsolidasiya üsulları: tam, paylama (proportionate), paylama uçotu (equity method).
Minoritar səhmdarlar: Nəzarətsiz səhmdarların (NCI) payının ayrılması.
sql
WITH interco AS (
SELECT a. txn_id
FROM fact_tx a
JOIN dim_counterparty b ON a. counterparty_id = b. id
WHERE a. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
AND b. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
)
SELECT
FROM agg_pl_month
WHERE txn_id NOT IN (SELECT txn_id FROM interco);
6) Keyfiyyət və yoxlama (reconciliation)
Mənbələr üzrə müqayisələr: mənbə üzrə məbləğ = vitrin üzrə məbləğ (məzənnə/vaxt üzrə toleransla).
İnvariantlar: 'DAU ≤ MAU', gün üzrə məbləğ = aylıq nəticə (əlavə metriklər üçün).
Dolğunluğa nəzarət: NULL payı, dublikatların payı, təravətə görə gecikmə.
Uyğunsuzluqlar haqqında hesabat: uyğunsuzluqların siyahısı və aradan qaldırma addımları.
7) Performans və SLO
SLO təravəti: əməliyyat aqreqatları - 15 dəq ≤ laq; gündüz - yerli vaxtla 06: 00-a qədər; aylıq - T + 1/T + 3 qədər.
Optimizasiya: əvvəlcədən aqreqasiya, inkremental yenidən hesablamalar, partiyalaşdırma (tarix/marka/ölkə), populyar kəsiklər üçün cache.
UI məhdudiyyətləri: qrafik başına 12 kateqoriya ≤; cədvəllərin paginasiyası; lazy-load.
8) Təriflərin və versiyaların idarə edilməsi
Metrik lüğət: kod, tərif, formula, mənbə, vahid, sahibləri, guardrails.
Versiyası: 'METRIC _ vN'; hər hansı bir düzəliş → yeni versiyası + backfill və changelog.
Semantik qat: BI/eksperimentlər/göndərişlər üçün bir həqiqət mənbəyi.
9) Təhlükəsizlik və giriş
RLS/CLS: rollara giriş (ölkə/marka/hüquqi şəxs), PII maskalanması.
Audit: kim və hansı hesabatı yüklədi; ixraca nəzarət (şərtlər, tokenlər).
Minimallaşdırma: xam PII məlumatları deyil, aqreqatları vermək.
10) Tipik aqreqatlar və vizuallaşdırma
Məhsul: hunilər (step-bars), kohortlar (heatmap), D7/D30 saxlama, ARPU/ARPPU, GGR/Net.
Maliyyə: İerarxiya üzrə P&L, şəlalə (körpü) amilləri, regionlar üzrə gəlir strukturu, G&A dinamikası.
Əməliyyatlar/ML: SLA, latency p95/p99, PR-AUC/Recall @FPR ≤ x%, PSI-heatmap drift.
11) Konsolidasiya hesabat pasportu (şablon)
Kod/versiya: 'CONSOL _ PNL _ v3'
Məqsəd: menecment P&L marka qrupu, multivalyuta → əsas valyuta EUR
Örtük: qrupun bütün hüquqi şəxsləri; üsul - tam konsolidasiya; NCI - seçilir
Mənbə/qat: 'mart _ fin _ pnl _ v3' ('fact _ tx _ v2', 'dim _ legal', 'dim _ fx _ rates' əsasında)
Qranulyarlıq: ay (gündəlik rollap)
Eliminasiyalar: 'intercompany = true' - qrupdaxili dövriyyələr istisna edilir
SLO: T + 1 06:00 lok.; mövcudluğu ≥ 99. 9%
Müqayisə: mühasibat hesabatı 'BK _ PNL _ T + 1', uyğunsuzluq ≤ 0. 3%
Sahibləri: Finance Analytics, Data Platform
Guardrails: FX cədvəli 24 saatdan çox deyil; əməliyyatların coverage ≥ 99. 5%
12) Tez-tez səhvlər və onlardan necə qaçmaq olar
Düsturlarda səssiz dəyişikliklər: həmişə versiyalar və changelog vasitəsilə.
Double mühasibat: double mənbələri/joyns - açarları və taxıl nəzarət.
Vaxt zonalarının qarışması: mərkəzləşdirilmiş təqvim və UTC saxlama.
Səhv faizlər: «orta» deyil, alıcı/məxrəcə yığın.
«Xam» kurslar: açıq tarix/mənbə FX, yuvarlaqlaşdırma siyasəti.
Eliminasiyanın olmaması: şirkətlərarası dövriyyələr hesabatları təhrif edir.
Qeyri-şəffaf təravət: həmişə «N dəqiqə əvvəl yeniləndi».
13) Psevdo-SQL: artımlı aylıq aqreqat
sql
-- Recalculate only affected days/months
WITH changed_days AS (
SELECT DISTINCT DATE(event_time_utc) AS d
FROM fact_tx_delta -- new/modified per day
),
daily AS (
SELECT
DATE(event_time_utc) AS d,
brand, country,
SUM(net_revenue_eur) AS net_eur
FROM fact_tx
WHERE DATE(event_time_utc) IN (SELECT d FROM changed_days)
GROUP BY 1,2,3
)
MERGE INTO agg_month_brand_country m
USING (
SELECT DATE_TRUNC('month', d) AS month, brand, country, SUM(net_eur) AS net_eur
FROM daily
GROUP BY 1,2,3
) s
ON (m. month = s. month AND m. brand = s. brand AND m. country = s. country)
WHEN MATCHED THEN UPDATE SET m. net_eur = s. net_eur, m. updated_at = NOW()
WHEN NOT MATCHED THEN INSERT (month, brand, country, net_eur, updated_at)
VALUES (s. month, s. brand, s. country, s. net_eur, NOW());
14) Proseslər və istismar
1. Dizayn: hədəflər/auditoriyalar, metriklər, iyerarxiyalar, valyuta/taymzonlar.
2. Məlumat: mənbə müqavilələri, sxemlər, keyfiyyət testləri.
3. Vitrinlərin qurulması: semantik obyektlər, rollap qaydaları, eliminasiya.
4. Müqayisələr: avtomatik uyğunsuzluq hesabatları, düzəliş üçün biletlər.
5. Release: versiyası, sənədləşdirmə, istifadəçi təlimi.
6. Monitorinq: təzəlik, completeness, dublikatlar, cavab vaxtı, hadisələr.
7. Təftiş: təriflərin, mappinqlərin, FX siyasətinin rüblük yoxlanılması.
15) Konsolidasiya edilmiş hesabatın verilməsindən əvvəl çek siyahısı
- Metrik və iyerarxiya tərifləri semantik təbəqədə sənədləşdirilmişdir
- Valyuta konvertasiyası və vaxt zonaları konfiqurasiya; göstərilən vahidlər və kurs tarixi
- Qrupdaxili dövriyyənin eliminasiyası/NCI (tətbiq olunarsa)
- Referans mənbələri ilə invariantlar və yoxlamalar tolerantlıqda keçir
- İnkremental yenidən hesablamalar və partizanlaşdırma daxildir
- SLO təravət/mövcudluq təyin; yeniləmə statusları göstərilir
- RLS/CLS və PII maskalama özelleştirilmiş; ixrac auditi daxildir
- Versiyası/changelog və sahibləri göstərilir; runbook hadisələr var
Yekun
Aqreqasiya və konsolidasiya sadəcə 'GROUP BY' deyil, bütöv bir sistemdir: razılaşdırılmış təriflər, düzgün rollaplar, multivalyuta və təqvim, eliminasiya və müqayisə, müşahidə və SLO. Təsvir olunan arxitekturanı izləyərək, məhsulu, maliyyə və riskləri idarə etmək üçün müxtəlif məlumatları etibarlı toplulara çevirirsiniz.