Как посчитать escalation rate в SQL
Содержание:
Зачем escalation rate
Высокий escalation rate означает, что агенты Tier-1 не справляются — их плохо обучили или им достаются слишком сложные тикеты. Низкий escalation rate — это либо всё хорошо, либо сломанный процесс эскалации. Идеальный ориентир: 10–20% тикетов уходит с Tier-1 на Tier-2. Больше 30% — повод разбираться, меньше 5% — возможная скрытая проблема с качеством.
Формула
escalation_rate = escalated_tickets / total_tier_1_ticketsTier-1 — первая линия поддержки. Escalated — тикет, переданный на Tier-2, в инженерную команду или профильному специалисту.
Escalation в SQL
WITH t1_tickets AS (
SELECT ticket_id, opened_at, opened_tier
FROM support_tickets
WHERE opened_tier = 'tier_1'
AND opened_at >= CURRENT_DATE - INTERVAL '30 days'
),
escalated AS (
SELECT DISTINCT ticket_id
FROM ticket_events
WHERE event_type = 'tier_change'
AND new_tier IN ('tier_2', 'tier_3', 'engineering')
)
SELECT
(SELECT COUNT(*) FROM t1_tickets) AS total_t1,
(SELECT COUNT(*) FROM escalated WHERE ticket_id IN (SELECT ticket_id FROM t1_tickets)) AS escalated,
(SELECT COUNT(*) FROM escalated WHERE ticket_id IN (SELECT ticket_id FROM t1_tickets))::NUMERIC * 100
/ NULLIF((SELECT COUNT(*) FROM t1_tickets), 0) AS escalation_rate_pct;По tier и категории
SELECT
issue_category,
COUNT(*) AS t1_total,
COUNT(*) FILTER (WHERE escalated) AS escalated,
COUNT(*) FILTER (WHERE escalated)::NUMERIC * 100 / COUNT(*) AS escalation_pct
FROM tier_1_with_escalation_flag
WHERE opened_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY issue_category
HAVING COUNT(*) >= 30
ORDER BY escalation_pct DESC;Категория «billing dispute» (спор по оплате) обычно эскалируется часто — тут нужен бухгалтер. «Password reset» (сброс пароля) — редко, Tier-1 решает сам.
Причины эскалации
SELECT
escalation_reason,
COUNT(*) AS occurrences,
AVG(EXTRACT(EPOCH FROM (escalated_at - opened_at)) / 3600) AS avg_hours_before_escalation
FROM escalation_events
WHERE escalated_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY escalation_reason
ORDER BY occurrences DESC;Частые причины:
- «requires admin access» → выдать Tier-1 админ-доступ
- «product bug» → подключить инженеров
- «refund > limit» → согласование с финансами
- «complex enterprise contract» → подключить аккаунт-менеджера
Частые ошибки
Ошибка 1. Считать эскалацию провалом. Иногда эскалация — это правильное действие: сложный тикет действительно нужен специалисту. Не каждая эскалация плоха.
Ошибка 2. Одна планка для всех категорий. У категории про оплату escalation rate закономерно выше, у сброса пароля — почти 0%. Не сравнивайте категории по абсолютному значению.
Ошибка 3. Сравнивать эскалацию с Tier-1 и с Tier-2. Эскалация с Tier-2 в инженерную команду — это уже другая метрика. Разделяйте их.
Ошибка 4. Считать реопены эскалациями. Reopen — это когда клиент вернулся с той же проблемой. Эскалация — внутренняя передача тикета на другой tier. Это разные события.
Ошибка 5. Игнорировать selection bias. Самые сложные тикеты отдают лучшим агентам, из-за чего их escalation rate выглядит ниже. Стратифицируйте по категории.
Связанные темы
- Как посчитать agent productivity в SQL
- Как посчитать CSAT в SQL
- Как посчитать first response time в SQL
- Как посчитать avg handle time в SQL
FAQ
Какой escalation rate норма?
Для перехода с Tier-1 на Tier-2 нормой считается 10–20%, для перехода с Tier-2 в инженерную команду — 2–5%. Конкретные цифры зависят от продукта и сложности обращений.
Искажает ли self-service показатель escalation rate?
Да, искажает. Если самообслуживание работает хорошо, простые обращения вообще не доходят до Tier-1 — в поддержку попадают только сложные тикеты, и escalation rate из-за этого выглядит выше.
Можно ли снизить эскалацию через обучение?
Да. Помогают проработанные плейбуки, база знаний и деревья решений, по которым агент Tier-1 доводит типовой тикет до конца сам.
Влияет ли эскалация на CSAT?
Да, влияет в обе стороны. Передача тикета через несколько линий (multi-tier handoff) путает и раздражает клиента. Но иногда эскалация, наоборот, приводит к лучшему решению и поднимает CSAT.
Как связаны AHT и escalation rate?
Часто отрицательная: длинный AHT ведёт к большему разбирательству и большему escalation rate.