Мінез-құлық сигналдары
Мінез-құлық сигналдары
Мінез-құлық сигналдары - бұл пайдаланушының өніммен өзара іс-қимылының «телеметриясы»: оқиғалар, мәтін және уақыт қатарлары, олардан біз ниет, мүдде, трафик сапасы, тәуекел және құндылық шығарамыз. Сигналдармен жұмыс істеудің сенімді контуры: аспаптау → жинау → тазалау → қалыпқа келтіру → белгілеу → шешімдерде пайдалану → мониторинг және этика.
1) Мінез-құлық сигналдары деп не санау керек
Сессиялар: бастау/тоқта, ұзақтығы, экрандар саны, тереңдігі, тәуліктегі қайталаулар, «тыныш» сессиялар.
Click/tach/scroll: click тығыздығы, жылжыту жылдамдығы, тереңдігі, тоқтату (scroll-stops).
Dwell-time: экрандағы/элементтегі уақыт, белсенді уақыт (idle сүзгісі).
Экрандардың навигациясы/өзара байланысы: кезектілік, ілмектер, rage-навигация.
Кіріс/пішін: толтыру жылдамдығы, түзетулер, таб-навигация, paste rate.
Микро-интеракциялар: ховерлер, ашулар, ауыстырып қосқыштар, сұрыптау/сүзгілер.
Мазмұн/іздеу: сұраулар, CTR, CTCVR, сақтау, «кейінге қалдыру».
Техника: device/browser, FPS/батарея мәртебесі, қателер, latency, желі (IP/ASN), офлайн/онлайн.
Уақыт/контекст: сағат/күн/жергілікті күнтізбе, гео-паттерндер (егер талап етілмесе, нақты геолокациясыз).
Кері байланыс: жасыру, шағым, жауап қайтару, куки/дербестендіруден бас тарту.
2) Аспаптау және оқиғалар схемасы
Каноникалық схема (минимум):
event_id, user_id, session_id, ts_utc, type, screen/page, element, value, duration_ms,
device_id, platform, app_version, locale, referrer, ip_hash, asn, experiment_id, schema_version
Қағидаттары: іспеттілік (dedup по '(source_id, checksum)'), UTC-уақыт, схемалар нұсқасы, тұрақты сәйкестік кілттері, PII (хештер/токендер) азайту.
3) Тазалау және антибот
Headless/automation жалаушалары: WebDriver/puppeteer белгілері, жоқ пайдаланушы қимылдары.
Аномальды жылдамдық: адам үстіндегі басу/скролл, «мінсіз» аралықтар.
Желі: data-hosting орталықтары, белгілі прокси/VPN ASN.
Паттерннің қайталануы: бірдей траекториялар мен бірізділіктер.
QA/ішкі: тест-аккаунттар/құрылғылар тізімі.
Фрод: device/IP-баған (бір девайс → көптеген аккаунттар, гео-velocity).
4) Қалыпқа келтіру және Point-in-Time (PIT)
Уақытша терезелер: 5 минут/1 сағат/24 сағат/7 күн; экспон. тегістеу.
Маусымдылығы: day-of-week, hour-of-day, мерекелік жалаулар.
PIT-кесінділер: барлық белгілер бағалау уақытына дейін құрылады; болашақтан ешқандай ақпарат жоқ.
Онлайн/оффлайн паритет: feature store-да бірдей рецептер.
5) Сигналдардың сапасы мен дұрыстығы
Coverage: толық оқиғалары бар сессиялар/экрандар үлесі.
Freshness: түсу мерзімі.
Consistency: «дәліздердегі» пайдаланушы/сессиядағы оқиғалар үлесі (шығарындыларды бақылау).
Назар аударыңыз: белсенді уақыт/идл-сүзгі, scroll depth, тоқтау.
Ниеті: терең әрекеттерге өту (сүзгі → бөлшек → мақсатты).
Сенімділік: анти-скор, девайс/IP-ке сенім.
6) Белгі жасау (feature engineering)
R/F: соңғы интерактінің recency, 7/30/90 терезеден жиілік.
Dwell/scroll: медиандар/квантильдер, dwell ≥ X бар экрандар үлесі, тереңдігі ≥ p%.
Бірізділігі: n-граммдар, маркалық өткелдер, «өкіну» үлгілері (back-forth), run-length.
Құрылғының тұрақтылығы: құрылғыны/шолғышты ауыстыру, entropy user-agents.
Басу сапасы: rage-clicks.
Іздеу/ниет: сұрау ұзындығы/нақтылау, іздеуден кейін dwell, success rate.
Ұқсастықтар бойынша агрегациялар: user_id, device_id, ip_hash, asn.
Гибридтер: сессиялардың эмбеддингі (Doc2Vec/Transformer) → кластерлеу/ранжирлеу.
7) Сигнал → Әрекет: шешімдер кестесі
Гистерезис пен кулдауналар кеңестермен «жыпылықтамау» үшін міндетті.
8) Псевдо-SQL/рецептер
A. Белсенді уақыт және скролл тереңдігі
sql
WITH ev AS (
SELECT user_id, session_id, page, ts,
SUM(CASE WHEN event='user_active' THEN duration_ms ELSE 0 END) AS active_ms,
MAX(CASE WHEN event='scroll' THEN depth_pct ELSE 0 END) AS max_depth
FROM raw_events
WHERE ts BETWEEN:from AND:to
GROUP BY 1,2,3,4
)
SELECT user_id, session_id,
AVG(active_ms) AS avg_dwell_ms,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY max_depth) AS scroll_median
FROM ev
GROUP BY 1,2;
B. Rage-clicks / back-forth
sql
WITH clicks AS (
SELECT user_id, session_id, ts,
LAG(ts) OVER (PARTITION BY user_id, session_id ORDER BY ts) AS prev_ts,
element
FROM ui_events WHERE event='click'
),
rage AS (
SELECT user_id, session_id,
COUNT() FILTER (WHERE EXTRACT(EPOCH FROM (ts - prev_ts)) <= 0. 3) AS rage_clicks
FROM clicks GROUP BY 1,2
),
backforth AS (
SELECT user_id, session_id,
SUM(CASE WHEN action IN ('back','forward') THEN 1 ELSE 0 END) AS nav_bf
FROM nav_events GROUP BY 1,2
)
SELECT r. user_id, r. session_id, r. rage_clicks, b. nav_bf
FROM rage r JOIN backforth b USING (user_id, session_id);
C. анти-скор (эскиз)
sql
SELECT user_id, session_id,
(CASE WHEN headless OR webdriver THEN 1 ELSE 0 END)0. 4 +
(CASE WHEN asn_cat='hosting' THEN 1 ELSE 0 END)0. 2 +
(CASE WHEN click_interval_std < 50 THEN 1 ELSE 0 END)0. 2 +
(CASE WHEN scroll_speed_avg > 5000 THEN 1 ELSE 0 END)0. 2 AS bot_score
FROM telemetry_features;
D. n-грамм бірізділігі
sql
-- Collect screen sequences and transition frequencies
SELECT screen_seq, COUNT() AS freq
FROM (
SELECT user_id, session_id,
STRING_AGG(screen, '→' ORDER BY ts) AS screen_seq
FROM nav_events
GROUP BY 1,2
) t
GROUP BY screen_seq
ORDER BY freq DESC
LIMIT 1000;
9) ML/талдаудағы мінез-құлық сигналдары
Бейімділік/дербестендіру: CTR/CTCVR-модельдер, session embeddings, next-best-action.
Кету/ұстап тұру: hazard-модельдері, recency/жиілік/бірізділік белгілері.
Антифрод: пішін жылдамдығы, гео-вело, device/IP-баған, «фермалардың» үлгілері.
Трафиктің сапасы: «валидті көріністер», engaged sessions, теріс кері байланыс.
A/B және каузальдығы: делдалдар ретіндегі назар метрикасы, бірақ қорытындылар - инкремент бойынша (ROMI/LTV, ұстап қалу).
10) Визуализация
Sankey/step-bars: жолдар және drop-off.
Heatmaps: скролл тереңдігі, басу картасы (жеке емес).
Cohort × age: когорттардың жасына байланысты сигналдар қалай өзгереді.
Bridge-графиктер: конверсияны өзгертуге факторлардың үлесі (жылдамдық, скролл, қателер).
11) Құпиялылық, этика, RG/комплаенс
PII-минимизация: идентификатор хэштері, RLS/CLS, экспорт кезінде бүркемелеу.
Келісім/ашықтық: трекингті теңшеу, бас тарту - құрметтеледі; логика түсінікті.
RG: зиянды мінез-құлықты көтермелеу үшін сигналдарды пайдаланбау; жұмсақ ескертулер/лимиттер.
Fairness: топтар бойынша қателер/интервенциялар айырмашылығын тексеру; жарамсыз белгілерді алып тастау.
Сақтау: «дымқыл» оқиғалар үшін TTL мерзімдері, агрегация артықшылықты.
12) Бақылау және дрейф
Деректер сапасы: coverage, дубликаттар, лагтар, бос өрістердің пайызы.
Сигналдық дрейф: dwell/scroll/жиіліктер бойынша PSI/KL; «жаңа» үлгілер.
Операциялық: жинаудың latency, белгілерді есептеу p95, фолбэктердің үлесі.
Guardrails: бот-скорлықтың, шағымдардың, жауап қайтарулардың; агрессивті интервенцияларға «тоқта-кран».
13) Қарсы үлгілер
Контексті/идл-сүзгісі жоқ шикі басулар → жалған «назар».
Бірліктерді араластыру (пайдаланушылар сессиялары), TZ, терезелер → сәйкессіздік.
Болашақтағы тұлғалар (PIT жоқ) → модельдерді қайта бағалау.
Шуға нультолеранттылық: гистерезисіз қатал табалдырықтар → «жыпылықтау».
Игнор антибот/QA-сүзгілер → жоғары метриктер.
Себепсіз артық PII жазу → тәуекелдер мен айыппұлдар.
14) Мінез-құлық сигналдарының контурын іске қосудың чек-парағы
- Оқиғалар схемасы (нұсқалар, UTC, іспеттілік), PII азайту
- Антибот/QA сүзгілері, қара/ақ ASN/құрылғы тізімдері
- PIT рецептер, терезелер 5м/1ч/24ч/7д, онлайн/оффлайн тепе-теңдік
- Сапа өлшемдері: coverage, freshness, engagement валидаторлар
- R/F/dwell/scroll/кезектілік белгілері/іздеу, session embeddings
- Decision tables: әрекеттер, гистерезис, құлдаундар, guardrails
- Дашбордтар және дрейф алаңдары (PSI/KL), шағымдар/қайтарулар, RG-индикаторлар
- Құжаттама: датасловарь, сигналдар/метриктер паспорттары, иелері және рунибуктар
Жиынтығы
Мінез-құлық сигналдары тек тәртіптік контурда ғана құндылық береді: дұрыс құрал-жабдықтар және PIT, тазарту және антибот, тұрақты белгілер және айқын іс-қимыл саясаты, құпиялылық және RG, бақылау және дрейфке реакция. Мұндай тәсіл «кликтер мен скроллдарды» конверсияны арттыратын шешімдерге, ұстап қалуға және LTV - қауіпсіз, ашық және қайталанатын шешімдерге айналдырады.