GH GambleHub

Metrik arxitektura

Metrik arxitektura

Metrika arxitekturasi - bu butun tashkilot bo’ylab bir ma’noli ta’riflarni, takrorlanadigan hisob-kitoblarni, shaffof foydalanishni va ko’rsatkichlardan ishonchli foydalanishni ta’minlaydigan qoidalar, artefaktlar va servislar tizimidir. Maqsad - «MAU», «Retention D30» yoki «ARPPU» barcha dashbordlar, eksperimentlar va hisobotlarda bir xil hisoblanishidir.

1) Qonunning

1. Formulalar va ma’lumotnomalar uchun yagona haqiqat manbai.
2. Semantikani amalga oshirishdan ajratish: biznes ta’rifi har bir SQL/noutbukda emas, balki semantik qatlamda yashaydi.
3. Tarixning boshqariladigan migratsiyasi bilan metrik, sxema va formulalarni (v1 → v2) versiya qilish.
4. Reproduktivlik va testlanuvchanlik: hisob-kitoblar determinizatsiya qilingan, testlar bilan qoplangan.
5. Kuzatilganlik: tazelik, to’liqlik, konsistentlik va dreyf - SLO va alertlar bilan.
6. Xavfsizlik va maxfiylik: PII, RLS/CLS, auditni minimallashtirish.
7. Operatsiya kod sifatida: aniqliklar, transformatsiyalar, siyosatlar - C/CD bilan repozitoriyada.

2) Arxitektura qatlamlari

Boshlang’ich ma’lumotlar: voqealar/tranzaksiyalar, ma’lumotnomalar, modellar/infra loglari.
Integratsiya va tozalash: CDC/inkremental yuklash, dedup, vaqt zonalarini birxillashtirish.
Ma’lumotlar modeli (DWH): yulduz/qor, sekin o’zgaruvchan o’lchovlar (SCD), surrogat kalitlar.
Metriklarning semantik qatlami: yagona taʼriflar, agregatsiyalar, filtrlar, time grain, rollap-mantiq.
Hisob-kitob qatlami: batch/mikrobatch/oqim; derazalar, suv belgilari, kalitlar bo’yicha dedup.
Katalog va lug’at: «metrika pasporti», lineage, egalari, huquqlari.
Foydalanish va iste’mol qilish: BI/dashbordlar, API metriklar, tushirishlar, eksperimentlar/AV.

3) Ma’lumotlar kontraktlari va metriklar

Manba kontrakti (voqealar/jadvallar)

Sxema: maydonlar, turlar, nullabellik, birlamchi kalit.
SLA: yangilik (masalan, «10 daqiqadan ≤»), chastota, eng ko’p kechiktirilgan kelish.
Sifati: kalitning oʻziga xosligi, ruxsat etilgan qiymatlar domenlari, timezone, idempotentlik.
Oʻzgarishlar: sxema evolyutsiyasi siyosati (backward/forward), deprecation-plan.

Metrika kontrakti

Nomi/kodi: ’RET _ D30 _ v2 ’

Domeyn/egasi: Product Analytics

Taʼrifi (inson tili)

Formula: SQL/psevdokod + kirish vitrinalari/semantik obyektlar

Granulyarlik/vaqtinchalik mantiq: day/week; point-in-time qoidalari, timezone

Andoza segmentlar/filterlar

Birliklar va valyutalar (konversiya kursi/sanasi)

SLO: yangilik ≤ X, aniqlik ≥ Y, foydalanish imkoniyati ≥ Z

Versiya/o’zgarishlar tarixi/kirish sanasi

Guardrails: ruxsat etilgan diapazonlar, p1/p99 vinzorlash qoidalari

4) Metriklarning semantik qatlami

Qatlamning vazifasi - agregatsiya qoidalari va ta’riflarini markazlashtirilgan holda saqlash:
  • Elementlar: oʻlchovlar (date, country, platform), faktlar (events, revenue), metriklar (ARPU, Retention D30), hisoblanadigan maydonlar, taqvim (qul/dam olish kunlari, bayramlar).
  • Vaqt harakati: taqvim jadvallari, laglar, kogortlar, «sirpanuvchi» derazalar (7/30/90).
  • Rollap va konsistentlik: kunlar bo’yicha summa = oy, bunda ikki marta hisobga olishni istisno qilish (distinct users).
  • Mix-adjustment: halol YoY uchun doimiy kanallar/mamlakatlar aralashmasi ostida normallashtirish.
  • Multivalyuta/taymzonlar: tranzaksiya sanasida bazaviy valyutaga keltirish; lokal va «kanonik» UTC-kesmalar.

5) Hisob-kitob: batch, mikrobatch, oqim

Batch: tungi/soatbay joblar, to’liq/inkremental qayta hisoblashlar, idempotentlikni nazorat qilish.
Mikrobatch: tezkor dashbordlar uchun derazalar 1-15 daqiqa.
Oqim: shina orqali voqealar; derazalar (tumbling/sliding/session), suv belgilari (late data), exactly-once semantika (kalit bo’yicha dedup + offset store).

Oyna namunalari:
  • operativ KPI uchun’HOP 5m, WINDOW 1h’;
  • kunduzgi metriklar uchun’TUMBLE 1d’;
  • Sessiyalar uchun’SESSION 30m’.

6) Sifat va tekshirilishi

Ma’lumotlar testlari: sxematik, domen (diapazonlar), referensial aloqalar.
Metrik testlar: invariantlar (DAU ≤ MAU), bo’sh bo’lmagan segmentlar, monotonlikni kutish (kumulyativ).
Solishtirish (reconciliation): semantik qatlam va referens-hisobotlar/buxgalteriya o’rtasida.
Data health: yangilik, completeness, dublikatlar, NULL ulushi, g’ayritabiiy poygalar.
Dreyf metrikasi: PSI/KL/JS, ayniqsa ML-metrik uchun.

7) Versiyalash va migratsiya

Formulaning versiyasi:’METRIC _ NAME _ vN’. Versiyani oʻzgartirmasdan taʼrifni «jimgina» oʻzgartirish taqiqlangan.

Migratsiya strategiyasi:
  • Side-by-side: v1 va v2 parallel hisoblanadi; foydalanuvchilarni solishtirish va o’qitish o’tkaziladi.
  • Cut-over: past yuklamali oynada iste’molchilarni v2 ga o’tkazish; arxiv v1.
  • Tarixni qayta hisoblash: tarixiy ma’lumotlar bo’yicha backfill; farq protokoli (diff-hisobot).
  • Kommunikatsiyalar: changelog, kirish sanasi, kimga ta’sir qiladi, yo’riqnomalar.

8) Metriklar uchun ma’lumotlar modeli

Faktlar: don (event_id, transaction_id, user_day), hodisa vaqti, yig’indisi/miqdori.
O’lchovlar: foydalanuvchi, qurilma, geografiya, kanal, mahsulot, taqvim; Tarixiylik uchun SCD turi.
Kalitlar: surrogat ID, barqaror biznes kalitlari, muvofiqlik jadvallari (mapping).
Anti-dubli: identifikatsiya qoidalari (user merge), sessiyalarni yopishtirish oynalari.

9) Birliklar, valyutalar, mavsumiylik

Birliklar/format: aniq o’lchov, yaxlitlash, shkalalar (log/chiziqli).
Multivalyuta: operatsiya sanasidagi kurs bo’yicha konvertatsiya; «xom» va normallashtirilgan summani saqlash.
Mavsumiylik: YoY va mavsumiy indekslar; alohida «bayram» effektlari.

10) Xavfsizlik va foydalanish

Row-Level Security (RLS): mamlakat/brend/sherik kesimida metriklardan foydalanish.
Column-Level Security (CLS): PII/moliyaviy sohalarni yashirish.
Audit: kim metrikani so’ragan, qanday filtrlar, qanday ma’lumotlarni eksport qilgan.
API differensiatsiyasi: «rollar bo’yicha agregatlar» vs «batafsil tushirishlar».

11) Kuzatuv va SLO

SLO yangilik: masalan, «tezkor KPI - lag ≤ 15 min, kundalik - 06:00 gacha mahalliy vaqt».
Foydalanish imkoniyati: ≥ 99. 9% API/semantik qatlam uchun.
Alertlar: SLOning kechikishi, metriklarning sakrashi, NULL/dublikatlarning o’sishi, farqlar v1 vs v2> X%.
Runbooks: degradatsiyada nima qilish kerak - RCA, fallback qadamlari (masalan, oxirgi valid «snepshot-metrika» ga o’tish).

12) Eksperimentlar va metriklar

Guardrail metrikalari: latentlik, ishlamay qolish, skoring uchun FPR/FNR.
A/B uchun yagona ta’riflar: konversiyalar, ushlab qolish, NSM - bir xil semantik qatlam orqali.
Minimal farqlanuvchi effekt (MDE), power-analiz: parametrlarni metrika kartasida saqlash.
Kauzal atributsiya: mix-adjustment va nazorat guruhlari siyosati.

13) API metrik va iste’mol

Запросы: `GET /metrics/{name}?from=2025-09-01&to=2025-10-01&dims=country,platform&filters=channel:paid`.
Siyosat: limitlar, kesh, paginatsiya, idempotent «eksportlar».
Versiyalar:’X-Metric-Version: v2’sarlavhasi, deprecation haqida ogohlantirishlar.

14) Shablonlar va artefaktlar

Metrika pasporti (misol)

Kod/versiya: ’ARPPU _ v3 ’

Aniqlanishi: to’lovchi foydalanuvchiga o’rtacha tushum

Формула: `sum(revenue_net) / count_distinct(user_id where paying_flag=1)`

Granulyarligi: kun; rollup: hafta/oy = oluvchining summasi/bo’limning summasi

Manba: ’fact _ payments _ v2’,’dim _ users _ scd ’

Birliklar: valyuta’base _ ccy’; sanadagi kurs bo’yicha konvertatsiya

Andoza filtrlar: aktiv bozorlar, sinov tranzaksiyalarini bekor qilish

SLO: yangilik ≤ 1 soat; API mavjudligi ≥ 99. 9%

Guardrails: ARPPU ∈ [0; 10 000]; vinzorizatsiya p1/p99

Egalari: Monetization Analytics; taftish sanasi: 2025-10-01

Metrika relizining check-list

  • Ta’rif va formula kelishilgan, testlar bilan qoplangan
  • Semantik obyekt yaratilgan; lineage hujjatlashtirilgan
  • Backfill va referens bilan taqqoslash tugadi
  • SLO/alertlar sozlangan; runbook tayyor
  • Huquqlar va RLS sozlangan; PII yashirin
  • Dashbordlarda/tajribalarda eski versiyalar almashtirildi
  • Changelog/aloqa jo’natildi

SQL-psevdokod point-in-time (Retention D30 misoli)

sql
WITH cohort AS (
SELECT user_id, MIN(event_date) AS signup_date
FROM fact_events
WHERE event_type = 'signup'
GROUP BY 1
),
activity AS (
SELECT user_id, event_date
FROM fact_events
WHERE event_type = 'app_open'
),
ret AS (
SELECT c. signup_date,
COUNT(DISTINCT CASE WHEN a. event_date = c. signup_date + INTERVAL '30 day' THEN a. user_id END) AS returned,
COUNT(DISTINCT c. user_id) AS cohort_size
FROM cohort c
LEFT JOIN activity a
ON a. user_id = c. user_id
AND a. event_date BETWEEN c. signup_date AND c. signup_date + INTERVAL '30 day'
GROUP BY 1
)
SELECT signup_date, returned / cohort_size AS retention_d30
FROM ret;

15) Tez - tez xatolar va ulardan qanday qochish mumkin

Formulalarni jim tahrirlash: har doim versiya va changelog orqali.
Har bir noutbukning metrikasi har xil: semantik/API qatlamiga majburlang.
Kelishilmagan taymzonlar/valyutalar: markazlashtirilgan taqvim va FX-jadval.
Foydalanuvchilarning ikki tomonlama hisobi: rollap qoidalari va noyob kalitlar.
Shaffof bo’lmagan yangilanish vaqtini aniq ko’rsating.
Bitta muhandisga bog’liqlik: hamma narsa kod kabi, revyu va onkoll bilan.

Jami

Metrik arxitektura - lugʻat + semantik qatlam + ishonchli hisob-kitob + governans va SLO. Ta’riflangan tamoyillarga (kontraktlar, testlar, versiyalar, kuzatuv, xavfsizlik) amal qilib, siz metrikani «raqamlar to’g’risidagi nizolardan» mahsulot va biznesni boshqarishning barqaror mexanizmiga aylantirasiz.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.