Metrleriň arhitekturasy
Metrleriň arhitekturasy
Metrikleriň arhitekturasy - bu kadalaryň, artefaktlaryň we hyzmatlaryň ulgamy bolup, olaryň birmeňzeş kesgitlemelerini, köpeldilip bilinýän hasaplamalary, görkezijileriň aç-açan elýeterliligini we tutuş guramada ygtybarly peýdalanylmagyny üpjün edýär. Maksat "MAU", "Retention D30" ýa-da "ARPPU" ähli dashbordlarda, synaglarda we hasabatlarda birmeňzeş hasaplanmakdyr.
1) Ýörelgeler
1. Formulalar we gollanmalar üçin ýeke-täk hakykat çeşmesi.
2. Semantikany durmuşa geçirmekden bölmek: iş kesgitlemesi her SQL/noutbukda däl-de, semantik gatlakda ýaşaýar.
3. Dolandyrylýan taryhyň göçmegi bilen metrikleri, shemalary we formulalary (v1 → v2) wersiýalaşdyrmak.
4. Köpelmek we synagdan geçirmek: hasaplamalar determinirlenen, synaglar bilen örtülen.
5. Syn edilişi: täzelik, dolulyk, yzygiderlilik we süýşmek - SLO we alertler bilen.
6. Howpsuzlyk we gizlinlik: PII, RLS/CLS minimallaşdyrmak, audit.
7. Kod hökmünde operasiýa: kesgitlemeler, üýtgeşmeler, syýasatlar - C/CD bilen ammarda.
2) Binagärlik gatlaklary
Başlangyç maglumatlar: wakalar/amallar, gollanmalar, modelleriň ýazgylary/infra.
Integrasiýa we arassalamak: CDC/içerki ýüklemek, deadup, wagt zolaklaryny birleşdirmek.
Maglumatlar modeli (DWH): ýyldyz/gar tanky, ýuwaş-ýuwaşdan üýtgeýän ölçegler (SCD), surrogat açarlary.
Metrikleriň semantik gatlagy: bitewi kesgitlemeler, agregasiýalar, süzgüçler, wagt çyzgysy, rollap-logika.
Hasaplaşyk gatlagy: batch/mikrobatch/akym; penjireler, suw bellikleri, açarlar boýunça atalar.
Katalog we sözlük: "metrikanyň pasporty", lineage, eýeler, hukuklar.
Giriş we sarp etmek: BI/daşbordlar, API metrikleri, düşürmeler, synaglar/AV.
3) Maglumatlar we metrika şertnamalary
Çeşme şertnamasy (wakalar/tablisalar)
Shema: meýdanlar, görnüşler, nullabellik, esasy açar.
SLA: täzelik (mysal üçin "10 minutdan ≤"), ýygylyk, iň köp gijikdirilen geliş.
Hil: açaryň özboluşlylygy, bahalaryň rugsat berilýän domenleri, timezone, idempotentlik.
Üýtgeşmeler: shemanyň ewolýusiýa syýasaty (backward/forward), deprecation-plan.
Metrika şertnamasy
Ady/kody: 'RET _ D30 _ v2'
Domain/eýesi: Product Analytics
Kesgitleme (adam dili)
Formula: SQL/psevdokod + giriş penjireleri/semantik obýektler
Granulýasiýa/Wagt logikasy: day/week; point-in-time düzgünleri, timezone
Segmentler/süzgüçler
Birlikler we walýutalar (alyş-çalyş hümmeti/senesi)
SLO: täzelik ≤ X, takyklyk ≥ Y, elýeterlilik ≥ Z
Wersiýa/üýtgeşmeleriň taryhy/giriş senesi
Garawullar: Rugsat berilýän aralyklar, p1/p99 winzorizasiýa düzgünleri
4) Metrikleriň semantik gatlagy
Gatlagyň wezipesi - agregasiýa kesgitlemelerini we düzgünlerini merkezleşdirilen saklamak:- Elementler: ölçegler (date, country, platform), faktlar (events, revenue), metrikler (ARPU, Retention D30), hasaplanan meýdanlar, senenama (gul/dynç günleri, baýramçylyklar).
- Wagtyň özüni alyp barşy: senenama tablisalary, laglar, kogortlar, "süýşýän" penjireler (7/30/90).
- Rollap we tutanýerlilik: gün boýunça jemi = aý, şol bir wagtyň özünde goşa hasaby aýyrmak (distinct users).
- Mix-adjustment: dogruçyl YoY üçin kanallaryň/ýurtlaryň hemişelik garyndysyna kadalaşmak.
- Multivalýuta/taýmzonlar: geleşik senesinde esasy walýuta getirmek; lokal we "kanonik" UTC dilimleri.
5) Hasaplamak: batç, mikrobatç, akym
Batch: gijeki/sagatlyk joblar, doly/inkremental sanalmalar, idempotentlige gözegçilik.
Mikrobatç: operatiw daşbordlar üçin penjireler 1-15 minut.
Akym: teker arkaly wakalar; penjireler (tumbling/sliding/session), suw bellikleri (late data), exactly-once semantika (açar baby + offset store).
- Operatiw KPI üçin 'HOP 5m, WINDOW 1h';
- Gündiz metrleri üçin 'TUMBLE 1d';
- Sessiýalar üçin 'SESSION 30m'.
6) Hili we barlanylyşy
Maglumat synaglary: shematiki, domen (diapazonlar), referensial baglanyşyklar.
Metrik synaglar: inwariantlar (DAU ≤ MAU), boş segmentler, monotonlyga garaşmak (jemleýji).
Deňeşdirmeler (reconciliation): semantik gatlak bilen referens-hasabatlaryň/buhgalteriýanyň arasynda.
Data health: täzelik, completeness, dublikatlar, NULL paýy, anomal böküşler.
Drift metrikleri: PSI/KL/JS esasy şekillerde, esasanam ML-metrikler üçin.
7) Wersiýalaşdyrmak we migrasiýa
Formulanyň wersiýasy: 'METRIC _ NAME _ vN'. Wersiýany üýtgetmezden kesgitlemäni "ýuwaşlyk bilen" üýtgetmek gadagandyr.
Migrasiýa strategiýalary:- Side-by-side: v1 we v2 paralel hasaplanýar; ulanyjylary barlamak we öwretmek geçirilýär.
- Kesmek: sarp edijileri pes ýüküň penjiresinde v2-e geçirmek; arhiw v1.
- Taryhy sanamak: taryhy maglumatlar boýunça backfill; tapawut teswirnamasy (diff-hasabat).
- Aragatnaşyklar: changelog, giriş senesi, kime täsir eder, görkezmeler.
8) Metrikler üçin maglumatlar modeli
Faktlar: däne (event_id, transaction_id, user_day), wakanyň wagty, jemi/möçberi.
Ölçegler: ulanyjy, enjam, geografiýa, kanal, önüm, senenama; Taryhy üçin SCD görnüşi.
Açarlar: surrogat şahsyýetnamalary, durnukly işewürlik açarlary, laýyklyk tablisalary (mapping).
Anti-dubly: şahsyýet düzgünleri (user merge), sessiýalary "ýelmemek" penjireleri.
9) Birlikler, walýutalar, möwsümlilik
Birlikler/format: aýdyň ölçeg, tegelek, şkalalar (log/çyzykly).
Multivalýuta: amal senesindäki hümmet boýunça öwrülişik; "çig" we kadaly mukdarda saklamak.
Möwsümliligi: YoY we möwsümleýin görkezijiler; aýry-aýry "baýramçylyk" täsirleri.
10) Howpsuzlyk we elýeterlilik
Row-Level Security (RLS): ýurt/marka/hyzmatdaş boýunça metriklere girmek.
Column-Level Security (CLS): PII/Maliýe meýdançalaryny gizlemek.
Audit: metrikany kim sorady, haýsy süzgüçler, haýsy maglumatlary eksport etdi.
API differensiasiýasy: "rollar boýunça agregatlar" vs "jikme-jik düşürmeler".
11) Synlamak we SLO
SLO täzeligi: mysal üçin, "operatiw KPI - lag ≤ 15 min, her gün - 06:00 ýerli wagt".
SLO elýeterliligi: ≥ 99. API/semantik gatlak üçin 9%.
Alertler: SLO gijikdirilmegi, metrikleriň bökmegi, NULL/dublikatlaryň ösüşi, tapawut v1 vs v2> X%.
Runbooks: zaýalananda näme etmeli - RCA, fallback ädimleri (mysal üçin, iň soňky "snepshot-metrika" geçiş).
12) Synaglar we metrikler
Guardrail metrikleri: gizlinlik, şowsuzlyga çydamlylyk, skoring üçin FPR/FNR.
A/B üçin birmeňzeş kesgitlemeler: öwrülişikler, saklamak, NSM - şol bir semantik gatlak arkaly.
Iň az tapawutlanýan effekt (MDE), power-analiz: parametrleri metrika kartasynda saklamak.
Kauzal atributiýa: mix-adjustment we gözegçilik toparlary boýunça syýasatlar.
13) API metrik we sarp ediş
Запросы: `GET /metrics/{name}?from=2025-09-01&to=2025-10-01&dims=country,platform&filters=channel:paid`.
Syýasatlar: çäklendirmeler, nagt pul, paginasiýa, idempotent "eksportlary".
Wersiýalar: 'X-Metric-Version: v2' sözbaşy, deprecation duýduryşlary.
14) Şablonlar we artefaktlar
Metrikanyň pasporty (mysal)
Kod/wersiýasy: 'ARPPU _ v3'
Kesgitleme: töleýän ulanyjy üçin döwür üçin ortaça girdeji
Формула: `sum(revenue_net) / count_distinct(user_id where paying_flag=1)`
Granulýasiýa: gün; rollup: hepde/aý = çeňňek/bölek
Çeşmeler: 'fact _ payments _ v2', 'dim _ users _ scd'
Birlikler: walýuta 'base _ ccy'; senäniň hümmeti boýunça öwrülişik
Süzgüçler: işjeň bazarlar, synag amallaryny aýyrmak
SLO: täzelik ≤ 1 sagat; API elýeterliligi ≥ 99. 9%
Guardrails: ARPPU ∈ [0; 10 000]; winzorization p1/p99
Eýeleri: Monetization Analytics; Gözden geçirilen senesi: 2025-10-01
Metrikanyň çykarylyşyny barlaň
- Kesgitleme we formula ylalaşyldy, synaglar bilen örtüldi
- Semantik obýekt döredildi; lineage resminamalaşdyryldy
- Backfill we salgylanma barlagy tamamlandy
- SLO/alertler sazlandy; runbook taýýar
- Hukuklar we RLS sazlandy; PII gizlin
- Dashbordlarda/synaglarda köne wersiýalar çalşyldy
- Changelog/aragatnaşyk iberildi
SQL-psevdocode point-in-time (Retention D30 mysaly)
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) Ýygy-ýygydan ýalňyşlyklar we olardan nädip gaça durmaly
Formulalaryň ýuwaş düzedişleri: hemişe wersiýa we changelog arkaly.
"Her noutbukda üýtgeşik" metrikleri: semantik gatlagy/API-ni mejbur ediň.
Ylalaşylmadyk taýmzonlar/walýutalar: merkezleşdirilen senenama we FX-tablisa.
Ulanyjylaryň goşa hasaby: rollap düzgünleri we özboluşly açarlar.
Aç-açan däl täzelik: Täzeleniş wagtyny aç-açan görkeziň.
Bir inerenere garaşlylyk: hemme zat - kod ýaly, revew we onkoll bilen.
Jemi
Metrikleriň arhitekturasy - sözlük + semantik gatlak + ygtybarly hasaplama + howernans we SLO. Beýan edilen ýörelgelere (şertnamalar, synaglar, wersiýalar, gözegçilik, howpsuzlyk) eýerip, metrikleri "sanlar baradaky jedellerden" önümi we işi dolandyrmagyň durnukly mehanizmine öwürýärsiňiz.