GH GambleHub

Architektura metryczna

Architektura metryczna

Architektura metryki jest systemem zasad, artefaktów i usług, które zapewniają jednoznaczne definicje, powtarzalne obliczenia, przejrzysty dostęp i niezawodne działanie wskaźników w całej organizacji. Celem jest uznanie „MAU”, „Retention D30” lub „ARPPU” za takie same we wszystkich deskach rozdzielczych, eksperymentach i raportach.

1) Zasady

1. Pojedyncze Źródło Prawdy dla formuł i ksiąg referencyjnych.
2. Oddzielenie semantyki od implementacji: definicja biznesu żyje w warstwie semantycznej, a nie w każdym SQL/laptopie.
3. Mierniki wersji, schematy i formuły (v1 → v2) z zarządzaną migracją historii.
4. Odtwarzalność i testowalność: obliczenia są deterministyczne, objęte badaniami.
5. Obserwowalność: świeżość, pełnia, konsystencja i dryf - z SLO i wpisy.
6. Bezpieczeństwo i prywatność: minimalizacja PII, RLS/CLS, audyt.
7. System operacyjny jako kod: definicje, przekształcenia, zasady - w repozytorium z CI/CD.

2) Warstwy architektury

Dane źródłowe: wydarzenia/transakcje, księgi referencyjne, dzienniki modeli/infra.
Integracja i czyszczenie: CDC/przyrostowe obciążenie, odpływ, ujednolicenie stref czasowych.
Model danych (DWH): gwiazda/płatek śniegu, powoli zmieniające się pomiary (SCD), klucze zastępcze.
Warstwa semantyczna metryk: jednolite definicje, agregacje, filtry, ziarno czasu, logika rollup.
Warstwa projektowa: partia/mikrobatch/strumień; okna, znaki wodne, klucze.
Katalog i słownik: „metryki paszportowe”, rodowód, właściciele, prawa.
Dostęp i zużycie: BI/deski rozdzielcze, mierniki API, przesyłki, eksperymenty/AB.

3) Umowy dotyczące danych i metryk

Umowa źródłowa (wydarzenia/tabele)

Schemat: pola, typy, nieważność, klucz podstawowy.
SLA: świeżość (na przykład „≤ 10 minut opóźnienia”), częstotliwość, maksymalny opóźniony przylot.
Jakość: wyjątkowość klucza, prawidłowe domeny wartości, timezon, idempotencja.
Zmiany: polityka ewolucji systemu (do tyłu/do przodu), plan odchylenia.

Umowa metryczna

Nazwa/identyfikator: 'RET _ D30 _ v2'

Domaine/właściciel: Analityka produktów

Definicja (w języku ludzkim)

Formuła: SQL/pseudokoda + sklepy wejściowe/obiekty semantyczne

Ziarnistość/logika czasowa: dzień/tydzień; zasady punktualne, timezon

Domyślne segmenty/filtry

Jednostki i waluty (kurs wymiany/data)

SLO: świeżość ≤ X, dokładność ≥ Y, dostępność ≥ Z

Wersja/Historia zmian/Data wejścia w życie

Poręcze: ważne zakresy, zasady Winzorization p1/p99

4) Warstwa semantyczna mierników

Zadaniem warstwy jest centralne przechowywanie definicji i zasad agregacji:
  • Elementy: wymiary (data, kraj, platforma), fakty (wydarzenia, dochody), mierniki (ARPU, Retention D30), pola obliczeniowe, kalendarz (praca/weekend, wakacje).
  • Zachowanie czasu: tabele kalendarza, opóźnienia, kohorty, okna „przesuwne” (7/30/90).
  • Rollup i konsystencja: ilość według dnia = miesiąc, z wyłączeniem podwójnego liczenia (odrębni użytkownicy).
  • Mix-adjustment: normalizacja do stałej mieszanki kanałów/krajów dla uczciwego YoY.
  • Wielokrotność/strefy czasowe: dostosowane do waluty bazowej w dniu transakcji; plastry lokalne i „kanoniczne” UTC.

5) Obliczanie: partia, mikrobatch, strumień

Partia: praca nocna/godzinna, ponowne obliczenia pełne/przyrostowe, kontrola idempotencji.
Mikrobatch: okna 1-15 minut dla desek rozdzielczych.
Strumień: wydarzenia przez oponę; okna (tumbling/sliding/session), znaki wody (późne dane), dokładnie raz semantyka (impas + sklep offsetowy).

Wzory okien:
  • „HOP 5m, WINDOW 1h” dla KPI operacyjnych;
  • "BUMBLE 1d' dla dziennych mierników;
  • SESJA 30m' dla sesji.

6) Jakość i weryfikowalność

Testy danych: schemat, domena (zakresy), odnośniki.
Badania mierników: niezmienne (DAU ≤ MAU), segmenty niepuste, oczekiwania dotyczące monotonii (skumulowane).
Uzgodnienie: między warstwą semantyczną a sprawozdaniami referencyjnymi/rachunkowością.
Zdrowie danych: świeżość, kompletność, duplikaty, frakcja NULL, nieprawidłowe skoki.
Metryki dryfujące: PSI/KL/JS na kluczowych cechach, szczególnie dla mierników ML.

7) Weryfikacja i migracja

Wersja formuły jest 'METRIC _ NAME _ vN'. Zabrania się „cichej” zmiany definicji bez zmiany wersji.

Strategie migracji:
  • Side-by-side: v1 i v2 są liczone równolegle; przeprowadza się uzgadnianie i szkolenie użytkowników.
  • Cut-over: przełączanie konsumentów na v2 w oknie niskiego obciążenia; archiwum v1.
  • Ponowne obliczenie historii: zasypka według danych historycznych; protokół różnicy (raport różnicowy).
  • Komunikacja: changelog, data wejścia, kto będzie miał wpływ, instrukcje.

8) Model danych dla mierników

Fakty: zboże (event_id, transaction_id, user_day), czas zdarzenia, suma/wartości.
Wymiary: użytkownik, urządzenie, geografia, kanał, produkt, kalendarz; Typ SCD dla historyczności.
Klucze: zastępcze identyfikatory, stabilne klucze biznesowe, tabele mapowania.
Anty-duplikaty: reguły tożsamości (połączenie użytkownika), okna „klejenia” sesji.

9) Jednostki, waluty, sezonowość

Jednostki/format: jednostki jednoznaczne, zaokrąglanie, wagi (dziennik/liniowy).
Wielokrotność: konwersja według kursu wymiany w dniu transakcji; przechowywać zarówno „surową”, jak i znormalizowaną ilość.
Sezonowość: indeksy YoY i sezonowe; oddzielne efekty „wakacji”.

10) Bezpieczeństwo i dostęp

Row-Level Security (RLS): dostęp do mierników według kraju/marki/partnera.
Bezpieczeństwo na poziomie kolumn (CLS) -Masking PII/pola finansowe.
Audyt: kto poprosił o metrykę, która filtruje, która eksportowała dane.
Różnicowanie API: „agregaty według roli” vs „szczegółowe przesłania”.

11) Obserwowalność i SLO

Świeżość SLO: na przykład „operacyjny KPI - lag ≤ 15 min, dziennie - do godziny 06:00 czasu lokalnego”.
Dostępność SLO: ≥ 99. 9% dla warstwy API/semantycznej.
Wpisy: Przestępczość SLO, skoki metryczne, wzrost NULL/duplikat, wariancja v1 vs v2> X%.
Runbooks: co robić po zdegradowaniu - kroki RCA, fallback (na przykład przejście na ostatni ważny „migawkowy metric”).

12) Eksperymenty i metryki

Mierniki bariery: opóźnienie, odporność, FPR/FNR do punktacji.
Jednolite definicje A/B: konwersje, retencja, NSM - przez tę samą warstwę semantyczną.
Minimalny odróżnialny efekt (MDE), analiza mocy: parametry przechowywania w karcie metrycznej.
Przypisanie przyczynowe: zasady według grup mix-adjustment i kontroli.

13) Wskaźniki API i konsumpcja

Маброса: 'GET/metrics/{ name}? od = 2025-09-01 & to = 2025-10-01 & dims = kraj, platforma i filtry = kanał: płatny'.
Polityka: limity, pamięć podręczna, paginacja, idempotent „eksport”.
Wersje: nagłówek 'X-Metric-Version: v2', ostrzeżenia deprecacji.

14) Wzory i artefakty

Paszport metryczny (przykład)

Kod/Wersja: „ARPPU _ v3”

Definicja: średni dochód na płatnego użytkownika za dany okres

Моркула: „suma (revenue_net )/ count_distinct (user_id, gdzie paying_flag=1)”

Ziarnistość: dzień; rollup: tydzień/miesiąc = suma licznika/mianownika

Źródła: 'fact _ payments _ v2', 'dim _ users _ scd'

Jednostki: waluta „base _ ccy”; przeliczenie według kursu wymiany na

Filtry domyślne: aktywne rynki, wykluczyć transakcje testowe

SLO: świeżość ≤ 1 godzina; API ≥ 99 dostępność. 9%

Szyny ochronne: ARPPU ≤ [0; 10 000]; winzoryzacja p1/p99

Właściciele: Monetization Analytics; data rewizji: 2025-10-01

Lista kontrolna wydania metrycznego

  • Uzgodniona definicja i formuła, objęte badaniami
  • Stworzony obiekt semantyczny; rodowód udokumentowany
  • Uzupełnione zasypki i referencje
  • SLO/alerty są skonfigurowane; runbook gotowy
  • Prawa i RLS skonfigurowane; PII ukryte
  • Stare wersje zastąpione deskami rozdzielczymi/eksperymentami
  • Changelog/komunikat wysłany

Kod pseudo SQL w czasie (przykład D30 retencji)

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) Częste błędy i jak ich uniknąć

Cicha formuła edytuje: zawsze poprzez wersję i changelog.
„Różne w każdym laptopie” metryki: Siła na warstwie semantycznej/API.
Niespójne strefy czasowe/waluty: scentralizowany kalendarz i tabela FX.
Podwójna księgowość użytkownika: zasady rollup i unikalne klucze.
Nieprzezroczysta świeżość: Wyraźnie pokazać czas opóźnienia/aktualizacji.
Zależność od jednego inżyniera: wszystko jest jak kod, z recenzją i oncall.

Razem

Architektura metryki jest słownikiem + warstwa semantyczna + solidne obliczenia + zarządzanie i SLO. Stosując się do opisanych zasad (kontrakty, testy, wersje, obserwowalność, bezpieczeństwo), zmieniasz wskaźniki z „sporów liczbowych” w zrównoważony mechanizm zarządzania produktem i biznesem.

Contact

Skontaktuj się z nami

Napisz do nas w każdej sprawie — pytania, wsparcie, konsultacje.Zawsze jesteśmy gotowi pomóc!

Rozpocznij integrację

Email jest wymagany. Telegram lub WhatsApp są opcjonalne.

Twoje imię opcjonalne
Email opcjonalne
Temat opcjonalne
Wiadomość opcjonalne
Telegram opcjonalne
@
Jeśli podasz Telegram — odpowiemy także tam, oprócz emaila.
WhatsApp opcjonalne
Format: kod kraju i numer (np. +48XXXXXXXXX).

Klikając przycisk, wyrażasz zgodę na przetwarzanie swoich danych.