Agregatsiya va konsolidatsiyalashgan hisobotlar
Agregatsiya va konsolidatsiyalashgan hisobotlar
Agregatsiya - bu batafsil yozuvlarni kerakli kesimlar va davrlar bo’yicha yig’ma ko’rsatkichlarga aylantirishdir. Konsolidatsiya - turli manbalar/yuridik shaxslar/mahsulotlar agregatlarini tuzatishlar kiritilgan holda yagona hisobotga (valyuta, hisobga olish siyosati, eliminatsiya) birlashtirish. Quyida - tizimli yondashuv: vitrinalarni loyihalashdan hisobotlardan foydalanishgacha.
1) Konsolidatsiyalashning vazifalari va turlari
Operatsion/mahsulot: DAU/WAU/MAU, konversiyalar, mamlakatlar/kanallar/platformalar bo’yicha tushum.
Moliya (O’zbekiston Respublikasi P&L, Cash Flow, Balance Sheet, GGR/Net Gaming Revenue, soliqlar, yuridik shaxslar bo’yicha hisobotlar.
Xavf/komplayens: antifrod, RG-indikatorlar, SLA/foydalanish imkoniyati, ma’lumotlar/modellar dreyfi.
Strategik: xolding, brendlar portfeli, hududlar bo’yicha yig’ma KPI.
2) Agregatsiyalar qatlami arxitekturasi
Maʼlumot qatlamlari:’raw’→’staging’→’core’(faktlar/oʻlchovlar) →’marts’(hisobot uchun agregatlar).
Semantik qatlam: metrik, kalendar, valyuta, rollap qoidalari.
Don va time-grain:’event’,’user _ day’,’txn’,’brand _ country _ day’→ keyingi rollaplar hafta/oy/chorakgacha.
Identifikatsiyalar: barqaror kalitlar (user/brand/legal_entity), muvofiqlik jadvallari (mapping).
3) Rollaplar va ierarxiyalar
O’lchash ierarxiyasi:’O’yin → Turkum → Provayder’,’Kanal → Kampaniya → Ijodiy’,’Shahar → Mintaqa → Mamlakat → Klaster’.
Jamlash qoidalari: qo’shimcha (summa), yarim qo’shimcha (snapshot - davr uchun o’rtacha/oxirgi), qo’shimcha bo’lmagan (koeffitsiyentlar/foizlar).
Deduplikatsiya: g’alla bo’yicha noyob foydalanuvchilar va voqealar; manbalar qoʻshilganda ikki marta hisobdan qoching.
4) Multivalyuta, taymzonlar, taqvim
Vaqt:’event _ time _ utc’va lokal qismlarni saqlang; bayramlar/qul-kunlar taqvimi.
Valyuta: «xom» summani +’base _ ccy’ni operatsiya sanasidagi kurs bo’yicha saqlang (yoki shartli davrning o’rtacha kursi).
Normallashtirish: aniq birliklar/valyuta/kurs sanasini koʻrsating.
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) Manbalar/yuridik shaxslar bo’yicha konsolidatsiya
Hisoblar rejalari mapping: yagona CoA (Chart of Accounts) + lokal rejalar mapping.
Hisobga olish siyosati: IFRS/GAAP/soliq qoidalari → transformatsiyalar qatlami (masalan, brutto/netto tushumi, bonuslar/komissiyalarni tan olish).
Guruh ichidagi aylanmalarni yo’q qilish: xolding yuridik shaxslari o’rtasidagi tranzaksiyalarni istisno qilish.
Konsolidatsiya usullari: to’liq, ulushli (proportionate), ulushli ishtirok bo’yicha hisobga olish (equity method).
Minoritar aksiyadorlar: nazorat qilinmaydigan aksiyadorlar ulushini ajratish (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) Sifat va solishtirish (reconciliation)
Manbalar bo’yicha solishtirishlar: manbalar bo’yicha summa = vitrinadagi summa (kurs/vaqt bo’yicha yo’l qo’yilgan holda).
Invariantlar:’DAU ≤ MAU’, kunlar bo’yicha summa = oylik yakun (qo’shimcha metriklar uchun).
To’liqlikni nazorat qilish: NULL ulushi, dublikatlar ulushi, yangilik bo’yicha orqada qolish.
Tafovutlar to’g "risidagi hisobot: nomuvofiqliklar ro’yxati va bartaraf etish choralari.
7) Unumdorlik va SLO
SLO yangiligi: operativ agregatlar - lag ≤ 15 min; kunduzgi - mahalliy vaqt bilan 06:00 gacha; oylik - T + 1/T + 3 gacha.
Optimallashtirish: oldindan agregatsiyalash, inkremental qayta hisoblash, partiyalashtirish (sana/brend/mamlakat bo’yicha), ommabop kesmalar uchun kesh.
Cheklovlar UI: jadvalga 12 toifa ≤; jadvallarni paginatsiya qilish; lazy-load.
8) Ajrimlar va versiyalarni boshqarish
Metrik lugʻat: kod, taʼrif, formula, manba, birliklar, egalar, guardrails.
Versiyalash:’METRIC _ vN’; har qanday tahrir → yangi versiya + backfill va changelog.
Semantik qatlam: BI/eksperimentlar/jo’natmalar uchun bitta haqiqat manbai.
9) Xavfsizlik va foydalanish
RLS/CLS: rollar bo’yicha foydalanish (mamlakat/brend/yuridik shaxs), PII niqoblash.
Audit: kim va qanday hisobotni yuklagan; eksportni nazorat qilish (muddatlar, tokenlar).
Minimallashtirish: xom PII ma’lumotlar emas, balki agregatlar berish.
10) Namunaviy agregatlar va vizualizatsiya
Mahsulot: hunilar (step-bars), kogortlar (heatmap), D7/D30 ushlab turish, ARPU/ARPPU, GGR/Net.
Moliya: ierarxiya bo’yicha P&L, sharshara (bridge) omillari, mintaqalar bo’yicha tushum tuzilmasi, G&A dinamikasi
Operatsiyalar/ML: SLA, latency p95/p99, PR-AUC/Recall @FPR ≤ x%, PSI-heatmap dreyf.
11) Konsolidatsiyalashgan hisobot pasporti (shablon)
Kod/versiya: ’CONSOL _ PNL _ v3 ’
Maqsadi: boshqaruv P&L brendlar guruhi, multivalyuta → EUR bazaviy valyutasi
Qamrov: guruhning barcha yuridik shaxslari; usul - to’liq konsolidatsiya; NCI - tanlangan
Manba/qatlam: ’mart _ fin _ pnl _ v3’(’fact _ tx _ v2’,’dim _ legal’,’dim _ fx _ rates’asosida)
Granulyarlik: oy (kundan-kunga)
Eliminatsiyalar: ’intercompany = true’- guruh ichidagi aylanmalar chiqarib tashlandi
SLO: T + 1 06:00 lok.; foydalanish imkoniyati ≥ 99. 9%
Solishtirishlar: buxgalteriya hisoboti’BK _ PNL _ T + 1’, tafovut ≤ 0. 3%
Egalari: Finance Analytics, Data Platform
Guardrails: 24 soatdan oshmagan FX jadval; tranzaksiyalar coverage ≥ 99. 5%
12) Tez - tez xatolar va ulardan qanday qochish mumkin
Formulaning jimgina oʻzgarishi: har doim versiyalar va changelog orqali.
Ikki marta hisobga olish: ikki xil manbalar/joylar - kalitlar va donni nazorat qiling.
Vaqtinchalik zonalarni aralashtirish: markazlashtirilgan taqvim va UTC saqlash.
Noto’g’ri foizlar: «o’rtacha» emas, balki o’lchamni/bo’limni birlashtirish.
«Xom» kurslar: aniq sana/manba FX, doiralashtirishning konsistent siyosati.
Eliminatsiya yo’qligi: kompaniyalararo aylanmalar hisobotlarni buzadi.
Shaffof bo’lmagan yangilik: har doim «N daqiqa oldin yangilangan».
13) Psevdo-SQL: inkremental oylik 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) Jarayonlar va ekspluatatsiya
1. Dizayn: maqsad/auditoriya, metrika, ierarxiya, valyuta/taymzonlar.
2. Ma’lumotlar: manbalar kontraktlari, sxemalar, sifat testlari.
3. Vitrinalarni qurish: semantik obyektlar, rollap-qoidalar, eliminatsiyalar.
4. Solishtirishlar: tafovutlarning avtomatik hisobotlari, tuzatish uchun tiketlar.
5. Reliz: versiya, hujjatlar, foydalanuvchilarni o’qitish.
6. Monitoring: yangilik, completeness, dublikatlar, javob vaqti, hodisalar.
7. Taftish: ajrimlar, meppinglar, FX-siyosatni har chorakda tekshirish.
15) Konsolidatsiyalashgan hisobot chiqarishdan oldingi chek-varaq
- Metrika va ierarxiya ta’riflari semantik qatlamda hujjatlashtirilgan
- Valyuta konvertatsiyasi va taymzonlar sozlangan; kurs birligi va sanasi ko’rsatilgan
- Guruh ichidagi aylanmalar/NCI (agar qo’llanilsa) eliminatsiyalari amalga oshirildi
- Invariantlar va referens manbalar bilan solishtirishlar ruxsatnomalarda o’tkaziladi
- Inkremental qayta hisoblash va partiyalashtirish
- Yangi/ochiq SLO belgilangan; yangilanish holatlari koʻrsatilmoqda
- RLS/CLS va PII maskalash moslashtirilgan; eksport auditi kiritilgan
- Versiya/changelog va egalari ko’rsatilgan; hodisalar runbook
Jami
Agregatsiya va konsolidatsiya - bu shunchaki’GROUP BY’emas, balki yaxlit tizim: kelishilgan ta’riflar, to’g’ri rollaplar, multivalyuta va taqvim, eliminatsiya va solishtirishlar, kuzatuv va SLO. Ushbu arxitekturaga amal qilib, siz turli xil ma’lumotlarni mahsulot, moliya va xatarlarni boshqarish uchun ishonchli to’plamlarga aylantirasiz.