Ma’lumotlarni boyitish
1) Vazifasi va biznes qiymati
Boyitish «xom» hodisalarni foydali faktlarga aylantiradi, kontekst va belgilar qo’shadi:- Moliya/hisobot: fx-summalarni normallashtirish, bozorlarga/soliq stavkalariga bog’lash, GGR/NGR hisob-kitobi.
- Komplayens/AML/RG: tavakkalchilik skoringlari, sanksiya/RER-belgilar, RG-limitlar, xulq-atvor belgilari.
- Marketing/mahsulot: trafik manbalari, segmentlar, missiyalar/kvestlar, shaxsiylashtirish.
- SRE/amallar: trafik uchun geo/ASN, mijoz/qurilma turi, fichflaglar va relizlar.
Asosiy natija - modellarning aniqligi, hisobotlar sifati va qarorlar qabul qilish tezligini oshirish.
2) Boyituvchi manbalar (namunaviy katalog)
Referens/kataloglar: o’yinlar, provayderlar, bozorlar/yurisdiksiyalar, valyutalar, soliq jadvallari, bayramlar taqvimi.
KYC/KYB/RG: tekshirish darajalari, maqomlar, o’z-o’zidan istisnolar, limitlar, yosh guruhlari.
AML/sanksiyalar/PEP: skrining xitlari, ro’yxatlar, xavf darajalari.
Tarmoq va qurilmalar: IP → geo/ASN, qurilma/OS/brauzer, device fingerprint.
To’lov provayderlari (PSP): BIN-jadvallar, usullar, MCC, tavakkalchilik belgilari.
FX/vaqt: hodisa sanasidagi valyuta kurslari, mahalliy vaqt zonalari/DST.
Kontent va marketing: manbalar/kampaniyalar/UTM, affiliates, segmentlar.
Modellar va evristiklar: oldindan o’qitilgan skoringlar, embeddinglar, toifali mappinglar.
3) Boyitish turlari
Lookup-joyn: kalit bo’yicha nuqtaviy taqqoslash (game_id, BIN, ip_range, user_pseudo_id).
Dimension attach: oʻlchamlarni ulash (dim.) faktlarga.
Derived fields: hisoblanadigan ustunlar (amount_base, local_time, tax_rate).
Aggregations/velocity: derazalar uchun hisoblagichlar (N stavkalar/min, depozitlar summasi/soat).
Risk/behavioral features: «oxirgi voqeadan keyingi vaqt», share-of-wallet, tungi faollik.
Geo/ASN/Device: mamlakat kodi, mintaqa, operator, qurilma/brauzer turi.
Semantic mappings: provayderlar/o’yinlar tasnifi, o’yinchilar klasterlari.
ML fichlari: onlayn/oflayn modellashtirish uchun belgilar (Feature Store).
4) Qayerda boyitish kerak: Batch vs Stream
Stream (real-time): antifrod, RG-triggerlar, SRE alertlari - kechikishlar p95 ≤ 2-5 s; lookup (Redis/Scylla), taymaut provayderlariga asinxron so’rovlar.
Batch (mikro-batchi/kundalik): Gold (GGR/RG/AML) vitrinalari, solishtirmalar, hisobotlar - barqarorlik va to’liqlik latentlikdan muhimroqdir.
Gibrid: tezkor onlayn belgi + tungi haddan tashqari boyitish (reconciliation/accuracy).
5) Arxitektura referensi
1. Bronze - xom voqealar (append-only).
2. Silver (clean/conform) - normallashtirish, kalitlar, birlamchi lookup’i (fx, geo, dim.) .
3. Enrichment Layer - kengaytirilgan belgilar, deraza agregatlari, xavf belgilari.
4. Feature Store - belgilar registri (onlayn/oflayn muvofiqlik).
5. Gold - BI/regulyator/model ostidagi vitrinalar; o’zgarmas artefaktlar.
6. Servislar - API/GraphQL, hisobot eksportlari, real-time alertlari.
Komponentlar: Kafka/Redpanda, Flink/Spark/Beam, Redis/Scylla (lookup), ClickHouse/Pinot (tezkor o’qish), Lakehouse (Delta/Iceberg/Hudi).
6) Kontraktlar va sxemalar
Schema-first:’event _ time’,’schema _ version’, barqaror kalitlar (user_pseudo_id, game_id, transaction_id).
Boyitish belgilari:’enrichment. version`, `enrichment. sources`, `fx_source`, `geo_source`, `model_version`.
Version: yangi belgilar nullable sifatida qoʻshiladi; breaking-o’zgarishlar - ’/v2’va qo’sh yozuv orqali.
7) Boyitish namunalari (SQL/psevdokod)
7. 1 FX-normallashtirish va lokal vaqt
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. IP bo’yicha 2 Geo/ASN (psevdokod)
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 Depozitlar tezligining deraza belgilari (stream)
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 RG-limitlar bilan uyg’unlik
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) Boyitish sifati (DQ)
Eng kam qoidalar:- FX:’fx _ rate _ used’NULL’,’fx _ source’whitelist’dan, hisob-kitob’amount _ base ≥ 0’.
- Geo/ASN: muvaffaqiyatli lookups ulushi ≥ 98% (bozorlar bo’yicha), ma’lumotnomada «country».
- RG/AML belgilari:’valid _ from/valid _ to (SCD II); tarixda «teshiklar» yo’qligi.
- Agregatlar/oynalar: oynalarning toʻgʻriligi (ikki marta hisobga olinmagan), completeness ≥ 99. 5%.
- Modellar versiyasi:’model _ version’mavjud, belgilar dreyfini nazorat qilish.
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) Maxfiylik va komplayens
PII ni minimallashtirish: psevdo-ID bo’yicha boyiting, haqiqiy identifikatorlar - alohida konturda.
Geo-lokalizatsiya va rezidentlik: mintaqa bo’yicha yo’naltirish (EEA/UK/BR), alohida shifrlash kalitlari.
DSAR/RTBF: boyitilgan proyeksiyalar «yashirish «/tahririyatni qo’llab-quvvatlashi kerak; istisnolar uchun huquqiy asoslarni saqlang.
Legal Hold: hisobot artefaktlari/keyslari uchun olib tashlashni muzlatish.
10) Kuzatish va lineage
Linedj: xom hodisadan → lookup/agregatlar → vitrinalar/modellar; manbalarning versiyalarini yozib oling (’fx _ source’,’geo _ source’,’bin _ source’).
SLI/SLO: freshness p95 (Silver) ≤ 15 мин; muvaffaqiyatli geo-lookups ≥ 98%; asosiy belgilari to’ldirilgan yozuvlar ulushi ≥ 99%; latency enrich-strim p95 ≤ 2-5 s.
Dashbordlar: manbalar bo’yicha completeness issiqlik xaritasi, ma’lumotnomalar/modellar versiyalari xaritasi, «qimmatbaho» join’lar monitorlari, belgilar dreyfi.
11) Qiymati va unumdorligi
Keshlar/materiallashtirish: tez-tez lookup’va Redis/Scylla; davriy snapshotlar.
Ixcham belgilar: agregatlarni saqlang («xom» ro’yxatlar emas); Parquet/ustunli formatlardan foydalaning.
Partiyalashtirish: sana/bozor/tenant bo’yicha; tez-tez filtrlanadigan maydonlar bo’yicha klasterlash.
Adaptiv chastota: og’ir enrich-joblar - tunda; realtime - faqat tanqidiy.
Chargeback: cost/query va cost/GB hisobi.
12) Patternlar va anti-patternlar
Patternlar:- Dimension Lookup + SCD II RG/KYC/provayderlar uchun.
- Taymaut va fallback bilan Async Enrichment («unknown» + takrorlash belgisi).
- Feature Store onlayn/offline muvofiqlashtirish va o’tkazuvchanlik testlari bilan.
- Boyitish uchun Rule-as-Code (chegara/toifali xaritalar).
- Issiq yoʻlda keshsiz tashqi APIga qattiq bogʻlash.
- Manbalarning belgilanmagan versiyasi (’fx _ source’,’geo _ source’).
- «Hamma narsa bilan» ning denormallashuvi (qiymat/murakkablik portlashlari).
- PIIni tahliliy qatlamlarga kiritish.
13) Jarayonlar va RACI
R (Responsible): Data Engineering (payplaynlar enrich/stream), Domain Owners (belgilar semantikasi), MLOps (Feature Store).
A (Accountable): Head of Data / Chief Data Officer.
C (Consulted): Compliance/Legal/DPO, Finance (FX/налоги), Risk (RG/AML), SRE.
I (Informed): BI/Mahsulot/Marketing/Operatsiyalar.
14) Joriy etish yo’l xaritasi
MVP (2-4 hafta):1. Boyituvchi manbalar katalogi (fx, geo, markets, RG/KYC).
2. Silver-normalizatsiya + bazaviy lookup’i (fx/geo/dim.) .
3. Birinchi agregatlar velocity (depozitlar/stavkalar) va enriched. v1 jadvallar.
4. Dashbord completeness/freshness, manbalar versiyasi.
2-bosqich (4-8 hafta):- Sanksiyalar/PER/CUV, BIN-PSP, device fingerprint jadvallarini ulash.
- Feature Store (belgilar yadrosi) + onlayn-kesh, Flink realtime-boyitish.
- DQ qoidalari enrich-qatlam, lineage va «dry-run» simulyatsiyasiga.
- Personalizatsiya (missiyalar/kvestlar) va RG/AML-detektorlar.
- Qiymatni boshqarish (kvotalar, materiallashtirish, Z-order), ko’p mintaqa.
- Belgilar hujjatlari va katalogning avtogeneratsiyasi («feature cards»).
15) Sotishdan oldingi sifat chek-varaqasi
- Kelishilgan kalitlar va sxemalar, manbalarning versiyalari imzolandi.
- fx/geo/RG/sanksiyalar/derazalar uchun DQ qoidalari; alertlar va SLO.
- Tashqi lookup’lar uchun kesh/taymaut va fallback.
- Linedj va dashbordlar qiymati/unumdorligi.
- Boyitilgan jadvallar uchun DSAR/RTBF/Legal Hold protseduralari.
- Belgilar hujjatlari (owner, formulalar, SLO, ta’sir).
16) Tez - tez xatolar va ulardan qanday qochish mumkin
Maʼlumotnoma/modellarning belgilanmagan versiyalari: har doim’_ source’va’model _ version’ni oʻrnating.
fx «orqa son» bilan hisoblash: hodisa paytidagi kursdan foydalaning; FX manbasini saqlang.
PII aralashtirish: mappinglarni tokenlashtiring va izolyatsiya qiling.
Agregatlarda ikki marta hisobga olish: derazalar va dedupni tekshiring.
Keshsiz sinxron tashqi qoʻngʻiroqlar: async + kesh/retraylarni kiriting.
Onlayn/offline transformatsiyalarning yagona kodi, muvofiqlik testlari.
17) Lugʻat (qisqacha)
Lookup/Dimension attach - ma’lumotnomani kalit faktiga ulash.
Feature Store - ML uchun belgilar registri va servingi.
SCD II - o’lchovlarni validlik oralig’i bilan tarixlashtirish.
FX - valyuta kurslari va summalarni normallashtirish.
ASN - tarmoqning avtonom tizimi; antifrod va geo-tahlil uchun foydalidir.
18) Jami
Boyitish - voqealarni bilimga aylantirish intizomi: kelishilgan kalitlar va sxemalar, nazorat qilinadigan lookup’i va agregatlar, versiyalangan manbalar, andoza maxfiylik, DQ va kuzatish. Ta’riflangan patternlarga amal qilib, siz hisobot berish, personallashtirish va real-time xavf detektorlariga tayyor bo’lgan, qayta tiklanadigan, tejamkor va komplayent ko’rinishlarga ega bo’lasiz.