Раздел 42 · Аналитика данных с нуля

Зачем аналитику графики

middle~15 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Фрея сказала это Ладе на встрече по договору «Монетки», а в тот же вечер Бран прислал похожее.

Два заказчика просят одного: ответ, который видно глазами, а не вычитывается по строкам. Начнём с Брана: его вопрос маленький, а приём тот же, что понадобится для экрана Фреи.

Почти весь курс мы отвечали заказчикам таблицами и цифрами, а в блоке про Python рисовали графики по выгрузкам. Блок K про то, как превращать результат запроса в картинку прямо там, где он посчитан, без выгрузок: графики, вычисляемые поля и дашборды. Инструмент тот же: SQL-песочница, у которой есть вкладка «График». Сегодня разберём, зачем нужен график и как выбрать его форму под вопрос.

Таблица прячет, линия показывает

Посчитаем то, что выгрузил Бран: сколько часов игроки провели в игре в каждый день с 25 марта по 19 апреля.

SELECT started_at::date AS day,
       count(DISTINCT player_id) AS dau,
       round(sum(extract(epoch FROM ended_at - started_at)) / 3600, 1) AS hours
FROM sessions
WHERE started_at >= '2026-03-25' AND started_at < '2026-04-20'
GROUP BY day
ORDER BY day;
    day     | dau | hours
------------+-----+-------
 2026-03-25 | 171 | 129.7
 2026-03-26 | 157 | 123.4
 ...
 2026-04-02 | 144 | 127.7
 2026-04-03 | 155 | 166.5
 2026-04-04 | 179 | 218.5
 ...
 2026-04-11 | 195 | 255.2
 2026-04-12 | 176 | 200.7
 2026-04-13 | 160 | 169.5
 2026-04-14 | 164 | 145.8

В таблице 26 строк, и чтобы заметить закономерность, нужно держать в голове все числа сразу. Человек так не умеет: он сравнивает соседние строки, а общую форму не видит. А теперь представь те же часы линией. До 2 апреля она гуляет в коридоре 110-160 часов, 3 апреля прыгает вверх, десять дней держится на уровне 200-255 и 13-14 апреля так же резко возвращается. Это плато, и глаз находит его за секунду.

Что это за плато, мы уже знаем из урока про DAU: четыре бота farm…x сидели в игре по 24 часа в сутки ровно десять дней. Число игроков в те же дни почти не изменилось: на плато dau от 150 до 195, до него от 144 до 190. Поэтому в таблице DAU аномалию не видно совсем, а на линии часов она бросается в глаза.

Что видно на графике

График отвечает на вопросы, на которые таблица отвечает плохо:

  • форма во времени: тренд, сезонность, ступенька, плато, разовый выброс;
  • сравнение: какой из пяти классов популярнее и насколько, без вычитания в уме;
  • доли: из чего складывается целое;
  • распределение: где большинство значений и есть ли длинный хвост.

А вот на вопрос «сколько ровно» график отвечает хуже таблицы. Если Брану нужна одна цифра, «выручка за июнь 70 564 ₽», рисовать ничего не надо: напиши её крупно. График без вопроса это шум.

урок из курса

Урок из курса «Аналитика данных с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.