GH GambleHub

Architettura delle metriche

Architettura delle metriche

L'architettura delle metriche è un sistema di regole, manufatti e servizi che garantiscono una definizione univoca, un calcolo riproduttivo, un accesso trasparente e un funzionamento affidabile degli indicatori in tutta l'organizzazione. L'obiettivo è che MAU, Retention D30 o ARPU siano considerati uguali in tutti i dashboard, esperimenti e rapporti.

1) Principi

1. Un'unica fonte di verità (Single Source of Truth) per formule e riferimenti.
2. Separazione semantica dall'implementazione: la definizione aziendale vive in un livello semantico e non in ogni notebook SQL.
3. Versioning di metriche, diagrammi e formule (v1→v2) con una storia guidata dalla migrazione.
4. Riproduzione e testabilità: calcoli determinati, coperti da test.
5. Osservabilità: freschezza, completezza, consistenza e deriva, con SLO e alert.
6. Sicurezza e privacy: riduzione del PI, RLS/CLS, controllo.
7. L'operazione come codice: definizioni, trasformazioni, criteri - in un repository con CI/CD.

2) Livelli di architettura

I dati di origine sono eventi/transazioni, guide, fogli di modelli/infra.
Integrazione e pulizia: CDC/caricamento incrementale, deadup, unificazione delle zone temporali.
Modello dati (DWH) - Stella/fiocco di neve, dimensioni lente (SCD), chiavi surrogate.
Livelli semantici di metriche: definizioni, aggregazioni, filtri, time grain, roll-logic.
Livello di calcolo: batch/microbatch/strame; finestre, etichette d'acqua, impronte di chiavi.
Catalogo e dizionario: «passaporto metrico», lineage, proprietari, diritti.
Accesso e consumo: BI/dashboard, API metriche, scarichi, esperimenti/AV.

3) Contratti di dati e metriche

Contratto sorgente (eventi/tabelle)

Schema: campi, tipi, nullità, chiave primaria.
SLA: freschezza (ad esempio, «≤10 minuti»), frequenza, massimo ritardo della parrocchia.
Qualità: unicità della chiave, domini di valori validi, timezone, idempotenza.
Modifiche: strategia di evoluzione dello schema (backward/forward), piano di deprecazione.

Contratto metrico

Nome/codice: 'RET _ D30 _ v2'

Domain/proprietario: Product Analytics

Definizione (in linguaggio umano)

Formula: SQL/pseudocode + vetrine di ingresso/oggetti semantici

Granularità/logica temporale: day/week; point-in-time regole, timezone

Segmenti/filtri predefiniti

Unità e valute (tasso/data di conversione)

SLO: freschezza ≤ X, precisione ≥ Y, disponibilità ≥ Z

Versione/cronologia delle modifiche/data di accesso

Garrails: intervalli validi, regole di Vinzorizzazione p1/p99

4) Livello semantico delle metriche

Attività livello - Memorizza centralmente le definizioni e le regole di aggregazione:
  • Elementi: misure (date, country, platform), fatti (events, revenue), metriche (ARPU, Retention D30), campi calcolabili, calendario (schiavo/weekend, festività).
  • Comportamento del tempo: tabelle di calendario, lame, coorti, finestre «scorrevole» (7/30/90).
  • Rollap e consistenza: importo giornaliero = mese, escludendo la doppia contabilità (distinct users).
  • Mix-adjustment - Normalizzazione con un mix costante di canali/paesi per un corretto YoY.
  • Multivaluta/timsone: indicazione della valuta di base alla data di transazione; Taglio UTC locale e canonico.

5) Calcolo: batch, microbatch, bucato

Batch: giubbotti notturni/orari, conteggi completi/incrementali, controllo idampotenza.
Microbatch: finestre da 1 a 15 minuti per i dashboard operativi.
Gli eventi attraverso il pneumatico; finestre (tumbling/sliding/sessions), etichette ad acqua (late data), exactly-once semantica (deadup chiave + offset store).

Cartelli finestre:
  • "HOP 5m, WINDOW 1h'per i KPI operativi;
  • «TUMBLE 1d» per le metriche diurne;
  • SESSIONE 30m per le sessioni.

6) Qualità e validità

I test dei dati sono schematici, di dominio (intervalli), di correlazione referenziale.
Test metrici: invarianti (DAU≤MAU), segmenti non vuoti, in attesa di monotonia (cumulativi).
Incrociature - Tra il livello semantico e i report di riferimento/contabilità.
Data health: freschezza, completeness, duplicati, quota NULL, corse anomale.
Metriche della deriva: PSI/KL/JS su fiocchi chiave, soprattutto per le metriche ML.

7) Versioning e migrazione

Versione della formula «METRIC_NAME_vN». Non è consentito modificare silenziosamente la definizione senza cambiare versione.

Strategie di migrazione:
  • Side-by-side: v1 e v2 sono considerati paralleli; Verifica e formazione degli utenti.
  • Cut-over: passaggio dei consumatori a v2 in una finestra a basso carico archivio v1.
  • Riconteggio della storia: backfill in base ai dati storici; protocollo di differenza (report differente).
  • Comunicazioni: changelog, data di ingresso, chi viene colpito, istruzioni.

8) Modello di dati per metriche

Fatti: grano (event _ id, communication _ id, user _ day), ora dell'evento, somma/quantità.
Misurazioni: utente, dispositivo, geografia, canale, prodotto, calendario; Tipo SCD per la storicità.
Chiavi: ID surrogato, chiavi aziendali stabili, tabelle di corrispondenza (mapping).
Anti-ripresa: regole di identità (user merge), finestre di pendenza delle sessioni.

9) Unità, valute, stagionalità

Unità/formato: unità nitide, arrotondamenti, scala (loga/lineare).
Multivaluta: conversione di rotta alla data dell'operazione; conservare sia la somma cruda che la somma normalizzata.
Stagionalità: indici YoY e stagionali; singoli effetti «natalizi».

10) Sicurezza e accesso

Row-Level Security (RLS) - Accesso alle metriche nel taglio paese/marchio/partner.
Column-Level Security (CLS) - Maschera i campi finanziari.
Controllo: chi ha richiesto la metrica, quali filtri, quali dati ha esportato.
Differenziazione API: «aggregazioni per ruolo» vs «caricamento dettagliato».

11) Osservabilità e SLO

La SLO di freschezza, per esempio, «KPI ≤ 15 minuti, ogni giorno fino alle 6:00 locali».
SLO disponibilità: ≥ 99. 9% per il livello API/semantico.
Alert: ritardo SLO, picchi di metriche, crescita NULL/duplicati, variazione v1 vs v2> X%.
Runbooks: cosa fare in caso di degrado - passi RCA, fallback (ad esempio, passare all'ultima valida «snepshot metrica»).

12) Esperimenti e metriche

Garrail metriche: latitanza, tolleranza, FPR/FNR per gli schemi.
Definizioni comuni per A/B: conversione, ritenzione, NSM - attraverso lo stesso livello semantico.
Effetto minimo differente (MDE), analisi power - Memorizza i parametri nella scheda metrica.
Assegnazione casuale: criteri mix-adjustment e gruppi di controllo.

13) API metriche e consumo

Запросы: `GET /metrics/{name}?from=2025-09-01&to=2025-10-01&dims=country,platform&filters=channel:paid`.
Criteri: limiti, cache, paginazione, esporti idipotenti.
Versione: titolo «X-Metric-Variante: v2», avvisi di deprecazione.

14) Modelli e manufatti

Passaporto metrico (esempio)

Codice/versione: 'ARPPU _ v3'

Definizione: ricavi medi per utente pagante per periodo

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

Granularità: giorno; rollup: settimana/mese = somma numeratore/somma denominatore

Sorgenti: 'fact _ payments _ v2', 'dim _ users _ scd'

Unità: valuta base _ ccy; conversione di rotta a data

Filtri predefiniti: mercati attivi, escludere transazioni di prova

SLO: freschezza di 1 ora; disponibilità API 99. 9%

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

Proprietari: Monetization Analytics; data di revisione 2025-10-01

Check-list release metriche

  • Definizione e formula sono coerenti, coperti da test
  • Oggetto semantico creato. lineage documentato
  • Backfill e incroci con l'arbitro completati
  • SLO/alert configurati; runbook pronto
  • Diritti e RLS configurati; PII nascosto
  • Le vecchie versioni sono state sostituite in dashboard/esperimenti
  • Changelog/comunicazione inviati

pseudo-codice SQL point-in-time (esempio 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) Errori frequenti e come evitarli

Modifiche silenziose alle formule: sempre attraverso la versione e changelog.
Le metriche «diverse in ogni notebook» sono obbligate a un livello/API semantico.
Timsons/valute incoerenti: calendario centralizzato e tabella FX.
Doppia contabilità utente: regole di rollup e chiavi univoche.
Freschezza opaca: mostra chiaramente la lega/ora di aggiornamento.
Dipendenza da un solo ingegnere, tutto come un codice, con la gelosia e la oncola.

Totale

L'architettura delle metriche è un dizionario + livello semantico + calcolo affidabile + revernance e SLO. Seguendo i principi descritti (contratti, test, versioni, osservabilità, sicurezza), si trasformano le metriche da «discussioni sui numeri» in un meccanismo sostenibile di gestione del prodotto e del business.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.