GH GambleHub

Біріктіру және шоғырландырылған есептер

Агрегация және шоғырландырылған есептер

Агрегация - бұл егжей-тегжейлі жазбаларды қажетті тіліктер мен кезеңдер бойынша жиынтық көрсеткіштерге айналдыру. Шоғырландыру - әртүрлi көздерден/заңды тұлғалардан/өнiмдерден алынған агрегаттарды түзетулермен бiрыңғай есепке бiрiктiру (валюта, есепке алу саясаты, элиминация). Төменде - жүйелі тәсіл: витриналарды жобалаудан есептілікті пайдалануға дейін.

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' → одан әрі бір аптаға/айға/тоқсанға дейінгі роллаптар.
Сәйкестіктер: тұрақты кілттер (user/brand/legal_entity), сәйкестік кестелері (mapping).

3) Роллаптар мен иерархиялар

Өлшем иерархиясы: 'Ойын → Санат → Провайдер', 'Арна → Кампания → Креатив', 'Қала → Өңір → Ел → Кластер'.
Жиынтықтау қағидалары: аддитивті (сома), жартылай аддитивті (snapshot - кезеңге орташа/соңғы), аддитивті емес (коэффициенттер/пайыздар).
Дедупликация: бірегей пайдаланушылар және астық бойынша оқиғалар; көздер қосылғанда қосарланған есептен аулақ болыңыз.

4) Мультивалюталар, таймзондтар, күнтізбе

Уақыт: 'event _ time _ utc' және жергілікті бөліктерді сақтаңыз; мереке/жұмыс күндері күнтізбесі.
Валюта: операция күнгі бағам бойынша + 'base _ ccy' «шикі» соманы сақтаңыз (немесе ескертпемен кезеңнің орташа бағамы).
Қалыпқа келтіру: нақты бірліктерді/валютаны/бағам күнін көрсетіңіз.

Псевдо-SQL (конверсия және роллап):
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) Дереккөздер/заңды тұлғалар бойынша шоғырландыру

Шоттар жоспарларының картасы: жергілікті жоспарлардағы бірыңғай CoA (Chart of Accounts) + мэппинг.
Есепке алу саясаты: IFRS/GAAP/салық ережелері → трансформация қабаты (мысалы, брутто/нетто түсімі, бонустарды/комиссияларды тану).
Топішілік айналымдарды элиминациялау: холдингтің заңды тұлғалары арасындағы транзакцияларды алып тастау.
Шоғырландыру әдістері: толық, үлестік (proportionate), үлестік қатысу бойынша есеп (equity method).
Миноритарийлер: бақыланбайтын акционерлердің үлесін бөлу (NCI).

Псевдо-SQL (топішілік элиминация):
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) Өнімділік және 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) Үлгілік агрегаттар және визуализация

Өнім: құйғыштар (step-bars), когорттар (heatmap), D7/D30 ұстау, ARPU/ARPPU, GGR/Net.

Қаржы: иерархия бойынша P&L, факторлар сарқырамасы (bridge), өңірлер бойынша түсім құрылымы, G&A динамикасы

Операциялар/ML: SLA, latency p95/p99, PR-AUC/Recall @FPR ≤ x%, PSI-жылыту дрейфі.

11) Шоғырландырылған есептің паспорты (шаблон)

Код/нұсқа: 'CONSOL _ PNL _ v3'

Мақсаты: брендтер тобы бойынша P&L басқару, мультивалютасы → EUR базалық валютасы

Жабу: топтың барлық заңды тұлғалары; әдіс - толық шоғырлану; NCI - ерекшеленеді

Дереккөз/қабат: 'mart _ fin _ pnl _ v3' ('fact _ tx _ v2', 'dim _ legal', 'dim _ fx _ rates' негізделген)

Түйіршіктілігі: ай (бір күннен роллап)

Элиминациялар: 'intercompany = true' - топ ішіндегі айналымдар алынып тасталды

SLO: T + 1 06:00 лок.; қол жетімділік ≥ 99. 9%

Салыстырып тексеру: бухгалтерия есебі 'BK _ PNL _ T + 1', алшақтық ≤ 0. 3%

Иелері: Finance Analytics, Data Platform

Guardrails: FX кестесі 24 сағаттан аспайды; транзакциялар coverage ≥ 99. 5%

12) Жиі қателіктер және олардан қашу

Формуланың тыныш өзгерістері: әрқашан нұсқалар мен changelog арқылы.
Қосарланған есеп: көздердің/джойндардың қосарлануы - кілттер мен астықты бақылаңыз.
Уақытша аймақтарды араластыру: орталықтандырылған күнтізбе және UTC-сақтау.
Дұрыс емес пайыздар: «орташа» емес, алымы/бөлімін біріктіріңіз.
«Шикі» курстар: анық күні/көзі FX, дөңгелектеудің консистенттік саясаты.
Элиминацияның жоқтығы: компанияаралық айналымдар есептерді бұрмалайды.
Мөлдір емес жаңалық: әрқашан «N минут бұрын жаңартылған» деп көрсетіңіз.

13) Псевдо-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. Сипатталған архитектураға сүйене отырып, сіз өнімді, қаржыны және тәуекелдерді басқару үшін әр текті деректерді сенімді жиынтыққа айналдырасыз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Telegram
@Gamble_GC
Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.