Մետրի ճարտարապետությունը
Մեթրիկի ճարտարապետությունը
Մեթրիկի ճարտարապետությունը կանոնների, արտեֆակտների և ծառայությունների համակարգ է, որը պարունակում է միանշանակ սահմանումներ, վերարտադրված հաշվարկներ, թափանցիկ հասանելիություն և վստահելի ցուցանիշներ ամբողջ կազմակերպության մեջ։ Նպատակը '«MAU», «Retention D30» կամ «ARPPU» -ը համարվել են հավասարապես բոլոր դաշբորդներում, փորձերում և զեկույցներում։
1) Սկզբունքներ
1. Ճշմարտության միակ աղբյուրը (Single Source of Truth) բանաձևերի և տեղեկագրերի համար։
2. Սեմանտիկայի բաժանումը իրականացումից 'բիզնես սահմանումը ապրում է սեմանտիկ շերտում, ոչ թե յուրաքանչյուր SQL/նոութբուքում։
3. Մեթրիկի, սխեմաների և բանաձևերի տարբերակումը (v1-v2), որը ղեկավարվում է պատմության խմբավորման հետ։
4. Վերարտադրությունը և թեստավորումը 'հաշվարկները դետերմինացված են, ծածկված են թեստերով։
5. Դիտարկումը 'թարմություն, ամբողջություն, կոնսիստենցիա և դրեյֆ' SLO-ի և ալերտերի հետ։
6. Անվտանգությունը և գաղտնիությունը 'PII, RSA/CLS, աուդիտ։
7. Վիրահատությունը որպես կոդ 'սահմանումներ, փոխակերպումներ, քաղաքականություններ - CI/CD-ի հետ։
2) Ճարտարապետության շերտերը
Նախնական տվյալները 'իրադարձություններ/գործարքներ, գրողներ, մոդելների լույսեր/ինֆրեր։
Ինտեգրումը և մաքրումը 'CDC/wwwww.re իրական բեռնումը, dedup, ջրային գոտիների միավորումը։
Տվյալների մոդելը (MSH) 'աստղ/ձյուն, դանդաղ փոփոխվող չափումներ (SCD), surrogate բանալիներ։
Սեմանտիկ շերտը մետրիկ է 'միասնական սահմանումներ, ագրեգացիաներ, ֆիլտրեր, time grain, rolap տրամաբանություն։
Հաշվարկային շերտը 'batch/microbatch/strim; պատուհաններ, ստացիոնար շարժիչներ, հանգույցներ։
Կատալոգը և բառարանը '«փոխաբերության անձնագիր», lineage, սեփականատերերը, իրավունքները։
Հասանելիություն և սպառում ՝ BI/dashbords, API մետրիկ, արտանետվող, փորձարկումներ/AV։
3) Տվյալների և մետրի պայմանագրերը
Աղբյուրի պայմանագիրը (իրադարձություններ/սեղաններ)
Սխեմա 'դաշտեր, տեսակներ, զրոյականություն, առաջնային բանալին։
SLA 'թարմ (օրինակ ՝ «3610 րոպե լագ»), հաճախականությունը, առավելագույն ձերբակալված ծխելը։
Որակը 'ստեղնաշարի եզակիությունը, արժեքների ընդունելի օրինաչափությունները, timezone, impotenty։
Փոփոխությունները 'սխեմայի էվոլյուցիայի քաղաքականությունը (backward/forward), deprecation պլանը։
Մետրերի պայմանագիրը
Անունը/կոդը ՝ «RET _ D30 _ v2»
Դոմեյն/սեփականատեր 'Cort Analytics
Սահմանումը (մարդկային լեզուն)
Բանաձևը ՝ SQL/կեղծանունը + մուտքային վիտրիններ/սեմանտիկ օբյեկտներ
Գրանուլյացիա/ժամանակավոր տրամաբանություն ՝ day/week; point-in-time կանոնները, timezone, ti
Սեգմենտներ/ֆիլտրեր լռելյայն
Միավորներ և արժույթներ (դասընթացը/փոխակերպման ամսաթիվը)
SLO: Թարմություն www.X, Y- ի ճշգրտությունը, www.Z հասանելիությունը
Տարբերակը/փոփոխության պատմությունը/մուտքի ամսաթիվը
Guardrails: Թույլատրելի միջակայքներ, p1/p99 վինսորիզացիայի կանոնները
4) Սեմանտիկ շերտը մետր է
Շերտի խնդիրն է կենտրոնապես պահպանել ագրեգացիայի սահմանումները և կանոնները
Տարրերը ՝ չափումներ (date, country, platform), փաստերը (events, revenue), մետրիկները (ARPU, Retention D30), հաշվարկված դաշտերը, օրացույցը (ստրուկ/շաբաթ, արձակուրդները)։
Ժամանակի վարքագիծը 'օրացուցային սեղաններ, ճամբարներ, ճոճանակներ, «սայթաքող» պատուհաններ (7/30/90)։
Ռոլապը և հետևողականությունը 'օրվա գումարը = մեկ ամիս, միևնույն ժամանակ բացառել կրկնակի վճարումը (distinct users)։
Mix-adjustics: նորմալացում ալիքների/երկրների մշտական խառնուրդի տակ ազնիվ YoY-ի համար։
Timtivaluta/timzons: Գործարքի ամսաթվի համար բանկային վճարների ավելացումը։ Տեղական և «կանոնական» UTC-reses։
5) Հաշվարկը 'batch, microbatch, strim
Բաթչ 'գիշերային/ժամացույցի ջոբներ, ամբողջական/պերիմենտալ վերահաշվարկներ, կուռքի վերահսկողություն։
Միկրոբատչը '1-15 րոպե պատուհանը գործառնական դաշնամուրի համար։
Սթրիմ 'իրադարձություններ անվադողերի միջոցով։ պատուհաններ (tumbling/sliding/session), ստացիոնար (late), exactly-once semantica (dedup + www.set store)։
Պատուհանների փամփուշտները
«HOP 5m, MS1h» վիրահատական KPI-ի համար;
«TUMBLE 1d» ցերեկային մետրերի համար;
«SESSION 30m» նստաշրջանների համար։
6) Որակը և ստուգումը
Տվյալների թեստերը 'սխեմատիկ, ստացիոնար (միջակայքներ), հանրաքվեական կապեր։
Մեթրիկի թեստերը ՝ invariants (DAU no MAU), ոչ դատարկ հատվածներ, մոնոտեկտիվության սպասումներ (կուտակտիվներ)։
Sevki (reconciliation) 'սեմանտիկ շերտերի և հանրաքվեների/հաշվապահության միջև։
Systealth: թարմ, completeness, դուբլիկատներ, NMS մասնաբաժինը, աննորմալ ցատկը։
Դրեյֆի մետրերը ՝ PSI/KL/JS հիմնական ֆիգուրների վրա, հատկապես ML-մետրի համար։
7) Տարբերակումը և իրականացումը
Բանաձևի տարբերակը '«METRIC _ NAME _ vN»։ Արգելվում է «հանգիստ» փոխել սահմանումը առանց տարբերակի փոփոխության։
Ռազմավարական ռազմավարությունները
Side-by-side: v1 և v2 համարվում են զուգահեռ; կատարվում է օգտագործողների հավաքում և ուսուցում։
Cut-over 'սպառողների տեղափոխումը v2 ցածր բեռի պատուհանում; արխիվը v1։
Պատմության վերահաշվարկը 'backfill պատմական տվյալներով; տարբերության արձանագրություն (diff զեկույց)։
Հաղորդակցություն 'changelog, մուտքի ամսաթիվը, որին կանդրադառնա, հրահանգներ։
8) Տվյալների մոդելը մետրի համար
Փաստերը ՝ հացահատիկ (event _ id, transaction _ id, user _ day), իրադարձության ժամանակը, գումարը/մեծությունը։
Չափումները ՝ օգտագործողը, սարքը, երկրագրությունը, ալիքը, արտադրանքը, օրացույցը։ SCD տիպը պատմականության համար։
Բանալիները 'surrogate ID, կայուն բիզնես բանալիներ, թեմերի սեղաններ (mapping)։
Անտի դուբլի 'ինքնության կանոնները (user merge), նստաշրջանների պատուհանները։
9) Միավորներ, արժույթներ, սեզոնայնություն
Միավորներ/ձևաչափեր 'ակնհայտ չափման միավորներ, կլորացում, մասշտաբներ (log/գծային)։
Լոկոմոտիվալյուտա 'փոխադարձություն վիրահատության ամսաթվի ընթացքում։ պահել ինչպես պանիրը, այնպես էլ նորմալ գումարը։
Սեզոն ՝ YoY և սեզոնային ինդեքսներ։ առանձին «տոնական» էֆեկտներ։
10) Անվտանգություն և հասանելիություն
Row-Level Express-ը (RFC) 'երկրի/բրենդի/գործընկերոջ կտրվածքում մետրերի հասանելիությունը։
Column-Level System (CLS) 'PII/ֆինանսական դաշտերի դիմակավորում։
Աուդիտ 'Ո՞ վ է խնդրել մետրիկ, ո՞ ր ֆիլտրերն են արտահանել տվյալները։
API-ի տարբերակումը. <<ագրեգատները «vs» տարբերակված դուրս>>։
11) Դիտարկումը և SLO-ն
SLO թարմություն: Օրինակ, «NoKPI-ը 15 րոպե է, ամենօրյա 'մինչև 06:00 ռուբլիներ»։
SLO հասանելիություն ՝ 3699։ 9 տոկոսը API/սեմանտիկ շերտի համար։
Ալերտներ 'SLO-ի ուշացում, նետաձիգ, NFC/կրկնօրինակներ, v1 vs v2> X% տարբերությունը։
Runbooks: Ի՞ նչ անել դեգրադացիայի ժամանակ 'RCA, fallback քայլերը (օրինակ, անցումը վերջին վալիդային «ձիթապտղի մետրիխին»)։
12) Փորձարկումներ և չափումներ
Guardrail-metriks 'լատենտ, հրաժարական, FPR/FNR կարբինգի համար։
A/B-ի համար միասնական սահմանումներ 'փոխադարձություններ, պահպանումը, NSM-ը նույն սեմանտիկ շերտով։
Նվազագույն տարբեր էֆեկտը (MDE), տեղեկատվական-վերլուծությունը 'պահել պարամետրերը մետրիկայի քարտում։
Կաուզալ լուծումը 'քաղաքականությունը mix-adjustram և վերահսկողական խմբերի վրա։
13) API metric և սպառում
Запросы: `GET /metrics/{name}?from=2025-09-01&to=2025-10-01&dims=country,platform&filters=channel:paid`.
Քաղաքական գործիչները ՝ limits, kash, pagination, idempotent «alments»։
Տարբերակներ ՝ «X-Metric-Version: v2», զգուշացումներ deprecation մասին։
14) Ձևանմուշներ և արտեֆակտներ
Մետրիկայի անձնագիր (օրինակ)
Կոդը/տարբերակը '«ARPPU _ v3»
Սահմանումը 'միջին եկամուտը վճարող օգտագործողի վրա ժամանակահատվածի համար
Формула: `sum(revenue_net) / count_distinct(user_id where paying_flag=1)`
Գրանուլյացիա 'օր; rollup: շաբաթ/ամիս = թվանշանի գումարը/նշողի գումարը/գումարը
Աղբյուրներ ՝ «fact _ payment_ v2», «dult _ users _ scd»
Միավորներ 'արժույթ' bert _ enty '; փոխզիջում ամսաթվով
Ֆիլտրերը լռելյայն 'ակտիվ շուկաներ, բացառել թեստային գործարքները
SLO 'թարմություն 241 ժամ; API-ի հասանելիությունը 3699 է։ 9%
Guardrails: ARPPU ∈ [0; 10 000]; Վինսորիզացիա p1/p99
Սեփականատերերը ՝ Monetization Analytics; ամսաթիվը ՝ 2025-10-01-01
Drok-list metrika
Սահմանումը և բանաձևը համաձայնեցված են, ծածկված են թեստերով
- Սեմանտիկ օբյեկտը ստեղծվել է; lineage and
- Backfill-ը և հանրաքվեն ավարտված են
- SLO/alerts տրամադրված են; runbook պատրաստ է
- Իրավունքները և RFC-ն տրամադրված են. PII թաքնված
- Դաշբորդներում/փորձարկումներում փոխարինվում են հին տարբերակները
- Changelog/հաղորդակցությունը ուղարկվել է
SQL կեղծ point-in-time (օրինակ Retention D30)
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) Հաճախակի սխալներ և ինչպես խուսափել դրանցից
Հանգիստ ուղղությունները բանաձևեր են ՝ միշտ տարբերակով և չանգելոգով։
«Յուրաքանչյուր նոութբուքում տարբեր կերպ», ստիպեք սեմանտիկ շերտին/API։
Չհամաձայնեցված թայմզոններ/արժույթ 'կենտրոնացված օրացույց և FX-2019։
Օգտագործողների կրկնակի գրանցումը 'ռոլապ կանոնները և յուրահատուկ բանալիները։
Անթույլատրելի թարմություն. Հստակ ցույց տվեք լամպը/թարմացման ժամանակը։
Մեկ ճարտարագետի կախվածությունը 'ամեն ինչ կոդի պես է, խանդի և ուռուցքի հետ։
Արդյունքը
Մետրի ճարտարապետությունը բառարան է + սեմանտիկ շերտ + հուսալի հաշվարկ + գենդերային և SLO։ Հաշվի առնելով նկարագրված սկզբունքները (պայմանագրերը, թեստերը, տարբերակները, դիտարկումը, անվտանգությունը), դուք փոխաբերությունները վերածում եք «թվերի մասին վեճերի» 'սննդի և բիզնեսի կառավարման կայուն մեխանիզմի։