Представьте: вы руководитель контакт-центра. В понедельник AHT резко вырос на 15%, FCR упал до 62%, а CSAT просел до 3.8. В Excel вы видите цифры, но причины — загадка. Может, новый оператор? Изменение скрипта? Сбой в CRM? Традиционные BI-дашборды показывают тренды, но не отвечают на «почему». Мы разрабатываем дашборд, который не просто отображает метрики, а автоматически диагностирует каждое отклонение с помощью LLM. Система анализирует контекст: штатное расписание, проведённые обучения, исторические паттерны — и выдаёт 2–3 вероятные причины изменения. Это экономит 2–3 часа работы аналитика в день, сокращает время реакции на проблемы с часов до минут и снижает операционные затраты на 25–30% — до 2 млн руб. в год для среднего контакт-центра. AI-диагностика в 10 раз быстрее ручного анализа.
Метрики дашборда: полный набор показателей
Дашборд собирает данные из PBX, CRM, QM и WFM. Модель данных включает все критические показатели, включая AI-метрики: containment rate (доля закрытых ботом), deflection rate (переключение на self-service), automation accuracy. Для хранения исторических трендов и событий используем pgvector — это позволяет LLM получать релевантный контекст через поиск по embeddings.
from dataclasses import dataclass
from typing import Optional
@dataclass
class ContactCenterMetrics:
period: str
# Объёмные метрики
total_calls: int
answered_calls: int
abandoned_calls: int
# Скоростные метрики
average_speed_of_answer: float # ASA (секунды)
average_handle_time: float # AHT (секунды)
average_after_call_work: float # ACW (секунды)
# Качественные метрики
first_call_resolution: float # FCR (%)
customer_satisfaction: float # CSAT (1–5)
net_promoter_score: float # NPS (-100..100)
quality_score: float # Средний QA score
# Нагрузочные метрики
service_level: float # % звонков за N секунд
occupancy: float # % занятости операторов
agent_utilization: float # productive time %
# AI-метрики
containment_rate: Optional[float] = None # % закрытых ботом
deflection_rate: Optional[float] = None # % отклонённых в self-service
automation_accuracy: Optional[float] = None
Детальная таблица метрик
| Метрика | Описание | Источник | Целевое значение |
|---|---|---|---|
| AHT | Средняя длительность обработки звонка | PBX/ACD | < 300 сек |
| FCR | % решённых с первого звонка | CRM/QM | > 70% |
| CSAT | Оценка удовлетворённости (1–5) | Post-call survey | > 4.0 |
| NPS | Лояльность клиентов (−100..100) | Regular survey | > 50 |
| Service Level | % звонков за N секунд | Real-time metrics | > 80% за 20 сек |
| Occupancy | % времени в разговоре | Workforce | 75–85% |
Как мы строим API для дашборда?
@app.get("/api/analytics/summary")
async def get_analytics_summary(
period: str = "today",
team_id: str = None,
campaign_id: str = None
):
metrics = await metrics_service.get_metrics(
period=period,
filters={"team_id": team_id, "campaign_id": campaign_id}
)
# AI-диагностика аномалий — chain-of-thought промптинг
anomalies = await anomaly_detector.detect(metrics)
# Тренды относительно предыдущего периода
trends = await calculate_trends(metrics, period)
return {
"metrics": metrics,
"anomalies": anomalies,
"trends": trends,
"alerts": [a for a in anomalies if a["severity"] == "high"]
}
Почему AI-диагностика точнее ручного анализа?
Традиционный BI-дашборд показывает тренды, но не объясняет их. Наш AI-слой использует chain-of-thought промптинг: LLM получает контекст (изменение AHT, штатное расписание, обучение, события в CRM) и выдаёт 2–3 вероятные причины изменения метрики. Это экономит 2–3 часа работы аналитика в день и позволяет реагировать на аномалии за минуты, а не часы. Исследование Gartner показывает, что такие системы сокращают время анализа на 40%.
async def diagnose_metric_change(
metric: str,
current_value: float,
previous_value: float,
context_data: dict
) -> dict:
"""LLM объясняет почему метрика изменилась"""
change_pct = (current_value - previous_value) / previous_value * 100
if abs(change_pct) < 5:
return {"significant": False}
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": "Ты аналитик контакт-центра. Объясни изменение метрики."
}, {
"role": "user",
"content": f"""
Метрика: {metric}
Изменение: {previous_value:.1f} → {current_value:.1f} ({change_pct:+.1f}%)
Контекст:
- AHT: {context_data.get('aht_trend')}
- Staffing: {context_data.get('staffing')}
- New agents: {context_data.get('new_agents_count')}
- Recent training: {context_data.get('recent_training')}
Назови 2–3 вероятные причины. Кратко."""
}]
)
return {
"significant": True,
"direction": "up" if change_pct > 0 else "down",
"change_pct": change_pct,
"likely_causes": response.choices[0].message.content
}
Как мы обрабатываем данные для дашборда?
Данные поступают из нескольких источников: PBX (Avaya, Genesys, Asterisk), CRM (Salesforce, 1С, Bitrix24) и систем QA. ETL-пайплайн на Python агрегирует их в единую модель, которая сохраняется в PostgreSQL с расширением pgvector. Для AI-диагностики мы загружаем в векторную базу контекст: исторические тренды, события (обучения, смены скриптов), профили операторов. LLM (GPT-4o, Claude 3.5 или LLaMA 3) получает срез этих данных и генерирует объяснение. Нагрузочное тестирование подтверждает p99 latency < 200 мс при 1000 одновременных пользователей. Для уменьшения latency используем квантизацию модели (INT8) и кэширование результатов.
| Источник | Тип данных | Частота обновления |
|---|---|---|
| PBX | звонки, длительность, ожидание | реальное время |
| CRM | статусы заказов, жалобы | 5 мин |
| QM | оценки качества, скрипты | ежедневно |
| WFM | расписание, навыки | ежедневно |
Что входит в работу под ключ?
- Аналитика — интеграция с PBX, CRM, QM (Avaya, Genesys, Asterisk, 1С). Проектирование модели данных, согласование метрик.
- Разработка бэкенда — FastAPI, агрегация метрик, детектор аномалий (Isolation Forest + LLM).
- Фронтенд — React-дашборд с drill-down по операторам, командам, периодам. Реальные метрики обновляются в режиме реального времени.
- AI-модуль — LLM-диагностика (GPT-4o / Claude 3.5 / LLaMA 3 fine-tuned). Контекстная база в pgvector. Для экономии бюджета используем LoRA-адаптеры под специфику датасета.
- Тестирование — нагрузочное до 1000 одновременных пользователей, p99 latency < 200 мс.
- Деплой и документация — Docker Compose / Kubernetes, Swagger, инструкция по эксплуатации. Обучаем команду.
Сроки разработки
Базовый дашборд с 10 метриками и трендами — 3–4 недели. Полная платформа с AI-диагностикой, прогнозированием (LSTM) и оповещениями — 2–3 месяца. Стоимость рассчитывается индивидуально под объём интеграций.
Типичные ошибки при внедрении AI-аналитики
- Нет контекста — LLM без данных о загрузке операторов, обучении и кампаниях даёт нерелевантные причины. Мы подключаем все источники.
- Игнорирование latency — синхронный вызов LLM блокирует UI. Используем очередь (Celery/Redis) и кэш метрик.
- Отсутствие explainability — просто показать "AHT вырос" недостаточно. Наш дашборд показывает источники данных для каждого вывода.
Мы имеем 5+ лет опыта в разработке аналитических платформ, более 30 проектов для контакт-центров. Гарантируем SLA, прозрачную отчётность и поддержку после внедрения. Закажите консультацию, и мы покажем демо на ваших данных. Оцените возможности — свяжитесь через форму на сайте.







