GH GambleHub

Îmbogățirea datelor

1) Scopul și valoarea afacerii

Îmbogățirea transformă evenimentele „brute” în fapte utile prin adăugarea de context și semne:
  • Finanțe/raportare: fx-normalizarea sumelor, obligatorii pentru piețe/cote de impozitare, calculul RGG/NGR.
  • Conformitate/AML/RG: scoruri de risc, sancțiuni/etichete PEP, limite RG, caracteristici comportamentale.
  • Marketing/produs: surse de trafic, segmente, misiuni/misiuni, personalizare.
  • SRE/operations: geo/ASN pentru trafic, tip client/dispozitiv, feature flags and releases.

Rezultatul cheie este îmbunătățirea preciziei modelelor, a calității rapoartelor și a vitezei de luare a deciziilor.


2) Surse de îmbogățire (catalog exemplu)

Referință/cataloage: jocuri, furnizori, piețe/jurisdicții, valute, tabele fiscale, calendar de vacanță.
KYC/KYB/RG: niveluri de verificare, stări, autoexcluderi, limite, grupe de vârstă.
AML/sancțiuni/PEP: hit-uri de screening, liste, niveluri de risc.
Rețele și dispozitive: IP→geo/ASN, dispozitiv/sistem de operare/browser, amprentă digitală a dispozitivului.
Furnizori de plăți (PSP): tabele BIN, metode, MCC, etichete de risc.
FX/ora: cursul de schimb la data evenimentului, fusurile orare locale/DST.
Conținut și marketing: surse/campanii/UTM, afiliați, segmente.
Modele și euristică: scoring pre-instruit, încorporare, cartografiere categorică.


3) Tipuri de îmbogățire

Lookup-joint: point mapping by key (game_id, BIN, ip_range, user_pseudo_id).
Dimensiunea atașează: atașarea dimensiunilor (dim.) la fapte.
Câmpuri derivate: coloane computerizate (amount_base, local_time, tax_rate).
Agregari/viteze: contoare pentru ferestre (N rate/min, suma depozitelor/ora).
Riscuri/caracteristici comportamentale: „timpul de la ultimul eveniment”, share-of-portofel, activitate nocturnă.
Geo/ASN/Dispozitiv: cod de țară, regiune, operator, tip dispozitiv/browser.
Mapări semantice: clasificarea furnizorului/jocului, clustere de jucători.

ML Caracteristici pentru modelare online/offline (Feature Store)


4) În cazul în care pentru a îmbogăți: Lot vs Stream

Stream (în timp real): antifraudă, declanșatoare RG, alerte SRE - întârzieri p95 ≤ 2-5 s; căutați cache-uri (Redis/Scylla), cereri asincrone furnizorilor cu timeout.
Lot (micro-lot/zilnic): Vitrinele de aur (GGR/RG/AML), reconcilierile, rapoartele - stabilitatea și completitudinea sunt mai importante decât latența.
Hibrid: caracteristică online rapidă + re-îmbogățire nocturnă (reconciliere/precizie).


5) Referință arhitecturală

1. Bronz - evenimente brute (numai pentru adăugare).
2. Argint (curat/conform) - normalizare, chei, căutare primară "și (fx, geo, dim.).
3. Strat de îmbogățire - caracteristici extinse, agregate de ferestre, etichete de risc.
4. Feature Store - registru caracteristic (consistență online/offline).
5. Aur - vitrine pentru BI/regulator/modele; artefacte imuabile.
6. Servicii - API/GraphQL, exporturi raportate, alerte în timp real.

Componente: Kafka/Redpanda, Flink/Spark/Beam, Redis/Scylla (căutare), ClickHouse/Pinot (lectură live), Lakehouse (Delta/Iceberg/Hudi).


6) Contracte și scheme

Schema-first: 'event _ time', 'schema _ version', chei stabile (user_pseudo_id, game_id, transaction_id).
Mărci de îmbogățire: "îmbogățire. versiunea ',' îmbogăţire. surse ',' fx _ source ',' geo _ source ',' model _ version '.
Versioning: noi caracteristici sunt adăugate ca nullable; modificări de rupere - prin „/v2 ”și intrare dublă.


7) Exemple de îmbogățire (SQL/pseudocod)

7. 1 Normalizare FX și ora locală

sql
SELECT p.transaction_id,
p.amount_orig,
p.currency,
r.rate   AS fx_rate_used,
p.amount_orig r.rate AS amount_base,
p.event_time,
convert_timezone(m.tz, 'UTC', p.event_time) AS local_time,
r.fx_source
FROM bronze.payment_events p
JOIN dim.fx_rates r
ON r.date = DATE(p.event_time) AND r.ccy_from = p.currency AND r.ccy_to = 'EUR'
JOIN dim.markets m ON m.code = p.market;

7. 2 Geo/ASN prin IP (pseudocod)

python geo = geo_db.lookup(ip)
asn = asn_db.lookup(ip)
record["geo_country"] = geo.country record["asn"] = asn.number record["enrichment"]["geo_source"] = "mmdb:2025-10-01"

7. 3 Semne de fereastră ale vitezei de depunere (flux)

sql
SELECT user_pseudo_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS deposits_sum_10m
FROM silver.payments
GROUP BY user_pseudo_id, TUMBLE(event_time, INTERVAL '10' MINUTE);

7. 4 Interfață cu limitele RG

sql
SELECT b., r.daily_deposit_limit, r.self_exclusion
FROM silver.bets b
LEFT JOIN dim.rg_limits r USING (user_pseudo_id);

8) Calitatea îmbogățirii (DQ)

Reguli minime:
  • FX: 'fx _ rate _ used' not NULL, 'fx _ source' din lista albă, calculată 'sound _ base ≥ 0'.
  • Geo/ASN: ponderea căutărilor de succes ≥ de 98% (pe piață), „țară” în director.
  • Etichetele RG/AML: „valid _ from/valid _ to” (SCD II) nu se intersectează; absența „găurilor” în istorie.
  • Agregate/ferestre: corectitudinea ferestrelor (fără dublă numărare), completitudinea ≥ 99. 5%.
  • Versiuni model: 'model _ version' prezent, feature drift control.
Exemplu de norme YAML:
yaml table: enriched.payments rules:
- name: fx_present type: not_null column: fx_rate_used severity: critical
- name: country_known type: in_set column: geo_country set_ref: ref.countries severity: major
- name: rg_scd_valid type: scd_validity columns: [valid_from, valid_to]
severity: major

9) Confidențialitate și conformitate

Minimizarea PII: îmbogățirea prin pseudo-ID, identificatori reali - într-o buclă separată.
Geo-localizare și rezidență: rutare pe regiuni (SEE/UK/BR), chei de criptare separate.
DSAR/RTBF: proiecțiile îmbogățite trebuie să susțină „ascunderea „/redactarea; să păstreze temeiul juridic pentru excepții.
Legal Hold: îngheață ștergerile pentru artefacte/cazuri raportabile.


10) Observabilitate și descendență

Linage: de la eveniment brut → căutare/agregate → afișaje/modele; fixați versiunile sursă ('fx _ source', 'geo _ source', 'bin _ source').
SLI/SLO: prospețime p95 (argint) ≤ 15 мин; căutări geografice de succes ≥ 98%; Proporția de înregistrări cu caracteristici cheie completate ≥ 99% latență îmbogăți fluxul p95 ≤ 2-5 s.
Tablouri de bord: integralitatea hărții termice pe surse, harta versiunilor cărților/modelelor de referință, monitorul îmbinărilor „scumpe”, deriva semnelor.


11) Cost și performanță

Cache/materializare: căutare frecventă "și în Redis/Scylla; instantanee periodice.
Semne compacte: agregate de depozitare (nu liste „brute”); utilizați formate de parchet/coloană.
Partiționare: după dată/piață/chiriaș; gruparea câmpurilor filtrate frecvent.
Frecvența adaptivă: îmbogățirea masivă a locurilor de muncă - pe timp de noapte; în timp real - doar critică.
Chargeback: cost/interogare și cost/GB contabilitate de echipă/caracteristică.


12) Modele și anti-modele

Modele:
  • Dimensiune Lookup + SCD II pentru RG/KYC/furnizori.
  • Async Enrichment with timeout and backback (eticheta „necunoscut” + repetare).
  • Feature Store cu teste de negociere și repetabilitate online/offline.
  • Rule-as-Code pentru îmbogățire (prag/hărți categorice).
Anti-modele:
  • Legare rigidă la API-uri externe într-o cale fierbinte fără memorie cache.
  • Versiuni sursă neetichetate ('fx _ source', 'geo _ source').
  • Denormalizarea „totul cu totul” în Silver (explozii de cost/complexitate).
  • Introducerea PII în straturi analitice.

13) Procese și RACI

R (Responsabil): Ingineria datelor (conducte îmbogățesc/flux), Proprietarii de domenii (caracteristică semantică), MLOps (Feature Store).
A (Responsabil): șef de date/responsabil cu datele.
C (Consultat): Compliance/Legal/DPO, Finance (FX/налоги), Risk (RG/AML), SRE.
I (Informat): BI/Produs/Marketing/Operațiuni.


14) Foaia de parcurs privind implementarea

MVP (2-4 săptămâni):

1. Catalog sursă de îmbogățire (fx, geo, piețe, RG/KYC).

2. Argint-normalizare + căutare de bază "și (fx/geo/dim.) .

3. Primele agregate sunt viteza (depozite/rate) și îmbogățite. v1 mese.

4. Tabloul de bord completitudine/prospețime, versiuni sursă.

Faza 2 (4-8 săptămâni):
  • Conectarea sancțiunilor/PEP/BCL, tabele PSP BIN, amprenta dispozitivului.
  • Feature Store (caracteristici de bază) + cache online, în timp real îmbogățirea Flink.
  • Reguli DQ pentru îmbogățirea stratului, descendenței și simulărilor uscate.
Faza 3 (8-12 săptămâni):
  • Personalizare (misiuni/misiuni) și detectoare RG/AML online.
  • Managementul valorii (cote, materializare, Z-ordine), multi-regiune.
  • Generarea automată a documentației caracteristicilor și catalogului.

15) Lista de verificare a calității înainte de vânzare

  • Chei și scheme consistente, versiuni sursă semnate.
  • Norme DQ privind fx/geo/RG/sancțiuni/ferestre; alerte și SLOs.
  • Caches/timeout-uri și fallback-uri pentru căutări externe.
  • Lineage și cost/performanță tablouri de bord.
  • Proceduri DSAR/RTBF/Legal Hold pentru tabele îmbogățite.
  • Documentarea caracteristicilor (proprietar, formule, SLO, impact).

16) Greșeli frecvente și cum să le evitați

Versiuni de referință/model fără taguri: Fixați întotdeauna '_ source' și 'model _ version'.
Calcularea fx „retroactiv”: utilizați rata la momentul evenimentului; stocați sursa FX.
Amestecare PII: Tokenize și izolați mapări.
Numărarea dublă în unități: verificați ferestrele și dedup.
Apeluri externe sincrone fără memorie cache: introduceți async + cache/retrai.
Nu există repetabilitate a caracteristicilor: un singur cod de transformare online/offline, teste de conformitate.


17) Glosar (scurt)

Lookup/Dimension atașați - atașați cartea de referință la faptul prin cheie.
Feature Store - înregistrare caracteristici și servire pentru ML.
SCD II - istoric de măsurare cu intervale de valabilitate.
FX - ratele de schimb și normalizarea sumelor.
ASN - sistem de reţea autonomă; util pentru antifraudă și geo-analiză.


18) Linia de jos

Îmbogățirea este disciplina transformării evenimentelor în cunoștințe: chei și scheme consecvente, căutare controlată și agregate, surse versionate, confidențialitate implicită, DQ și observabilitate. Urmând tiparele descrise, veți primi vitrine reproductibile, economice și conforme și semne gata pentru raportare, personalizare și detectoare de risc în timp real.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.