Как посчитать CSAT в SQL
payments нужно выбрать платежи из России (country = 'RU') со статусом либо 'failed', либо 'chargeback'. Какой WHERE корректный?Содержание:
Что такое CSAT и что он показывает
CSAT (Customer Satisfaction Score) — метрика удовлетворённости конкретным взаимодействием. Пользователю после события (обращение в поддержку, доставка, покупка) задают вопрос вроде «Насколько вы довольны?» по шкале, и CSAT считает долю тех, кто поставил высокую оценку.
Главное отличие CSAT от других метрик лояльности — он транзакционный, то есть привязан к моменту. Он отвечает на вопрос «хорошо ли прошло вот это конкретное взаимодействие», а не «как вы относитесь к продукту в целом». Поэтому CSAT удобно вешать на отдельные точки контакта — поддержку, онбординг, доставку — и быстро ловить, где именно проседает качество.
За скорость приходится платить смещением: отвечают на опрос чаще всего те, у кого сильные эмоции — либо очень довольные, либо очень злые, а «спокойное большинство» молчит. Из-за этого средний CSAT почти всегда завышен, и его читают вместе с долей ответивших (response rate).
Формула
CSAT = положительные ответы / всего ответов × 100%Положительными обычно считают оценки 4–5 на пятибалльной шкале или 7+ на десятибалльной. Шкалу и границу «положительного» фиксируют один раз: если менять их, история метрики перестаёт быть сопоставимой.
CSAT, NPS и CES: в чём разница
Три метрики удовлетворённости часто путают, хотя они отвечают на разные вопросы.
| Метрика | Шкала | Что мерит | Когда спрашивают |
|---|---|---|---|
| CSAT | 1–5 или 1–10 | Довольство конкретным событием | Сразу после взаимодействия |
| NPS | 0–10 | Долгосрочную лояльность к бренду | Периодически |
| CES | 1–7 | Усилие клиента на решение задачи | После обращения в поддержку |
CSAT ловит качество в моменте, NPS — общее отношение к продукту, CES — насколько тяжело было решить проблему. Подробное сравнение — в статье CSAT vs NPS vs CES.
Как посчитать CSAT в SQL
Базовый расчёт за период. Данные — таблица csat_surveys(rating, submitted_at, agent_id):
SELECT
COUNT(*) AS responses,
COUNT(*) FILTER (WHERE rating >= 4) AS positive,
COUNT(*) FILTER (WHERE rating >= 4)::NUMERIC * 100
/ NULLIF(COUNT(*), 0) AS csat_pct,
AVG(rating) AS avg_rating
FROM csat_surveys
WHERE submitted_at >= CURRENT_DATE - INTERVAL '30 days';responses и avg_rating выводим рядом с процентом намеренно: CSAT на малой выборке шумит, а средний балл помогает заметить перекос распределения.
Разрез по агентам поддержки — где качество проседает. Порог по числу ответов отсекает шумные сегменты:
SELECT
agent_id,
COUNT(*) AS responses,
AVG(rating) AS avg_rating,
COUNT(*) FILTER (WHERE rating >= 4)::NUMERIC * 100
/ NULLIF(COUNT(*), 0) AS csat_pct
FROM csat_surveys
WHERE submitted_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY agent_id
HAVING COUNT(*) >= 20
ORDER BY csat_pct DESC;Примеры с собеседований
CSAT на собесе проверяют на понимании его смещений и отличий от NPS.
«Чем CSAT отличается от NPS?» Сильный ответ: CSAT — транзакционная метрика довольства конкретным событием сразу после него, NPS — про долгосрочную лояльность к продукту в целом. CSAT ловит проблемы в моменте, NPS — общее отношение; их используют вместе, а не вместо друг друга.
«Средний CSAT 85% — можно ли ему верить?» Слабый ответ — «да, это хорошо». Сильный: сначала проверить долю ответивших и смещение выборки. Если отвечают 5% и в основном довольные, 85% завышены. CSAT без доли ответивших и без разреза по типам обращений вводит в заблуждение.
«CSAT упал — как будешь разбираться?» Сильный ответ: анализ основных причин — сравнить, на что жалуются в низких оценках (1–2) против высоких (4–5), разрез по каналам, агентам и типам обращений, привязка к изменениям в продукте или процессах. Прогнать такие вопросы можно в Карьернике.
Частые ошибки
Игнорировать смещение выборки. На опрос чаще отвечают очень довольные и очень злые, а спокойное большинство молчит — из-за этого средний CSAT завышен. Метрику всегда читают с поправкой на то, кто именно ответил.
Не следить за долей ответивших. При отклике в 5% выборка мала и, скорее всего, смещена. Долю ответивших отслеживают наравне с самим CSAT, иначе цифра не значит ничего.
Путать CSAT с реальной удовлетворённостью. CSAT — это то, что пользователь сказал в опросе, а не его настоящее отношение. Расхождение особенно велико там, где опрос показывают в неудобный момент.
Сравнивать с чужими индустриями. Бенчмарки CSAT сильно разнятся: 70% в SaaS может быть нормой, а в рознице — низким результатом. Сравнивать имеет смысл со своей динамикой и внутри категории.
Игнорировать контекст обращения. Высокий CSAT после отказа в возврате может значить, что агент отлично отработал сложную ситуацию. Оценку читают вместе с типом обращения, а не в вакууме.
Связанные темы
- Как посчитать NPS в SQL
- Как посчитать customer effort score в SQL
- CSAT vs NPS vs CES
- Как считать retention
- Что такое NPS простыми словами
FAQ
Какой CSAT считается хорошим?
Ориентировочно 70–80% — норма, 90%+ — отлично, ниже 60% — тревожно. Но бенчмарки сильно зависят от индустрии и точки контакта, поэтому сравнивать надёжнее со своей динамикой, а не с чужими цифрами.
Когда показывать опрос CSAT?
Сразу после события — транзакционно. Отложенный опрос теряет привязку к конкретному взаимодействию и смешивает впечатление о нём с общим отношением к продукту, превращаясь скорее в NPS.
Пятибалльная или десятибалльная шкала?
Пятибалльная проще и даёт выше долю ответивших, десятибалльная — более детальная. Выбор зависит от аудитории, но менять шкалу по ходу нельзя: это рвёт сопоставимость истории.
Что делать, если CSAT падает?
Разобрать топ-причины: сравнить, на что жалуются в низких оценках против высоких, разрезать по каналам и типам обращений, привязать к изменениям в продукте. И сочетать CSAT с операционными метриками — временем первого ответа и временем решения, — чтобы отделить восприятие от реальной скорости.