Agregasiýa we jemlenen hasabatlar
Agregasiýa we jemlenen hasabatlar
Agregasiýa - jikme-jik ýazgylary zerur bölekler we döwürler boýunça jemleýji görkezijilere öwürmekdir. Konsolidasiýa - dürli çeşmelerden/ýuridik şahslardan/önümlerden gelen agregatlaryň düzedişler (walýuta, hasaba alyş, ýok etmek syýasaty) bilen bir hasabata birleşdirilmegi. Aşakda - ulgamlaýyn çemeleşme: vitrinleriň dizaýnyndan hasabatyň ulanylmagyna çenli.
1) Jebisleşmegiň wezipeleri we görnüşleri
Amal/Önüm: DAU/WAU/MAU, konwersiýa, ýurtlar/kanallar/platformalar boýunça girdeji.
Maliýe (upr. we kadalaşdyryjy): P&L, Cash Flow, Balance Sheet, GGR/Net Gaming Revenue, salgytlar, edara görnüşli taraplar boýunça hasabatlar.
Töwekgelçilik/gabat gelmek: antifrod, RG-görkezijiler, SLA/elýeterlilik, maglumatlaryň/modelleriň süýşmegi.
Strategiki: Holding, markalaryň bukjasy, sebitler boýunça jemlenen KPI.
2) Agregasiýa gatlagynyň arhitekturasy
Maglumat gatlaklary: 'raw' → 'staging' → 'core' (faktlar/ölçegler) → 'marts' (hasabat üçin agregatlar).
Semantik gatlak: metrikleriň, senenamanyň, walýutanyň, rollap düzgünleriniň kesgitlemeleri.
Däne we wagt-grain: 'event', 'user _ day', 'txn', 'brand _ country _ day' → indiki rollaplar bir hepde/aý/çärýege çenli.
Şahsyýetler: durnukly açarlar (user/brand/legal_entity), laýyklyk tablisalary (mapping).
3) Rollaplar we iýerarhiýalar
Ölçeg iýerarhiýalary: 'Oýun → Kategoriýa → Üpjün ediji', 'Kanal → Kampaniýa → Döredijilik', 'Şäher → Sebit → Ýurt → Klaster'.
Jemlemek kadalary: goşmaça (jemi), ýarym goşmaça (snapshot - döwür üçin ortaça/soňky), goşmaça däl (koeffisiýentler/göterimler).
Duplikasiýa: däne boýunça özboluşly ulanyjylar we wakalar; çeşmeleriň birleşmeginden gaça duruň.
4) Köp walýuta, taýmzonlar, senenama
Wagt: 'event _ time _ utc' we lokal dilimleri saklaň; baýramçylyklaryň/gul-günleriň senenamasy.
Walýuta: "çig" summany + 'base _ ccy' amal senesindäki kurs boýunça saklaň (ýa-da şertli döwrüň ortaça hümmeti).
Kadalaşma: aç-açan birlikleri/walýutany/hümmetiň senesini görkeziň.
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) Çeşmeler/ýuridik şahslar boýunça jebisleşmek
Hasap meýilnamalarynyň kartoçkasy: lokal meýilnamalardan ýeke-täk CoA (Chart of Accounts) + mapping.
Buhgalteriýa syýasaty: IFRS/GAAP/salgyt düzgünleri → üýtgeýiş gatlagy (mysal üçin, brutto/netto girdejisi, bonuslary/komissiýalary ykrar etmek).
Topar içindäki dolanyşyklary aýyrmak: Holdingiň ýuridik şahslarynyň arasyndaky amallary aýyrmak.
Konsolidasiýa usullary: doly, paýly (proportionate), paýly gatnaşmak boýunça hasap (equity method).
Minoritar paýdarlar: gözegçilik etmeýän paýdarlaryň paýyny bölüp bermek (NCI).
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) Hil we deňeşdirme (reconciliation)
Çeşmeler boýunça deňeşdirmeler: çeşme boýunça mukdar = vitrindäki mukdar (kurs/wagt boýunça rugsat bilen).
Invariantlar: 'DAU ≤ MAU', gün boýunça jemi = aýlyk netije (goşmaça metrikler üçin).
Dolulygyna gözegçilik etmek: NULL paýy, dublikatlaryň paýy, täzelik boýunça yza galmak.
Tapawutlar hakynda hasabat: gabat gelmezlikleriň sanawy we düzetmek ädimleri.
7) Öndürijilik we SLO
SLO täzelik: operatiw agregatlar - 15 minut ≤ lag; gündizki - ýerli wagt bilen 06: 00-a çenli; aýlyk - T + 1/T + 3 çenli.
Optimizasiýa: deslapky agregasiýalar, inkremental sanlar, partizasiýa (senesi/markasy/ýurdy boýunça), meşhur dilimler üçin nagt pul.
Çäklendirmeler UI: ≤ 12 kategoriýa; tablisalaryň paginasiýasy; lazy-load.
8) Kesgitnamalary we wersiýalary dolandyrmak
Metrik sözlük: kod, kesgitleme, formula, çeşme, birlikler, eýeler, guardrails.
Wersiýalaşdyrmak: 'METRIC _ vN'; islendik düzediş → täze wersiýa + backfill we changelog.
Semantik gatlak: BI/synaglar/iberişler üçin bir hakykat çeşmesi.
9) Howpsuzlyk we elýeterlilik
RLS/CLS: rollar boýunça giriş (ýurt/marka/edara görnüşli tarap), PII maskalanma.
Audit: kim we haýsy hasabaty ýükledi; eksporta gözegçilik (möhletler, bellikler).
Minimallaşdyrmak: çig PII-maglumatlary däl-de, agregatlary bermek.
10) Nusgawy agregatlar we wizuallaşdyrmalar
Önüm: huniler (step-bars), kogortlar (heatmap), D7/D30 saklamak, ARPU/ARPPU, GGR/Net.
Maliýe: iýerarhiýa, şarlawuk (bridge) faktorlary, sebitler boýunça girdejiniň gurluşy, G&A dinamikasy boýunça P&L.
Amallar/ML: SLA, latency p95/p99, PR-AUC/Recall @FPR ≤ x%, PSI-heatmap drift.
11) Jemlenen hasabatyň pasporty (şablon)
Kod/wersiýa: 'CONSOL _ PNL _ v3'
Maksady: dolandyryş P&L marka topary, multivalýuta → EUR esasy walýuta
Örtük: toparyň ähli ýuridik şahslary; usul - doly jebisleşmek; NCI - bölünýär
Çeşme/gatlak: 'mart _ fin _ pnl _ v3' ('fact _ tx _ v2', 'dim _ legal', 'dim _ fx _ rates' esaslanýar)
Granulýasiýa: Aý (günden rollap)
Eliminasiýa: 'intercompany = true' - toparyň içindäki dolanyşyklar aýryldy
SLO: T + 1 06:00 lok.; elýeterlilik ≥ 99. 9%
Deňeşdirmeler: buhgalteriýa hasabaty 'BK _ PNL _ T + 1', tapawut ≤ 0. 3%
Eýeleri: Finance Analytics, Data Platform
Guardrails: FX-tablisa 24 sagatdan uly däl; geleşikleriň coverage ≥ 99. 5%
12) Ýygy-ýygydan ýalňyşlyklar we olardan nädip gaça durmaly
Formulanyň ýuwaşlyk bilen üýtgemegi: wersiýalar we changelog arkaly.
Goşa hasap: iki sany çeşme/joýn - açarlara we däne gözegçilik ediň.
Wagt zolaklarynyň garyşmagy: merkezleşdirilen senenama we UTC-saklamak.
Nädogry göterimler: "ortaça" däl-de, alymy/bölümi jemläň.
"Çig" kurslar: aýdyň senesi/çeşmesi FX, tegeleklemegiň tutanýerli syýasaty.
Aýyrmalaryň ýoklugy: kompaniýalarara dolanyşyklar hasabatlary ýoýýar.
Aç-açan däl: hemişe "täzelenen N minut öň" görkeziň.
13) Psevdo-SQL: inkremental aýlyk agregat
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) Prosesler we peýdalanmak
1. Dizaýny: maksatlar/tomaşaçylar, metrikler, iýerarhiýalar, walýuta/wagt zolaklary.
2. Maglumatlar: çeşmeleriň şertnamalary, shemalar, hil synaglary.
3. Penjireleri gurmak: semantik obýektler, rollap-düzgünler, ýok etmek.
4. Deňeşdirmeler: gapma-garşylyklaryň awtomatiki hasabatlary, düzediş üçin barlaglar.
5. Goýbermek: wersiýa, resminamalar, ulanyjylary taýýarlamak.
6. Gözegçilik: täzelik, completeness, dublikatlar, jogap wagty, hadysalar.
7. Gözegçilik: kesgitnamalaryň, meppingleriň, FX-syýasatlaryň çärýekleýin barlagy.
15) Jemlenen hasabaty çykarmazdan öň çek-sanawy
- Metrikanyň we iýerarhiýanyň kesgitlemeleri semantik gatlakda resminamalaşdyrylýar
- Walýuta öwrülişikleri we wagt zolaklary sazlandy; walýuta hümmetiniň birlikleri we senesi görkezilýär
- Toparlaryň içindäki dolanyşyk ýok edildi/NCI (eger bar bolsa)
- Invariantlar we salgylanma çeşmeleri bilen deňeşdirmeler rugsat bilen geçirilýär
- Inkremental gaýtadan sanamak we partiýa ýerleşdirmek goşulýar
- Täzelik/elýeterlilik SLO berildi; täzelenme ýagdaýlary görkezilýär
- RLS/CLS we PII gizlemek sazlandy; eksport barlagy girizildi
- /changelog wersiýasy we eýeleri görkezilýär; wakalaryň runbook bar
Jemi
Agregasiýa we konsolidasiýa diňe bir 'GROUP BY' däl, eýsem bitewi ulgam: ylalaşylan kesgitlemeler, dogry rollaplar, multivalýuta we senenama, ýok etmek we deňeşdirmek, gözegçilik etmek we SLO. Beýan edilen arhitektura eýerip, dürli maglumatlary önümi, maliýe we töwekgelçilikleri dolandyrmak üçin ygtybarly toplumlara öwürýärsiňiz.