Метрики · 19 июля 2026 г.
Кросс-табуляция: как сравнить ответы по сегментам
Кросс-табуляция — это таблица, в которой ответы на один вопрос разложены по значениям другого: например, оценка сервиса отдельно у новых и постоянных клиентов. Строится она просто: по строкам ставите сегмент, по столбцам — варианты ответа, в ячейках — число людей и доля от строки. Смысл метода в том, что общий средний результат почти всегда скрывает противоположные группы, и только разрез по сегментам показывает, кому именно у вас плохо. Ниже — как построить кросс-таблицу, как правильно считать проценты, и главное: почему при делении на сегменты выборка тает и разница между группами из 8 и 11 человек не значит вообще ничего.
Что такое кросс-табуляция и зачем она нужна
Кросс-табуляция (её же называют таблицей сопряжённости или кросс-таблицей) — это способ посмотреть на ответы не в целом по опросу, а в разрезе. Вы берёте два вопроса и смотрите, как ответы на первый распределяются внутри каждой группы, заданной вторым. Классический пример: вопрос «насколько вы довольны сервисом» отдельно для тех, кто с вами меньше месяца, и для тех, кто больше года. Одна и та же общая оценка «3,9 из 5» может означать и то, что все умеренно довольны, и то, что новички ставят 4,6, а старожилы 3,1 — и это два совершенно разных бизнеса с разными проблемами. Сводная цифра эти два мира складывает и усредняет, кросс-таблица их разводит.
Именно поэтому кросс-табуляция — первое, что стоит делать после того, как вы посчитали общие распределения. Общая цифра отвечает на вопрос «как дела», разрез по сегментам отвечает на вопрос «у кого именно дела плохи» — а это уже то, с чем можно что-то сделать. Причём метод не требует статистического софта и специальных знаний: кросс-таблица строится в любой таблице сводной функцией, а читается глазами. Сложность не в построении, а в чтении: почти все типовые ошибки анализа опросов, от процентов не от той базы до выводов по восьми респондентам, живут именно здесь.
Как устроена кросс-таблица
Возьмём условный опрос на 400 человек. Вопрос-результат: «Насколько вы довольны скоростью доставки?» с тремя вариантами. Вопрос-разрез: тип клиента. По строкам ставим сегменты, по столбцам — варианты ответа, в ячейках — количество людей и рядом их доля от строки. Последний столбец — размер сегмента: он обязателен, без него таблица нечитаема, и мы к этому ещё вернёмся.
| Сегмент | Доволен | Нейтрально | Недоволен | Всего в сегменте |
|---|---|---|---|---|
| Новые клиенты (до 3 мес.) | 94 (55%) | 48 (28%) | 29 (17%) | 171 |
| Клиенты 3–12 мес. | 72 (52%) | 38 (28%) | 28 (20%) | 138 |
| Клиенты больше года | 34 (44%) | 20 (26%) | 23 (30%) | 77 |
| Не смогли определить | 6 (43%) | 4 (29%) | 4 (28%) | 14 |
| Всего | 206 (52%) | 110 (28%) | 84 (21%) | 400 |
Числа здесь условные и нужны только чтобы показать формат. Но читается такая таблица уже осмысленно: в целом довольны 52%, а по сегментам видно движение — среди новых клиентов довольных 55%, среди тех, кто с вами больше года, — 44%, и доля недовольных у них почти вдвое выше (30% против 17%). Это гипотеза: чем дольше человек с нами, тем хуже он оценивает доставку. Заметьте: именно гипотеза, а не вывод — почему, разберём ниже. А вот последняя строка «Не смогли определить» с четырнадцатью людьми не говорит ни о чём: 43% там — это шесть человек, и один случайный ответ двигает эту цифру на семь процентных пунктов.
Проценты по строке, по столбцу и от общего: не перепутайте
Самая частая техническая ошибка в кросс-таблицах — посчитать процент не от той базы. В любой ячейке можно вывести три разных процента, и все три будут правильными арифметически, но отвечают они на разные вопросы. Процент по строке: «какая доля этого сегмента ответила так» — 94 из 171 новых клиентов, то есть 55% новых довольны. Процент по столбцу: «какую долю ответивших так составляет этот сегмент» — 94 из 206 довольных, то есть 46% всех довольных клиентов — новички. Процент от общего числа: 94 из 400, то есть 23,5% всей выборки — это одновременно новые и довольные.
В 90% задач вам нужен процент по строке, потому что вопрос обычно звучит как «отличаются ли сегменты между собой». Процент по столбцу нужен реже — например, когда вы хотите понять состав недовольных: «кто эти люди, которые жалуются». Это разные вопросы, и они дают разные ответы на одних и тех же данных. Может быть так, что доля недовольных выше всего среди старых клиентов (по строке), но при этом большинство недовольных — новички (по столбцу), просто потому что новичков в базе втрое больше. Оба факта верны, и оба нужны: первый говорит, где проблема острее, второй — куда пойдёт больше всего людей.
Ловушка малых подгрупп: главная причина неверных выводов
Вот та ошибка, из-за которой кросс-табуляция чаще всего врёт. Когда вы делите выборку на сегменты, вы не просто перекладываете данные — вы дробите выборку. Опрос на 400 человек звучит солидно. Но разбейте его на три возрастные группы, потом внутри каждой на мужчин и женщин, потом на новых и старых клиентов — и в отдельной ячейке останется 8 человек. При этом таблица по-прежнему честно покажет вам «63%», и мозг честно прочитает это как заметную цифру. А 63% от восьми — это пять человек. Один из них ответил бы иначе — и стало бы 50%. Ничего не изменилось в реальности, а цифра прыгнула на 13 пунктов.
Разберём конкретнее. Допустим, в сегменте A из 8 человек довольны 5 (63%), а в сегменте B из 11 человек довольны 5 (45%). Разница 18 процентных пунктов — выглядит внушительно, так и просится в отчёт: «сегмент A заметно довольнее». На деле при таких размерах групп доверительные интервалы огромны и перекрываются почти полностью: реальная доля в каждой группе может лежать где-то между 20% и 80%. Разница между 8 и 11 респондентами не значит ничего — это шум, а не сигнал. Достаточно двух человек, ответивших наоборот, чтобы «вывод» развернулся в противоположную сторону.
- Меньше 30 человек в ячейке — процент не показывайте вообще, пишите только абсолютные числа: «5 из 8», а не «63%».
- 30–100 человек — процент можно показать, но только с пометкой о размере группы и как гипотезу для проверки, а не как факт.
- Больше 100 в каждой сравниваемой группе — разница в 10 и более процентных пунктов уже заслуживает внимания.
- Разница в 2–3 пункта не значит ничего почти при любом реалистичном размере опроса — не стройте на ней решений.
- Всегда выводите столбец с размером сегмента рядом с процентами. Всегда. Таблица без n — это таблица, в которую можно поверить во что угодно.
У этой ловушки есть коварная особенность: чем интереснее находка, тем чаще она из маленькой ячейки. Если вы нарежете данные на два десятка сегментов и станете искать «что-нибудь заметное», вы обязательно найдёте — просто потому что в мелких группах цифры скачут случайным образом, и какая-то из них случайно выпрыгнет. Это не открытие, это статистический шум, который вы приняли за находку. Правило простое: сегменты для разреза определяйте до того, как посмотрели на данные, исходя из вопросов бизнеса, а не подбирайте потом такую нарезку, при которой получается красивый вывод.
Как выбрать, по чему резать
Хороший разрез — тот, который отвечает на вопрос, на который вы собираетесь как-то реагировать. Если у вас нет способа по-разному работать с людьми 25–34 и 35–44 лет, разрез по возрасту вам не нужен — он просто съест выборку и породит лишние цифры. Резать имеет смысл по тому, что вы можете изменить или на что можете нацелиться. Обычно это работает так: сначала сформулируйте решение, которое вы примете по итогам, а потом от него отмотайте назад к разрезу.
- Стаж клиента — новые против давних. Показывает, портится ли опыт со временем или, наоборот, разочарование бывает только на старте.
- Тариф или сумма покупок — довольны ли те, кто платит больше. Часто самая болезненная находка.
- Канал привлечения — из какого источника приходят люди, которым у вас не нравится.
- Частота использования — активные против редких. Редкие обычно оценивают хуже, и важно понять почему.
- Регион, устройство, роль в компании — только если у вас есть, что с этим делать.
И держите разрез одномерным, пока хватает данных. Двойной разрез — «новые клиенты × мобильное устройство» — выглядит аналитично, но убивает n в ячейках в разы. Начинайте с одного измерения, найдите там разницу, и только потом, если выборка позволяет, уточняйте вторым. Если после второго разреза в ячейках меньше тридцати человек, вы уже не анализируете — вы гадаете на кофейной гуще, оформленной в виде таблицы.
Разница есть — а значимая ли она
Увидев разницу между сегментами, спросите себя: могла ли она возникнуть просто из-за того, что в опрос попали именно эти люди, а не другие? На этот вопрос отвечает статистическая проверка. Формально для кросс-таблиц применяют критерий хи-квадрат: он оценивает, насколько наблюдаемое распределение отличается от того, которое получилось бы, будь связи между вопросами вообще никакой. Строгий разбор критерия выходит за рамки этой статьи, и на практике большинству команд достаточно грубой прикидки.
| Размер каждой группы | Разница, которая может быть шумом | Что делать |
|---|---|---|
| до 30 | почти любая, вплоть до 30+ пунктов | Проценты не считать, только «X из Y» |
| 30–100 | до 15–20 пунктов | Считать гипотезой, набрать данных |
| 100–400 | до 8–10 пунктов | Разница от 10 пунктов заслуживает внимания |
| больше 400 | до 4–5 пунктов | Разница от 5–7 пунктов уже содержательна |
Значения в таблице — грубые ориентиры, а не точный расчёт: реальная погрешность зависит и от размера группы, и от того, насколько сама доля близка к 50%. Но даже такая прикидка спасает от главной беды — привычки обсуждать разницу в три пункта на подгруппах по сорок человек так, будто это установленный факт. Если разница попадает в диапазон «может быть шумом», честная формулировка звучит так: «мы видим наклон, но данных пока не хватает, чтобы утверждать». Это не слабость отчёта, это его точность.
Корреляция в таблице — ещё не причина
Допустим, разница устояла: старые клиенты действительно оценивают доставку хуже новых, и групп хватает. Соблазн сделать вывод «наш сервис портится со временем» огромен — и он может быть неверным. Кросс-таблица показывает связь двух переменных, но не говорит, откуда эта связь взялась. Возможных объяснений минимум три, и они ведут к разным действиям.
- Причинная связь в ту сторону, о которой вы подумали: длительное пользование действительно накапливает раздражение, ожидания растут, мелочи начинают бесить.
- Обратная связь: люди, которым доставка не нравилась, просто ушли раньше — и среди «новых» их ещё не отсеяло. Тогда у вас не портится сервис, а работает выживание лояльных.
- Третья переменная: старые клиенты живут в других регионах, куда доставка объективно дольше, потому что вы начинали с регионов, а потом сосредоточились на столице. Тогда дело не в стаже, а в географии — и стаж просто с ней коррелирует.
Проверить это можно тем же инструментом: добавьте третий разрез. Если внутри каждого региона разница между новыми и старыми клиентами исчезает, значит, дело было в регионе, а стаж был ни при чём. Именно так кросс-табуляция превращается из способа рисовать таблицы в способ думать: вы не ищете подтверждения гипотезы, вы пытаетесь её убить, и если она выживает после нескольких попыток — вот тогда ей можно немного доверять. Только помните про n: третий разрез снова дробит выборку, и часто на нём данные уже заканчиваются.
Типичные ошибки кросс-табуляции
- Показывать проценты для ячеек, где меньше 30 человек. Это главная ошибка, и она стоит первой не случайно.
- Прятать размер сегмента: таблица с процентами без n не позволяет читателю оценить, чему верить.
- Считать проценты от общего числа респондентов, когда на вопрос ответили не все, — доли занижаются, и сегменты становятся несопоставимы.
- Нарезать данные десятками способов, пока не найдётся заметная разница, и потом объявить её находкой.
- Читать связь как причину, не рассмотрев обратное направление и третью переменную.
- Забыть про сегмент «затрудняюсь ответить» или «не указано» — иногда именно его размер и есть главная новость таблицы.
- Сравнивать сегменты, которые пересекаются: если человек может попасть сразу в две категории, суммы не сойдутся, а проценты будут врать.
Отдельно стоит сказать про честность перед собой. Кросс-табуляция — самый простой способ получить из данных тот вывод, который вы хотели получить с самого начала: достаточно поискать разрез, где нужная разница проявляется. Никакой методики против этого нет, кроме одной: фиксировать разрезы и ожидания заранее, до того как открыли данные, и потом честно смотреть, что подтвердилось. Отчёт, где часть гипотез не подтвердилась, выглядит менее эффектно и стоит намного дороже.
Как это выглядит на практике
На практике порядок такой: посчитали общее распределение, отложили заранее выбранные два-три разреза, построили по ним таблицы с обязательным столбцом n, отсекли ячейки с малым числом людей, посмотрели на оставшуюся разницу и прикинули, не шум ли это. Дальше — самая важная часть: вернулись к открытым ответам внутри сегмента, где нашли проблему, и прочитали, что эти люди пишут своими словами. Кросс-таблица говорит, где болит, открытые ответы — что именно. Одно без другого даёт либо цифры без смысла, либо истории без масштаба.
В сервисе «До Сути» разрезы по сегментам считаются автоматически по тем вопросам, которые вы сами пометили как сегментирующие, и подгруппы с малым числом ответов помечаются отдельно — но решение, доверять ли разнице, остаётся за вами: инструмент может посчитать проценты, но не может знать, стоит ли за ними реальная разница или случайность вашей выборки.
И последнее. Если после всех разрезов вы не нашли значимой разницы между сегментами — это не провал опроса. Это тоже результат, и часто ценный: он означает, что проблема общая для всех, и чинить её надо для всех сразу, не изобретая персонализированных программ для отдельных групп. Отсутствие разницы экономит деньги ровно так же, как её обнаружение.
Частые вопросы
Кросс-табуляция — это таблица, где ответы на один вопрос разложены по группам, заданным другим вопросом. Например, оценка доставки отдельно у новых и постоянных клиентов. По строкам ставят сегменты, по столбцам — варианты ответа, в ячейках — количество людей и их долю. Смысл в том, чтобы увидеть, чем группы отличаются друг от друга, вместо одной усреднённой цифры по всему опросу.
Практическое правило: меньше 30 человек в ячейке — проценты не показывайте вообще, пишите «5 из 8». От 30 до 100 процент можно привести, но трактуйте его как гипотезу. Уверенно сравнивать сегменты можно, когда в каждом больше 100 ответов — тогда разница от 10 процентных пунктов уже, скорее всего, не случайность.
Чаще всего — по строке, то есть от размера сегмента: «55% новых клиентов довольны». Так вы отвечаете на вопрос, отличаются ли группы. Процент по столбцу (от числа ответивших определённым образом) нужен, когда вы изучаете состав группы: «46% всех недовольных — новички». Оба варианта верны, но отвечают на разные вопросы, и базу нужно всегда подписывать в заголовке.
Нет. Кросс-таблица показывает связь, а не причину. Если старые клиенты оценивают сервис хуже, возможны три объяснения: сервис действительно портится со временем, недовольные новички просто ушли раньше и не попали в выборку, или дело в третьей переменной — например, регионе. Проверять нужно дополнительным разрезом, а не догадкой.
Можно, если хватает данных. Но каждый дополнительный разрез дробит выборку в разы: опрос на 400 человек после разбивки на три возраста, два пола и два типа клиента даст ячейки по 8–15 человек, где проценты бессмысленны. Начинайте с одного измерения, и добавляйте второе только если в итоговых ячейках остаётся хотя бы по 30–50 ответов.