GH GambleHub

Feature Engineering жана белгилерин тандоо

1) Максаты жана принциптери

Максаты: оффлайн жана онлайн ортосунда макулдашылган туруктуу, чечмеленүүчү жана үнөмдүү белгилерди куруу.

Принциптери:
  • Point-in-time: Ficks келечеги жок, чечим учурда жеткиликтүү маалыматтардан эсептелет (анти-leakage).
  • Domain-first: Fiches бизнес-механиканы чагылдырат (депозиттер, сессиялар, оюн жанрлары, RG/AML).
  • Reuse & Contracts: Fich - нускалары, ээлери, формулалар жана SLO Feature Store.
  • Cost-aware: latency жана эсептөө/сактоо наркы → гана өзүн-өзү актоо материалдык карап көрөлү.
  • Observability: мониторинг дрейф/туруктуулук/калибрлөө; онлайн/оффлайн эквиваленттик тест.

2) iGaming үчүн белгилердин таксономиясы

RFM/жүрүм-туруму: терезелер боюнча recency/frequency/monetary (10m/1h/1d/7d/30d).
Сессия: узактыгы, тыныгуу, түзмөктөрдү өзгөртүү/ASN, иш-аракет ылдамдыгы.
Финансылык: депозиттер/корутундулар/чарджбектер, төлөм ыкмаларынын үлүштөрү, FX-нормалдаштыруу.
Оюн: жанр профилдери, провайдерлердин туруксуздугу, RTP кластерлери, win-streak.
Маркетинг: каналдар/UTM, үгүт жооп, saturation/cooldown.
RG/AML: лимиттер, өзүн-өзү четтетүү желектери, velocity үлгүлөрү, BIN/IP кайра колдонуу.
Гео/убакыт: жергиликтүү календарлар/майрам, саат кур, кечинде/түн.
Graphics: user-card-device-ip байланыш, борборлоштуруу/компоненттери, "шакек" frode.
NLP/тексттер: тема жана тон билеттер/чаттар; негизги даттануулар.
Операциялык: лаг/провайдерлердин каталары, сессиялардын туруктуулугу (SRE моделдер үчүн).


3) Терезелер жана агрегаттар (point-in-time)

Типтүү терезелер: 10m/1h/24h/7d/30d. Ар бир терезе үчүн - count/sum/mean/std/last/max/min, ratio жана rate.

SQL-шаблон (30d депозиттер, келечеги жок):
sql
SELECT u.user_pseudo_id, t.asof,
SUM(CASE WHEN e.type='deposit'
AND e.event_time>=t.asof - INTERVAL '30' DAY
AND e.event_time< t.asof THEN e.amount_base ELSE 0 END) AS dep_30d,
COUNT(CASE WHEN e.type='bet'
AND e.event_time>=t.asof - INTERVAL '7' DAY
AND e.event_time< t.asof THEN 1 END) AS bets_7d
FROM silver.fact_events e
JOIN (SELECT user_pseudo_id, DATE(event_time) AS asof
FROM silver.fact_events GROUP BY 1,2) t USING(user_pseudo_id)
JOIN dim.users_scd u ON u.user_pseudo_id=t.user_pseudo_id
AND t.asof >= u.valid_from AND (u.valid_to IS NULL OR t.asof < u.valid_to)
GROUP BY 1,2;

4) Категориялык коддоо

One-Hot/Hashing: сейрек кездешүүчү/жогорку-негизги категориялар үчүн (оюндар, провайдерлер).
Максаттуу Encoding (TE): k-fold/leave-one-out жана time-aware тегиздөө (анти-leakage) менен максаттуу орточо.
WOE/IV (тобокелдик-эсеби): IV контролдоо жана туруктуулук менен монотондук бин.

TE (psevdocode, time-aware):
python for fold in time_folds:
train_idx, val_idx = split_by_time(fold)
te_map = target_mean(train[["provider_id","label"]])
val["provider_te"] = val["provider_id"].map(te_map).fillna(global_mean)

5) нормалдаштыруу жана скейлинг

Min-max/Robust/Z-score - окуу терезеси боюнча; параметрлерин артефакттарда сактайбыз.
Log-өзгөрүүлөр суммалар/коюмдардын узун куйруктары үчүн.
Box-Cox/Yeo-Джонсон - симметриялаштыруу талап кылынат.


6) Убактылуу жана сезондук чүчүкулак

Календардык: жума күнү, саат, базар майрамы (ref. calendar), pay-day.
Мезгилдүүлүк: жылма орточо/экспон. тегиздөө (EMA), deltas (t − t-1).
Event-based: акыркы депозиттик/утуш/жоготуу менен убакыт, "муздатуу".


7) Graph белгилери (Frod/AML)

чокулары: user/card/device/ip. кабыргалар: бүтүмдөр/сессиялар/биргелешкен белгилери.
Fich: компоненттеринин көлөмү, degree, betweenness, pagerank, triads, кайра пайда.
Шаблон: nightly batch тилке курат → эмбеддинг/борборлоштуруу → онлайн кэш.


8) NLP чүчпара (саппорт/чаттар/ревю)

Негизги: TF-IDF/NMF темалар, sentiment, узундугу, даттануулар жыштыгы.
Advanced: embeddings (Sentence-BERT) → терезе үчүн тикеттер боюнча орточо.
PII: саясатка чейинки жана пост-маскировкалоо (электрондук почта, PAN, телефондор).


9) Гео/ASN жана түзмөктөр

IP → Geo/ASN: кэш жана жаңыртуу; убакыт/кэш жок онлайн синхрондуу суроо жок.
Fich: туруктуулук ASN/DeviceID, нөөмөт жыштыгы, логиндер ортосундагы аралык.


10) Anti-Leakage жана онлайн/offline макулдашуу

Point-in-time join, терезелерде/лейблдерде келечектеги окуялар жок.
Бир трансформация коду (library) үчүн оффлайн жана онлайн.
Эквиваленттик сыноо: T үлгүсүндө биз онлайн маанисин оффлайн менен салыштырабыз (MAE/MAPE).

YAML-SPECK чүчүкулак:
yaml name: deposits_sum_10m owner: ml-risk slo: {latency_ms_p95: 20, availability: 0.999}
offline:
source: silver.payments transform: "SUM(amount_base) OVER 10m BY user_pseudo_id"
online:
compute: "streaming_window: 10m"
tests:
- compare_online_offline_max_abs_diff: 0.5

11) Белгилерди тандоо (feature selection)

11. 1 Filter

Вариация/корреляция: константаларды алып салуу,ρ>0. 95 дубликаттары.
Mutual Information (MI): сызыктуу эмес байланыштарды ранжирлөө.
IV/KS (тобокелдик): AML/RGдеги бинардык максаттар үчүн.

11. 2 Wrapper

RFE/Sequential FS: чакан топтомдор/логистикалык регрессия боюнча.
Stability Selection: бутстреп-самплинг туруктуулугу.

11. 3 Embedded

L1/Lasso/ElasticNet: сейрек.
Дарактар/GBDT: importance/SHAP тандоо жана бизнес-чечмелөө үчүн.
Group Lasso: топтук тандоо (бир өзгөрмөлүү bin-fich топтомдору).

Пайплайн (эскиз):
python
X = preprocess(raw)        # one-hot/TE/scale
X = drop_const_and_corr(X, thr=0.95)
rank_mi = mutual_info_rank(X, y)
keep1 = topk(rank_mi, k=200)
model = LGBMClassifier(...)
model.fit(X[keep1], y)
shap_vals = shap.TreeExplainer(model).shap_values(X[keep1])
keep2 = stable_topk_by_shap(shap_vals, k=60, bootstrap=20)
final = keep2

12) Туруктуулук, дрейф жана калибрлөө

Drift: PSI/KS физикалык жана тез; чектен ашканда аллергия.
Туруктуулук: "алсыз" TE/WOE (кардиналдуулук/жылыш).
калибрлөө: Platt/Isotonic; reliability отчеттор.
Slice-талдоо: базарлар/провайдерлер/түзмөктөр - бенчмарктар метриктер жана күтүлгөн ката наркы.


13) Наркы-инженердик жана аткаруу

Cost per Feature (CPF): CPU/IO/тармак/сактоо → моделге бюджет.
Материалдаштыруу: оор offline, жарык онлайн; TTL/Hot Fich үчүн кэш.
Remote lookups: гана async + кэш; p95 <20-30 ms онлайн чичи.
Chargeback: команда боюнча fich/inferens наркын эсепке алуу.


14) Feature Store (ырааттуулук өзөгү)

реестри: аты-жөнү, формула, ээси, SLO, тесттер, нускалары.
Онлайн/оффлайн синхрондоштуруу: бир трансформация коду, теңдик сынагы.
Логи/аудит: формуланы ким өзгөрттү; версиянын моделдин метрикасына тийгизген таасири.


15) Мисалдар

ClickHouse: мүнөт коюм агрегаттары:
sql
CREATE MATERIALIZED VIEW mv_bets_1m
ENGINE = SummingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), user_pseudo_id)
AS
SELECT toStartOfMinute(event_time) AS ts_min,
user_pseudo_id,
sum(stake_base) AS stake_sum_1m,
count() AS bets_1m
FROM stream.game_events
GROUP BY ts_min, user_pseudo_id;
Анти-correlation drop (SQL-идея):
sql
-- вычислить корреляции и удалить пары с     ρ    >0.95, сохранив более «дешевую» фичу
WOE binning (эскиз):
python bins = monotonic_binning(x, y, max_bins=10)
woe = compute_woe(bins)
iv = compute_iv(bins)

16) Процесстер жана RACI

R (Responsible): Data Eng (Conveyors/Feature Store), Data Science (дизайн Fich/тандоо/метрика).
A (Accountable): Head of Data / CDO.
C (Consulted): Compliance/DPO (PII, residency), Risk/AML/RG (эрежелер), SRE (SLO/наркы), Security.
I (Informed): Продукт/Маркетинг/Операциялар/Колдоо.


17) Жол картасы

MVP (3-5 жума):

1. Каталог Top 50 fich (Payments/Gameplay) менен point-in-time формулалар.

2. Feature Store v1 (онлайн/оффлайн) + эквиваленттик тест.

3. Негизги тандоо: константалар/корреляциялар → MI → L1/SHAP shortlist (60 бетке чейин).

4. Мониторинг дрейф жана cost-dashboard.

2-этап (5-10 жума):
  • Time-aware validation менен TE/WOE, Graphics жана календардык Fich.
  • Slice-талдоо жана fairness, ыктымалдыгын калибрлөө.
  • Материалдык оор оффлайн, онлайн кэш, квота.
Этап 3 (10-16 жума):
  • Автогенерация документация fich, stability-selection в CI.
  • Авто-деактивация "кымбат жана пайдасыз" fich (CPF ↑, салым ↓).
  • A/B салыштыруу fich топтомдору, отчеттор expected-cost.

18) Азык-түлүктүн алдындагы чек-тизме

  • Бардык Ficks өзгөчөлүктөрү бар (owner, формула, версия, SLO).
  • point-in-time жана онлайн/оффлайн эквиваленттик тесттер өттү.
  • Тандоо аяктады: filter → embedded (SHAP/L1) → туруктуулук.
  • Drift мониторинг жана reliability орнотулган; бар.
  • CPF/latency бюджетке туура келет; оор чичтер материалдаштырылган.
  • PII саясаты (CLS/RLS, tokenization, резиденттик).
  • Документтер жана пайдалануу мисалдары каталогго кошулду.

19) Анти-үлгүлөрү жана тобокелдиктер

Лейкедж (келечектеги окуялар/промо кесепеттери).
макулдашылбаган онлайн/оффлайн формулалары.
hashing/TE жок жогорку-кардиналдуу категорияларынын ашыкча бир-hot.
"Кымбат" сапаты өлчөнгөн өсүш жок чач.
Жок slice/fairness талдоо - жашыруун бузулуулар.
TE/WOE эч кандай убакыт-aware cross-validation → кайра окутуу.


20) Жыйынтык

Feature Engineering - бул башкарылуучу тартип болуп саналат: пункту-жылы-убакыт, бизнес мааниси, кайталоо, мониторинг жана экономика. Күчтүү Ficks + катуу тандоо (filter/wrapper/embedded) жана бирдиктүү Feature Store Net Revenue жакшыртат туруктуу, чечмеленүүчү жана арзан моделдер берет, азаят жана колдоо RG - ачык-айкын жана комплимент.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.