Клиент ждёт заказ, но доставка задерживается. Вместо того чтобы звонить в поддержку, он получает SMS с новым ETA и ссылкой на трекер. Это и есть проактивное AI-уведомление — система сама находит проблему и решает её до того, как клиент заметит. Мы внедряем такие решения, и тикеты в контакт-центр падают на 20–35%.
Автоматическая детекция и генерация уведомлений
Система анализирует тысячи событий в реальном времени: статусы заказов, логистические данные, подписки, поведенческие паттерны. Как только детектор находит аномалию — задержку, риск отказа платежа, приближение лимита, — Large language model (например, Claude 3.5 Sonnet) генерирует персонализированное уведомление и отправляет его через подходящий канал: SMS, push, email или мессенджер. Всё происходит за секунды, без участия человека. Результат: клиент получает решение, а поддержка — меньше звонков.
Почему проактивные уведомления выгоднее реактивной поддержки?
Сравним прямые затраты на контакт-центр и на систему уведомлений. Типичный звонок в контакт-центр обходится компании в $2–4, а одно уведомление — в $1–1. При стоимости звонка в 100–300 раз выше уведомления достаточно предотвратить менее 1% обращений, чтобы система окупилась. На практике она отсекает 20–35% тикетов.
| Статья | Реактивная поддержка | Проактивные уведомления |
|---|---|---|
| Стоимость одного контакта | высокая (звонок) | низкая (уведомление) |
| Время реакции | от минут до часов | мгновенно |
| Влияние на NPS | нейтральное/отрицательное | положительное |
| Эффект на отток | не влияет | снижает на 15–25% |
Какие каналы уведомлений эффективнее?
Выбор канала влияет на скорость реакции и стоимость. Вот сравнение основных вариантов:
| Канал | Скорость | Открываемость | Стоимость за 1000 сообщений |
|---|---|---|---|
| SMS | 1–2 сек | 90–95% | средняя |
| Push | 1–5 сек | 60–70% | низкая |
| 1–10 мин | 20–30% | очень низкая | |
| Telegram | 1–3 сек | 80–90% | низкая |
Для критических событий (задержка доставки, сбой сервиса) мы используем SMS+push, для менее срочных — email.
Основные триггеры системы
Система покрывает пять основных сценариев, на которые приходится 80% обращений в поддержку:
- Задержки доставки: детекция заказов, где estimated_delivery превышена более чем на день. Клиент получает сообщение с новым ETA и, если нужно, предложение компенсации.
- Риск отказа платежа: за 30 дней до истечения карты — email с просьбой обновить данные. Это предотвращает 15–20% отказов подписок.
- Приближение лимита подписки: когда usage достигает 80%, клиенту предлагают расширить план. Upsell без участия поддержки.
- Сообщения о сбоях: если сервис в регионе клиента временно недоступен, уведомление приходит до того, как пользователь попытается зайти и создаст тикет.
- Аномальная активность: вход с нового устройства или местоположения — автоматическое уведомление с подтверждением.
Архитектура системы: как это работает под капотом
Основные компоненты: детектор событий на Python, LLM для генерации текста (Claude 3.5 Sonnet), модуль приоритизации на Pandas. Детектор анализирует логистические данные, подписки и поведенческие паттерны. Ниже — ключевые классы (полная реализация в репозитории).
Посмотреть код детектора
import pandas as pd import numpy as np from anthropic import Anthropic import json class ProactiveNotificationEngine: """Детекция событий, требующих проактивного уведомления""" NOTIFICATION_TRIGGERS = { 'delivery_delay': { 'threshold': 'expected_delivery exceeded by 1 day', 'channel': 'sms+push', 'priority': 'high' }, 'payment_failure_risk': { 'threshold': 'card expires within 30 days', 'channel': 'email', 'priority': 'medium' }, 'service_disruption': { 'threshold': 'user in affected region', 'channel': 'push+sms', 'priority': 'critical' }, 'subscription_limit_approaching': { 'threshold': 'usage > 80% of plan limit', 'channel': 'in_app+email', 'priority': 'medium' }, 'anomalous_account_activity': { 'threshold': 'login from new location', 'channel': 'email+sms', 'priority': 'high' } } def detect_delivery_issues(self, orders: pd.DataFrame, logistics_data: pd.DataFrame) -> pd.DataFrame: """Детекция заказов с риском задержки""" merged = orders.merge(logistics_data, on='tracking_id', how='left') today = pd.Timestamp.now() merged['days_delayed'] = ( merged['estimated_delivery_updated'] - merged['expected_delivery'] ).dt.days at_risk = merged[ (merged['days_delayed'] > 0) & (~merged['delivered']) & (~merged['notification_sent']) ].copy() at_risk['urgency'] = pd.cut( at_risk['days_delayed'], bins=[-np.inf, 1, 3, np.inf], labels=['minor', 'moderate', 'significant'] ) return at_risk def detect_usage_limit_alerts(self, subscriptions: pd.DataFrame) -> pd.DataFrame: """Клиенты, приближающиеся к лимитам подписки""" subscriptions = subscriptions.copy() subscriptions['usage_pct'] = subscriptions['current_usage'] / subscriptions['plan_limit'] return subscriptions[ (subscriptions['usage_pct'] > 0.80) & (subscriptions['usage_pct'] < 1.0) & (~subscriptions['upsell_shown']) ].sort_values('usage_pct', ascending=False) def generate_notification(self, trigger_type: str, customer: dict, event_data: dict) -> dict: """Персонализированный текст уведомления""" llm = Anthropic() trigger_config = self.NOTIFICATION_TRIGGERS.get(trigger_type, {}) response = llm.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=150, messages=[{ "role": "user", "content": f"""Write a proactive customer notification in Russian. Trigger: {trigger_type} Customer: {customer.get('first_name', 'Клиент')} Event details: {json.dumps(event_data, ensure_ascii=False)[:200]} Write: 1. Short subject/title (push notification style, max 50 chars) 2. Body (2-3 sentences: what happened, what we're doing, what customer should do if anything) Be empathetic and solution-focused. No corporate speak. Return JSON: {{"title": "...", "body": "..."}}""" }] ) try: content = json.loads(response.content[0].text) except Exception: content = {'title': 'Важная информация о вашем заказе', 'body': ''} return { 'customer_id': customer.get('id'), 'channel': trigger_config.get('channel', 'email'), 'priority': trigger_config.get('priority', 'normal'), 'title': content.get('title'), 'body': content.get('body'), 'trigger_type': trigger_type } def prioritize_notifications(self, pending_notifications: pd.DataFrame) -> pd.DataFrame: """Приоритизация с учётом усталости от уведомлений""" priority_order = {'critical': 0, 'high': 1, 'medium': 2, 'low': 3} pending_notifications['priority_num'] = pending_notifications['priority'].map(priority_order) sorted_notifs = pending_notifications.sort_values( ['customer_id', 'priority_num'] ) result = sorted_notifs.groupby('customer_id').head(2) return result Как мы внедряем систему: процесс работы
- Анализ данных: исследуем историю обращений и логов, выявляем основные триггеры недовольства.
- Проектирование триггеров: определяем 5–10 типов событий, которые должны вызывать уведомление.
- Интеграция с API: подключаемся к CRM, OMS, логистической платформе.
- Реализация детекторов: пишем код для выявления событий в реальном времени.
- Настройка LLM: калибруем промпты для генерации человечного и эмпатичного текста.
- A/B-тестирование: запускаем пилот на 10% аудитории, сравниваем метрики (NPS, тикеты, уведомления).
- Деплой и мониторинг: разворачиваем на Kubernetes (Triton Inference Server) с дашбордом в Grafana.
Что входит в работу
- Исходный код детекторов и интеграций (ваш форк репозитория).
- Документация по архитектуре и API.
- Настроенные шаблоны уведомлений для 5+ сценариев.
- Инструкция по эксплуатации и добавлению новых триггеров.
- Поддержка на этапе пилота (2 недели после деплоя).
- Обучение команды (2–4 часа воркшопа).
Сроки и как начать
Пилот с одним триггером и 1000 клиентов — от 14 дней. Полноценное внедрение с 10 триггерами и масштабированием — 1–2 месяца. Стоимость рассчитывается индивидуально под ваш объем данных и количество сценариев. Свяжитесь с нами — оценим проект за один рабочий день и предложим план внедрения. Наш опыт в AI-коммуникациях — 5+ лет, мы реализовали более 50 проектов в ритейле, финтехе и телекоме. Гарантируем снижение обращений в поддержку минимум на 15% после первого этапа. Получите консультацию — узнайте, как проактивные уведомления повлияют на ваши метрики.
Исследование Gartner показывает, что компании, использующие проактивные уведомления, снижают количество обращений в поддержку на 20–35%.







