GH GambleHub

Деректерді байыту

1) Мақсаты және бизнес-құндылығы

Байыту «шикі» оқиғаларды контекст пен белгілерді қоса отырып, пайдалы фактілерге айналдырады:
  • Қаржы/есептілік: fx-сомаларды қалыпқа келтіру, нарықтарға/салық ставкаларына байланыстыру, GGR/NGR есебі.
  • Комплаенс/AML/RG: тәуекел скорингтері, санкциялық/РЕР-белгілер, RG-лимиттер, мінез-құлық белгілері.
  • Маркетинг/өнім: трафик көздері, сегменттер, миссиялар/квесттер, дербестендіру.
  • SRE/операциялар: трафик үшін гео/ASN, клиент/құрылғы түрі, фичфлагтар мен релиздер.

Түйінді нәтиже - үлгілердің дәлдігін, есептердің сапасын және шешім қабылдау жылдамдығын арттыру.


2) Байыту көздері (үлгі каталог)

Референс/каталогтар: ойындар, провайдерлер, базарлар/юрисдикциялар, валюталар, салық кестелері, мерекелер күнтізбесі.
KYC/KYB/RG: тексеру деңгейлері, мәртебелер, өздігінен алып тастаулар, лимиттер, жас топтары.
AML/санкциялар/PEP: скрининг хиттері, тізімдер, тәуекел деңгейлері.
Желілер мен құрылғылар: IP → гео/ASN, құрылғы/OS/браузер, device fingerprint.
Төлем провайдерлері (PSP): BIN-кестелер, әдістер, MCC, тәуекел белгілері.
FX/уақыт: оқиға күніндегі валюта бағамдары, жергілікті уақыт белдеулері/DST.
Контент және маркетинг: дереккөздер/науқандар/UTM, аффилиаттар, сегменттер.
Модельдер мен эвристиктер: алдын ала оқытылған скорингтер, эмбеддингтер, санатты маппингтер.


3) Байыту түрлері

Lookup-джойн: кілт бойынша нүктелік салыстыру (game_id, BIN, ip_range, user_pseudo_id).
Dimension attach: өлшемдерді қосу (dim.) фактілерге.
Derived fields: есептелетін бағандар (amount_base, local_time, tax_rate).
Aggregations/velocity: терезе үшін есептеуіштер (N ставкалар/мин, депозиттер сомасы/сағат).
Risk/behavioral features: «соңғы оқиғадан бергі уақыт», share-of-wallet, түнгі белсенділік.
Geo/ASN/Device: елдің коды, өңір, оператор, құрылғы/шолғыш түрі.
Semantic mappings: провайдерлердің/ойындардың жіктелуі, ойыншылардың кластерлері.
ML-фичтер: онлайн/офлайн модельдеу үшін белгілер (Feature Store).


4) Қайда байыту: Batch vs Stream

Stream (real-time): антифрод, RG-триггерлер, SRE алерттары - p95 ≤ 2-5 с кідірістер; кэшке lookup (Redis/Scylla), таймері бар провайдерлерге асинхронды сұраулар.
Batch (микро-батчи/күн сайын): Gold (GGR/RG/AML) витриналары, салыстыру, есептер - тұрақтылық пен толықтық латенттіліктен маңызды.
Гибрид: жылдам онлайн белгісі + түнгі байыту (reconciliation/accuracy).


5) Сәулеттік референс

1. Bronze - шикі оқиғалар (append-only).
2. Silver (clean/conform) - қалыпқа келтіру, кілттер, бастапқы lookup 'и (fx, geo, dim.) .
3. Enrichment Layer - кеңейтілген белгілер, терезе агрегаттары, тәуекел белгілері.
4. Feature Store - белгілер тіркелімі (онлайн/офлайн үйлесімділік).
5. Gold - BI/реттегіш/модельге арналған сөрелер; өзгермейтін артефактілер.
6. Сервистер - API/GraphQL, есептік экспорт, real-time алерта.

Компоненттері: Kafka/Redpanda, Flink/Spark/Beam, Redis/Scylla (lookup), ClickHouse/Pinot (жедел оқу), Lakehouse (Delta/Iceberg/Hudi).


6) Келісімшарттар мен схемалар

Schema-first: 'event _ time', 'schema _ version', тұрақты кілттер (user_pseudo_id, game_id, transaction_id).
Байыту белгілері: 'enrichment. version`, `enrichment. sources`, `fx_source`, `geo_source`, `model_version`.
Нұсқалау: жаңа белгілер nullable ретінде қосылады; breaking-өзгерістер - '/v2 'және қос жазба арқылы.


7) Байыту мысалдары (SQL/жалған құжат)

7. 1 FX-қалыпқа келтіру және жергілікті уақыт

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 IP бойынша Geo/ASN (жалған құжат)

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 Депозиттер жылдамдығының терезе белгілері (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-лимиттермен түйісу

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) Байыту сапасы (DQ)

Ең аз ережелер:
  • FX: 'fx _ rate _ used' NULL емес, 'fx _ source' whitelist, есептік 'amount _ base ≥ 0'.
  • Geo/ASN: табысты lookups үлесі ≥ 98% (нарықтар бойынша), анықтамалықтағы 'country'.
  • RG/AML белгілері: 'valid _ from/valid _ to' (SCD II) қиылыспайды; тарихта «тесіктердің» болмауы.
  • Агрегаттар/терезелер: терезелердің дұрыстығы (екі рет есептелмейді), completeness ≥ 99. 5%.
  • Модельдердің нұсқалары: «model _ version» бар, таңбалар дрейфін бақылау.
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) Құпиялылық және комплаенс

PII азайту: псевдо-ID бойынша байытыңыз, нақты сәйкестендіргіштер - жеке контурда.
Geo-локализация және резиденттілік: өңір бойынша маршруттау (EEA/UK/BR), бөлек шифрлау кілттері.
DSAR/RTBF: байытылған проекциялар «жасыру «/редакцияны қолдауы тиіс; ерекшеліктер үшін құқықтық негіз сақтаңыз.
Legal Hold: есептік артефактілер/кейстер үшін жоюды тоқтату.


10) Бақылау және lineage

Линедж: шикі оқиғадан → lookup/агрегаттар → витриналар/модельдер; көздердің нұсқаларын тіркеңіз ('fx _ source', 'geo _ source', 'bin _ source').
SLI/SLO: freshness p95 (Silver) ≤ 15 мин; табысты geo-lookups ≥ 98%; негізгі белгілері толтырылған жазбалар үлесі ≥ 99%; latency enrich-стрим p95 ≤ 2-5 с.
Дашбордтар: көздер бойынша completeness жылу картасы, анықтамалықтар/модельдер нұсқаларының картасы, «қымбат» join 'oв мониторы, белгілердің дрейфі.


11) Құны және өнімділігі

Кэштер/материалдандыру: жиі lookup 'және Redis/Scylla; мерзімдік snapshot '.
Ықшам белгілері: агрегаттарды сақтаңыз («шикі» тізімдер емес); Parquet/баған пішімдерін пайдаланыңыз.
Партиялануы: күні/нарығы/теңгерімі бойынша; жиі сүзілетін өрістер бойынша кластерлеу.
Бейімделу жиілігі: ауыр enrich-джобтар - түнде; realtime - тек сыни.
Chargeback: командалар/фичтер бойынша cost/query және cost/GB есебі.


12) Паттерндер және қарсы паттерндер

Үлгілер:
  • RG/KYC/провайдерлер үшін Dimension Lookup + SCD II.
  • Async Enrichment таймауттар мен fallback («unknown» белгісі + қайталау).
  • Online/offline келісімімен және өтімділік тестілерімен Feature Store.
  • Байытуға арналған Rule-as-Code (шекті/санатты карталар).
Қарсы үлгілер:
  • Кэшсіз ыстық жолда сыртқы API-ге қатаң байланыстыру.
  • Көздердің таңбаланбаған нұсқалары ('fx _ source', 'geo _ source').
  • Silver-да «барлығы бар» денормализациясы (құн/күрделілік жарылыстары).
  • Аналитикалық қабаттарға PII енгізу.

13) Процестер және RACI

R (Responsible): Data Engineering (enrich/stream пайплайндары), Domain Owners (белгілер семантикасы), 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/Өнім/Маркетинг/Операциялар.


14) Енгізу жол картасы

MVP (2-4 апта):

1. Байыту көздерінің каталогы (fx, geo, markets, RG/KYC).

2. Silver-қалыпқа келтіру + базалық lookup 'және (fx/geo/dim.) .

3. Бірінші velocity агрегаттары (депозиттер/мөлшерлемелер) және enriched. v1 кестесі.

4. Дашборд completeness/freshness, дереккөздер нұсқасы.

2-фаза (4-8 апта):
  • Санкцияларды қосу/РЕР/КУВ, BIN-кестелер PSP, device fingerprint.
  • Feature Store (белгілер ядросы) + онлайн-кэш, Flink realtime-байыту.
  • DQ-ережелер enrich-қабатына, lineage және симуляцияның «dry-run».
3-фаза (8-12 апта):
  • Дербестендіру (миссиялар/квесттер) және RG/AML-детекторлар онлайн.
  • Құнын басқару (квоталар, материалдандыру, Z-order), мульти-өңір.
  • Белгілер мен каталог құжаттамасының автогенерациясы («feature cards»).

15) Азық-түлік алдындағы сапа

  • Келісілген кілттер мен схемалар, дереккөздердің нұсқаларына қол қойылды.
  • DQ-ережелер fx/geo/RG/санкциялар/терезелер; алерттар және SLO.
  • Сыртқы lookup үшін кэштер/таймауттар және fallback.
  • Линедж және құн/өнімділік дашбордтары.
  • Байытылған кестелер үшін DSAR/RTBF/Legal Hold рәсімдері.
  • Белгілердің құжаттамасы (owner, формулалар, SLO, әсері).

16) Жиі қателер және оларды болдырмау

Анықтамалықтардың/үлгілердің белгіленбеген нұсқалары: әрқашан '_ source' және 'model _ version' дегендерді белгілеңіз.
fx «артқы күнмен» есептеу: оқиға сәтіндегі бағамды пайдаланыңыз; FX көзін сақтаңыз.
PII араластыру: маппингтерді токендеу және оқшаулау.
Агрегаттардағы қосарлы есеп: терезелер мен дедуптарды тексеріңіз.
Кэшсіз синхронды сыртқы қоңыраулар: async + кэш/ретраны енгізіңіз.
Жоқ өтімділік фич: бірыңғай трансформация коды online/offline, сәйкестік тестілері.


17) Глоссарий (қысқаша)

Lookup/Dimension attach - анықтаманы кілт бойынша фактіге қосу.
Feature Store - ML үшін белгілер тіркелімі мен сервингі.
SCD II - валидтілік аралығымен өлшемдерді тарихтау.
FX - валюта бағамдары және сомаларды қалыпқа келтіру.
ASN - желінің дербес жүйесі; антифрод және гео-талдау үшін пайдалы.


18) Қорытынды

Байыту - бұл оқиғалардың білімге айналу тәртібі: келісілген кілттер мен схемалар, бақыланатын lookup 'және агрегаттар, нұсқаланған көздер, әдепкі құпиялылық, DQ және бақылау. Сипатталған үлгілерге сүйене отырып, сіз қайталанатын, үнемді және жинақталған витриналар мен есептілікке, дербестендіруге және real-time тәуекел детекторларына дайын белгілерді аласыз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.