Как посчитать CSAT в SQL

Проверь себя · 1/3разбор после ответа
В таблице 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 в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать csat в Telegram

Примеры с собеседований

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 после отказа в возврате может значить, что агент отлично отработал сложную ситуацию. Оценку читают вместе с типом обращения, а не в вакууме.

Связанные темы

FAQ

Какой CSAT считается хорошим?

Ориентировочно 70–80% — норма, 90%+ — отлично, ниже 60% — тревожно. Но бенчмарки сильно зависят от индустрии и точки контакта, поэтому сравнивать надёжнее со своей динамикой, а не с чужими цифрами.

Когда показывать опрос CSAT?

Сразу после события — транзакционно. Отложенный опрос теряет привязку к конкретному взаимодействию и смешивает впечатление о нём с общим отношением к продукту, превращаясь скорее в NPS.

Пятибалльная или десятибалльная шкала?

Пятибалльная проще и даёт выше долю ответивших, десятибалльная — более детальная. Выбор зависит от аудитории, но менять шкалу по ходу нельзя: это рвёт сопоставимость истории.

Что делать, если CSAT падает?

Разобрать топ-причины: сравнить, на что жалуются в низких оценках против высоких, разрезать по каналам и типам обращений, привязать к изменениям в продукте. И сочетать CSAT с операционными метриками — временем первого ответа и временем решения, — чтобы отделить восприятие от реальной скорости.