Разработка AI-системы для маркетинга
Маркетинговые данные — одни из самых богатых для ML: клики, покупки, просмотры, отказы, атрибуция. AI-маркетинговая система переходит от «рассылки всем одинакового» к гиперперсонализации на уровне каждого пользователя.
Персонализация и рекомендации
Customer Data Platform (CDP) + ML:
CDP объединяет данные о клиенте из всех каналов (CRM, сайт, приложение, email, call center). ML-обогащение:
- RFM-сегментация: Recency / Frequency / Monetary → 10–15 сегментов
- CLV prediction: предсказание пожизненной ценности клиента → инвестировать ли в удержание
- Churn prediction: кто уйдёт в ближайшие 30–90 дней → retention campaign
from lightgbm import LGBMClassifier
import pandas as pd
import numpy as np
class ChurnPredictor:
def __init__(self):
self.model = LGBMClassifier(
n_estimators=500,
learning_rate=0.03,
num_leaves=64,
class_weight='balanced' # дисбаланс классов
)
def build_features(self, customer_df, transactions_df, events_df):
features = {}
for cust_id in customer_df['customer_id']:
txns = transactions_df[transactions_df['customer_id'] == cust_id]
evts = events_df[events_df['customer_id'] == cust_id]
last_purchase = (pd.Timestamp.now() - txns['date'].max()).days if len(txns) > 0 else 999
features[cust_id] = {
'days_since_last_purchase': last_purchase,
'purchase_count_90d': len(txns[txns['date'] > pd.Timestamp.now() - pd.Timedelta(days=90)]),
'avg_order_value': txns['amount'].mean() if len(txns) > 0 else 0,
'email_open_rate_30d': evts[evts['type']=='email_open']['date'].nunique() /
max(evts[evts['type']=='email_sent']['date'].nunique(), 1),
'app_sessions_30d': len(evts[(evts['type']=='app_session') &
(evts['date'] > pd.Timestamp.now() - pd.Timedelta(days=30))]),
'support_tickets_90d': len(evts[(evts['type']=='support_ticket') &
(evts['date'] > pd.Timestamp.now() - pd.Timedelta(days=90))]),
}
return pd.DataFrame(features).T
Динамическое ценообразование и офферы
Next Best Offer (NBO):
Какое предложение с наибольшей вероятностью конвертирует конкретного клиента прямо сейчас?
- Collaborative filtering: клиенты, похожие на X, покупали Y
- Contextual bandits (LinUCB): онлайн-обучение — балансировка exploration/exploitation
- Uplift modeling: какое воздействие максимально УВЕЛИЧИВАЕТ конверсию (а не просто предсказывает тех, кто купит сам)
Uplift Modeling (Causal ML):
from causalml.inference.tree import UpliftRandomForestClassifier
import numpy as np
# treatment: 1 = получил offer, 0 = контроль
# y: 1 = купил
uplift_model = UpliftRandomForestClassifier(
n_estimators=200,
evaluationFunction='KL',
control_name='control'
)
uplift_model.fit(X_train, treatment=treatment_train, y=y_train)
uplift_scores = uplift_model.predict(X_test)
# Таргетировать только тех, у кого uplift > порога
# (Убрать "sleeping dogs" — тех, кто покупает и без воздействия,
# но может обидеться на агрессивный маркетинг)
target_mask = uplift_scores > 0.1
Многоканальная атрибуция
Проблема last-click атрибуции:
Клиент видел баннер → кликнул на поисковое объявление → купил после email → last-click весь бюджет отдаст email. Несправедливо.
Data-Driven Attribution (DDA):
- Markov Chain Attribution: вероятность конверсии при удалении каждого канала
- Shapley Values (коoperативная теория игр): справедливое распределение заслуги конверсии между каналами
- Результат: перераспределение бюджета от «очевидных» каналов к каналам, реально формирующим спрос
Генерация контента
AI-копирайтинг:
- LLM (GPT-4o, Claude) генерирует варианты заголовков, текстов объявлений
- Персонализированные email: обращение по имени + релевантный контент по RFM-сегменту
- A/B-тестирование генерированных вариантов → автоматическое масштабирование winner
Динамические креативы:
Programmatic advertising + ML:
- Выбор баннера (изображение + текст) под конкретного пользователя в реальном времени
- Lookalike аудитории: пользователи, похожие на конвертированных клиентов
- Bid optimization: ML управляет ставками в RTB аукционах (максимизация ROI при target CPA)
Аналитика и ROI
Marketing Mix Modeling (MMM):
Байесовская регрессия на агрегированных данных (без cookies):
- Влияние каждого канала на продажи с учётом adstock (постепенное убывание эффекта рекламы)
- Saturation curves: при каких бюджетах каналы уже не дают прироста
- Budget optimizer: оптимальное распределение маркетингового бюджета для целевого объёма продаж
Срок разработки: 4–8 месяцев для комплексной AI-маркетинговой платформы с CDP, NBO, attribution и MMM.







