Маркетингке арналған «хрусталь шар»: GA4 және Vertex AI көмегімен Астанадағы фитнес-желі клиенттерінің кетуін қалай болжауға болады
Көз алдыңызға елестетіңіз: сіз Астанадағы премиум фитнес-желінің иесісіз. Сізде әдемі залдар, жаңа Technogym жүгіру жолдары және ішінде лимон жүзіп жүрген су кулерлері бар. Сіз трафик құясыз, адамдар абонементтер сатып алады, бірақ үш айдан кейін... саусақ арасынан сусып түскен құмдай жоғалады. Маркетологтар «Қайтып кел, бәрін кешіреміз!» стиліндегі ретаргетингке бюджетті жағады, пуш-хабарламаларды бәріне жаппай жібереді, бірақ конверсия нөлге ұмтылады.
Таныс ауырсыну ма? Бізге де дәл осындай мәселемен клиент келді. LTV (Lifetime Value) төмендеп, тарту құны (CAC) өсіп жатты. Олар кетуді (Churn) «көзбен» болжауға тырысты: егер адам бір ай келмесе — демек, кетіп қалды. Керемет, бірақ тым кеш. Бұл сүйек қисық бітіп кеткеннен кейін сынықты жолжелкенмен емдегенмен бірдей. Бізге «хрусталь шар» қажет болды — «Ей, мына жігіт келесі аптада 85% ықтималдықпен абонементті ұзартпайды, дәл қазір бірдеңе істе!» деп айтатын жүйе.
Және біз осындай шарды жинадық. Ешқандай сиқырсыз, смс-сіз және тіркелусіз. Тек қатал инжиниринг: Google Analytics 4, BigQuery және Vertex AI. Бұл мақалада мен (код мысалдарымен және инженерлік әзілдермен) біз машиналық оқытуды юзерлердің шикі логтарына қалай бағыттағанымызды және екі ай ішінде оттокты 15%-ға қалай төмендеткенімізді айтып беремін.
Отток анатомиясы немесе қораптан шыққан GA4 мұнда неге дәрменсіз?
Стандартты GA4 есептері көк түймені қанша адам басқанын білу керек болса, өте керемет. Бірақ олар предиктивті (болжамды) аналитика үшін мүлдем пайдасыз. Болашақты болжау үшін сізге әрбір нақты user_id бойынша уақыттық қатарлар (time series) форматындағы шикі деректер қажет.
Бастапқыда бізде не болды? Клиентте жаттығуларға жазылуға арналған мобильді қосымша болды. Пайдаланушылар QR-код арқылы чекин жасады (бұл ивенттер GA4-ке ұшып отырды). Біз GA4-тен BigQuery-ге шикі оқиғалардың күнделікті экспортын баптадық. Міне, осы жерден нағыз data engineering басталды.
Біз датасетке қарап отырдық. Логтарда жүздеген фичалар (белгілер) болды, бірақ алгоритмге жай ғана json-дарды беріп, «болжа» деп айта алмайсыз. Оған джунның әзілдері сияқты тегіс датасет (Flattened Table) қажет. Осы кезде ойынға SQL қосылады.
Feature Engineering: Біз юзерлерге "досье" қалай жинадық
Адамның абонементті ұзартуына не әсер етеді? Оның кроссовкасының түсі емес, мінез-құлық паттерндері. Біз гипотезалар қалыптастырып, BigQuery-дегі SQL-сиқырдың көмегімен әрбір юзер үшін соңғы 30 күн ішіндегі мынадай белгілерді (features) жинадық:
workouts_count_30d: бір ай ішіндегі бару саны.avg_days_between_workouts: жаттығулар арасындағы орташа уақыт (егер бұрын күнара барса, ал қазір аптасына бір рет барса — бұл қызыл жалауша).cancellations_count: топтық сабақтарға болдырмаған жазбалардың саны.app_opens_7d: соңғы аптада қосымшаны қанша рет ашты (аппадағы белсенділіктің төмендеуі — бірінші симптом).weekend_warrior_flag: тек демалыс күндері барады (1) немесе жоқ (0).
-- BigQuery-де фичаларды жинауға арналған SQL-сұрау мысалы (жеңілдетілген)
WITH user_activity AS (
SELECT
user_id,
COUNTIF(event_name = 'gym_checkin') AS workouts_count_30d,
COUNTIF(event_name = 'class_cancelled') AS cancellations_count,
MAX(event_timestamp) AS last_active_ts
FROM
`project.analytics_123456789.events_*`
WHERE
_TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY))
AND FORMAT_DATE('%Y%m%d', CURRENT_DATE())
AND user_id IS NOT NULL
GROUP BY
user_id
)
SELECT * FROM user_activity;Vertex AI: AutoML-ді деректерімізге бағыттаймыз
Фичалары бар кесте дайын болғанда (және біз оған is_churned таргеттік айнымалысын қостық — тарихи деректер бойынша адам ақыры кетті ме, жоқ па), біз велосипед ойлап таппауды (яғни TensorFlow-да басынан бастап кастомды модельдер жазбауды) шештік. Бизнес үшін дата-саентисттің эгосы емес, time-to-market маңызды. Сондықтан біз Vertex AI AutoML Tabular-ды қолдандық.
AutoML — бұл ML-инженерлерге арналған ақылды мультиварка сияқты. Деректерді салдыңыз, таргет-бағанды таңдадыңыз (нені болжау керек екенін), "Train" басып, кофе ішуге кеттіңіз. Vertex AI капотының астында ондаған архитектураларды (XGBoost, нейрондық желілер, логистикалық регрессиялар) өзі таңдап, гиперпараметрлерді баптап, бізге ең жақсы модельді берді.
Ал білесіз бе, кетудің ең маңызды факторы (Feature Importance) не болып шықты? Жаттығулар саны емес! Жаттығулар арасындағы дисперсияның (шашыраңқылықтың) күрт өзгеруі. Яғни, егер адам дүйсенбі мен сәрсенбі күндері тұрақты барып, сосын кенеттен кездейсоқ күндері және сирек бара бастаса — ол «суып барады».
ML енгізгеннен кейінгі кету деңгейінің (Churn Rate) төмендеуі
Vertex AI пайдаланғанға дейінгі және одан кейінгі отток динамикасы.
Деплой және Оркестрация: Сиқырды күнделікті етеміз
Модель оқытылды, ол 0.85 деңгейіндегі дәлдікті (AUC-PR) береді — бұл тамаша нәтиже. Бірақ вакуумдегі модель ақша әкелмейді. Оны продқа (Production) енгізу керек.
Біз Batch Prediction Pipeline өрістеттік. Түн сайын Cloud Scheduler Cloud Functions-ті түртеді. Функция BigQuery-де SQL-скриптті іске қосады, ол өткен күн үшін жаңа фичаларды жинайды. Содан кейін деректер болжам жасау үшін біздің Vertex AI эндпойнтімізге жіберіледі. Шығысында біз user_id тізімі және кету ықтималдығы (0.0-ден 1.0-ге дейін) бар кестені аламыз.
# Python-дағы пайплайн псевдокоды (Cloud Functions)
from google.cloud import aiplatform, bigquery
def trigger_churn_prediction(event, context):
# 1. BQ-да жаңа фичаларды жинауды іске қосамыз
bq_client = bigquery.Client()
bq_client.query("CALL `project.dataset.update_user_features`()").result()
# 2. Batch Prediction үшін Vertex AI-ді түртеміз
aiplatform.init(project='my-project', location='europe-west4')
model = aiplatform.Model('projects/my-project/locations/europe-west4/models/123456')
batch_job = model.batch_predict(
job_display_name='daily_churn_prediction',
bigquery_source='bq://my-project.dataset.latest_features',
bigquery_destination_prefix='bq://my-project.dataset',
sync=False
)
print("Пайплайн іске қосылды, ұйықтауға кеттік.")Инсайттардан экшенге: Біз маркетингті қалай жұмыс істеттік
Енді ең тәттісі. Таңертең клиенттің маркетингтік платформасы (CRM) BigQuery-ден кету ықтималдығы 0.7-ден (70%) асатын пайдаланушылар тізімін автоматты түрде алып отырды. Және осы жерде спам емес, дербестендірілген сиқыр басталды.
- 70-85% ықтималдықпен «жоғалғандар»: Оларға тегін массаж немесе дербес жаттығу ұсынылған Push ұшып баратын (залға бару әдетін қайтару үшін).
- Критикалық (85-99%): Мұндай клиенттерге тірі менеджер (Premium қолдау) қоңырау шалып: «Сізге бәрі ұнай ма? Бәлкім, демалыс уақытында картаны мұздатып қоярмыз?» деп сұрайтын. Ешқандай тікелей жеңілдіктерсіз, тек қамқорлық.
- Нақты қалатындар (ықтималдық < 20%): Оларға мүлдем жеңілдіктермен тиіспеді! Лояльды клиентке жеңілдік берудің не қажеті бар? Оларға мерч немесе досына арналған абонемент сатып алу ұсынылды (Upsell/Cross-sell).
Кету ықтималдығы сегменттері бойынша ұстап қалу (Retention)
Мақсатты кампаниялардан кейінгі әртүрлі тәуекел топтары үшін абонементті ұзарту конверсиясы.
Инсайттар мен Инженерлік Кеңестер (Tips & Tricks)
- Garbage In, Garbage Out (GIGO): Егер сізде GA4 қисық бапталған болса (оқиғалар қайталанса, апканы қайта іске қосқанда
user_idжоғалса), ешқандай AI сізді құтқармайды. Алдымен трекингті жөндеңіз, содан кейін ML енгізіңіз. - Болашақтан деректердің ағып кетуі (Data Leakage): ML-джундардың ең жиі жіберетін қатесі. Модельді оқыту кезінде "болашақтан" алынған фичаларды (мысалы, юзер "жазылуды тоқтату" түймесін басқаны туралы жалаушаны) пайдаланбайтыныңызға көз жеткізіңіз. Әйтпесе, модель 99% дәлдікті көрсетеді, ал продта ештеңе таба алмайды.
- Инференс құны: Егер қажет болмаса, нақты уақыт режимінде болжамдар жасамаңыз (Online Prediction). Біздің жағдайымызда болжамдарды тәулігіне бір рет (Batch Prediction) түнде жаңарту жеткілікті болды. Бұл өте арзанға түседі.
Қорытынды: Сиқырсыз пайда
Екі ай ішінде біздің «хрусталь шарымызды» пайдалану арқылы фитнес-желі Churn Rate (кету көрсеткіші) 15%-ға төмендетті. Бірақ ең бастысы — олар промокодтарды бәріне жаппай тарата беруді тоқтатып, көп ақша үнемдеді. «Кетіп бара жатқаннан» «қалғанға» конверсия үш есе өсті.
Бұл кейс мынаны дәлелдейді: бүгінгі таңда машиналық оқыту — NASA сияқты бюджеті бар алпауыт корпорациялардың ғана үлесі емес. GA4 + BigQuery + Vertex AI байламының арқасында предиктивті аналитика қарапайым локальді бизнеске де қолжетімді болды. Бастысы — деректерді дұрыс дайындау және SQL-де қолды сәл былғаудан қорықпау.

Рустам Шарафутдинов
Google Cloud архитектурасы саласындағы сарапшы және 15 жылдан астам тәжірибесі бар Senior Full-Stack әзірлеушісі. Ақауға төзімді архитектураларға, жоғары жүктемелі жобаларды оңтайландыруға және AI (Vertex AI) интеграциясына маманданған.