Агрегация жана консолидацияланган отчеттор
Агрегация жана консолидацияланган отчеттор
Агрегация - бул деталдуу жазууларды керектүү кесиндилер жана мезгилдер боюнча жыйынды көрсөткүчтөргө айландыруу. Консолидация - ар кандай булактардан/юридикалык жактардан/өнүмдөрдөн келген агрегаттарды түзөтүүлөр (валюта, эсепке алуу саясаты, элиминация) менен бирдиктүү отчетко бириктирүү. Төмөндө - системалуу ыкма: терезелерди долбоорлоодон отчеттуулукту эксплуатациялоого чейин.
1) Консолидациянын милдеттери жана түрлөрү
Операциялык/азык-түлүк: DAU/WAU/MAU, конверсиялар, өлкөлөр/каналдар/платформалар боюнча киреше.
Финансылык. P&L, Cash Flow, Balance Sheet, GGR/Net Gaming Revenue, салыктар, юридикалык жактар боюнча отчеттор.
Тобокелдик/комплаенс: антифрод, RG-индикаторлор, SLA/жеткиликтүүлүк, маалыматтар/моделдер.
Стратегиялык: холдинг, бренддердин портфели, региондор боюнча чогуу алгандагы KPI.
2) Агрегация катмарынын архитектурасы
Маалымат катмарлары: 'raw' → 'staging' → 'core' (фактылар/өлчөмдөр) → 'marts' (отчеттор үчүн агрегаттар).
Семантикалык катмар: метрика аныктамалары, календар, акча, роллап эрежелери.
Дан жана time-grain: 'event', 'user _ day', 'txn', 'brand _ country _ day' → жума/ай/чейрек чейин кийинки rollaps.
Идентификациялар: туруктуу ачкычтар (user/brand/legal_entity), шайкештик таблицалары (mapping).
3) Роллап жана иерархия
Өлчөө иерархиясы: 'Оюн → Категория → Провайдер', 'Канал → Кампания → Креатив', 'Шаар → Аймак → Өлкө → Кластер'.
Суммалоо эрежелери: аддитивдик (сумма), жарым аддитивдик (snapshot - мезгилге орточо/акыркы), аддитивдик эмес (коэффициенттер/пайыздар).
Дедупликация: уникалдуу колдонуучулар жана дан боюнча окуялар; булактарды бириктирүүдө кош эсепке алуудан качыңыз.
4) Мультивалюталар, таймзондор, календар
Убакыт: 'event _ time _ utc' жана жергиликтүү тилкелерди сактоо; майрам календары/кул-күн.
Валюта: "чийки" сумманы + "base _ ccy" операция күнүндөгү курс боюнча сактаңыз (же эскертүү менен мезгилдин орточо курсу).
Нормалдашуу: айкын бирдиктерди/валютаны/курстун күнүн көрсөтүңүз.
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) Булактар/юридикалык жактар боюнча консолидация
Mapping эсептер пландары: Бирдиктүү CoA (Accounts Chart) + жергиликтүү пландардан сатып алуу.
Эсепке алуу саясаты: IFRS/GAAP/салык эрежелери → трансформация катмары (мисалы, брутто/таза киреше, бонустарды/комиссияларды таануу).
Топ ичиндеги жүгүртүүлөрдү жоюу: холдингдин юридикалык жактарынын ортосундагы транзакцияларды алып салуу.
Консолидациялоо ыкмалары: толук, үлүштүк (proportionate), үлүштүк катышуу боюнча эсепке алуу (equity method).
Миноритардык акционерлер: көзөмөлсүз акционерлердин үлүшүн бөлүү (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) Сапаты жана текшерүү (reconciliation)
Булактар боюнча салыштыруу: булактар боюнча сумма = витринадагы сумма (курс/убакыт боюнча уруксат менен).
Инварианттар: 'DAU ≤ MAU', күн боюнча сумма = айлык жыйынтык (кошумча метриктер үчүн).
Толук контролдоо: NULL үлүшү, дубликаттардын үлүшү, сергектик боюнча артта калуу.
Айырмачылыктар жөнүндө отчет: айырмачылыктардын тизмеси жана жоюу кадамдары.
7) Performance жана SLO
SLO сергектик: ыкчам агрегаттар - лаг ≤ 15 мин; күндүзгү - жергиликтүү убакыт боюнча 06:00 чейин; айлык - T + 1/T + 3 чейин.
Оптималдаштыруу: алдын ала агрегация, инкременталдык кайра эсептөөлөр, партиялаштыруу (дата/бренд/өлкө боюнча), популярдуу кесилиштер үчүн кэш.
UI чектөөлөрү: график боюнча 12 категорияга ≤; таблицалардын пагинациясы; lazy-load.
8) Аныктамаларды жана версияларды башкаруу
Сөздүк метрика: код, аныктама, формула, булак, бирдиктер, ээлери, guardrails.
Версиялоо: 'METRIC _ vN'; ар кандай түзөтүүлөр → жаңы версия + backfill жана changelog.
Семантикалык катмар: BI/эксперименттер/жөнөтүү үчүн бир чындык булагы.
9) Коопсуздук жана жетүү
RLS/CLS: ролдорго жетүү (өлкө/бренд/юридикалык жак), PII жашыруу.
Аудит: ким жана кандай отчетту жүктөгөн; экспортту көзөмөлдөө (мөөнөттөр, белгилер).
Минималдаштыруу: чийки PII маалыматтарды эмес, агрегаттарды берүү.
10) Типтүү агрегаттар жана көрүү
Продукт: Huni (step-bars), cogorts (heatmap), D7/D30 сактоо, ARPU/ARPPU, GGR/Net.
Финансы: Иерархия боюнча P&L, шаркыратма (bridge) факторлору, региондор боюнча киреше түзүмү, G&A динамикасы
Операциялар/МЛ: SLA, latency p95/p99, PR-AUC/Recall @FPR ≤ x%, PSI-жылыткыч дрейф.
11) Консолидацияланган отчеттун паспорту (шаблон)
Код/версия: 'CONSOL _ PNL _ v3'
Максаты: башкаруу P&L бренд тобу, multivalyuta → EUR негизги акча
Жабуу: бардык юридикалык жактар тобу; ыкма - толук консолидация; NCI - өзгөчөлөнүп турат
Булак/катмар: 'mart _ fin _ pnl _ v3' ('fact _ tx _ v2', 'dim _ legal', 'dim _ fx _ rates' негизинде)
Гранулдуулук: ай (күндөн-күнгө rollap)
Элиминация: 'intercompany = true' - топ ичиндеги жүгүртүүлөр алынып салынат
SLO: T + 1 06:00 lok.; жеткиликтүүлүгү ≥ 99. 9%
Салыштыруу: Бухгалтердик отчет 'BK _ PNL _ T + 1', айырмачылык ≤ 0. 3%
Ээлери: Finance Analytics, Data Platform
Guardrails: FX стол 24 сааттан жогору эмес; транзакциялардын coverage ≥ 99. 5%
12) көп каталар жана аларды качуу үчүн кантип
Тынч формула өзгөрүүлөр: ар дайым чыгаруу жана changelog аркылуу.
Double эсепке алуу: double булактары/джойндор - ачкычтарды жана дан контролдоо.
Убакыт зоналарын аралаштыруу: борборлоштурулган календар жана UTC сактоо.
Туура эмес пайыздар: "орточо" эмес, алуучу/бөлүкчөнү бириктирүү.
"Чийки" курстар: ачык дата/булак FX, консистенттик тегеректөө саясаты.
Элиминациялардын жоктугу: компаниялар аралык жүгүртүүлөр отчетторду бурмалайт.
Тунук эмес сергектик: ар дайым көрсөтүү "жаңыртылган N мүнөт мурун".
13) Pseudo-SQL: инкременталдык айлык бирдиги
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) Процесстер жана эксплуатация
1. Дизайн: максаттар/аудитория, метрика, иерархия, акча/убакыт зоналары.
2. Маалыматтар: булактардын келишимдери, схемалар, сапат тесттери.
3. Витриналарды куруу: семантикалык объекттер, роллап эрежелери, элиминация.
4. Салыштыруу: автоматтык айырмачылыктардын отчеттору, оңдоого билеттер.
5. Релиз: версия, документтер, колдонуучуларды окутуу.
6. Мониторинг: сергектик, completeness, дубликат, жооп убактысы, окуялар.
7. Аудит: аныктамаларды, мэппингдерди, FX-саясатты кварталдык текшерүү.
15) Консолидацияланган отчетту чыгарууга чейинки чек-баракчасы
- Метрика жана иерархия аныктамалары семантикалык катмарда документтештирилген
- Валюталарды жана таймзондорду конверсиялоо; курстун бирдиктери жана датасы көрсөтүлөт
- Топ ичиндеги жүгүртүүлөрдү элиминациялоо/NCI (эгер колдонулса)
- Инварианттар жана референттик булактар менен салыштыруу
- Инкременталдык кайра эсептөөлөр жана партиялаштыруу кирет
- SLO сергектик/жеткиликтүүлүк белгиленген; жаңылоо статусу көрсөтүлөт
- RLS/CLS жана PII маскасын орнотулган; экспорттук аудит киргизилген
- Версия/changelog жана ээлери көрсөтүлгөн; runbook окуялар бар
Жыйынтык
Агрегация жана консолидация - бул жөн гана 'GROUP BY' эмес, бирдиктүү система: макулдашылган аныктамалар, туура роллаптар, мультивалюталар жана календарлар, элиминациялар жана салыштыруулар, байкоо жана SLO. Сүрөттөлгөн архитектураны ээрчип, сиз ар түрдүү маалыматтарды продуктуну, каржыны жана тобокелдиктерди башкаруу үчүн ишенимдүү топтомдорго айландырасыз.