Как посчитать escalation rate в SQL
Содержание:
Зачем escalation rate
Высокий escalation rate = Tier-1 агенты не справляются (плохой training или сложные тикеты). Низкий = всё хорошо или escalation процесс broken. Идеально: 10-20% Tier-1 → Tier-2. > 30% — investigate; < 5% — может быть hidden quality issue.
Формула
escalation_rate = escalated_tickets / total_tier_1_ticketsTier-1 = first-line support. Escalated = передан в Tier-2 / engineering / specialist.
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» обычно high (требует accountant). «Password reset» — low (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;Top reasons:
- «requires admin access» → grant tier-1 admin
- «product bug» → engineering involve
- «refund > limit» → finance approval
- «complex enterprise contract» → AM involve
Частые ошибки
Ошибка 1. Считать escalation как failure. Иногда escalation — правильный action (complex issue нужен specialist). Не все escalations плохи.
Ошибка 2. Все категории одна планка. Billing категория требует higher escalation rate. Password reset — почти 0%. Не сравнивайте по absolute.
Ошибка 3. Сравнивать tier 1 vs tier 2 escalation. Tier-2 escalation в engineering — другая метрика. Сегментируйте.
Ошибка 4. Reopens как escalations. Reopen — customer вернулся. Escalation — internal tier-change. Разные.
Ошибка 5. Игнорировать selection bias. Самые сложные тикеты идут к best agents → их «escalation rate ниже». Stratify by category.
Связанные темы
- Как посчитать agent productivity в SQL
- Как посчитать CSAT в SQL
- Как посчитать first response time в SQL
- Как посчитать avg handle time в SQL
FAQ
Какой escalation rate норма?
Tier-1 → Tier-2: 10-20%. Tier-2 → Engineering: 2-5%. Зависит от продукта.
Скрывает ли escalation rate self-service?
Yes — если self-service работает, low-difficulty не попадает в Tier-1, escalation rate looks higher.
Снижать escalation через обучение?
Yes — playbook, knowledge base, decision tree.
Escalation влияет на CSAT?
Yes — multi-tier handoff бывает confusing customer. Но иногда escalation = better resolution.
AHT и escalation correlation?
Часто negatively: long AHT → больше investigation → больше escalation rate.