← Открытые уроки
Открытый урок · бесплатно22 октября 2026

Аналитика продаж Jol Coffee

Сеть кофеен запустила за лето четыре изменения и не понимает, какие из них принесли деньги. Разбираем на реальных «грязных» данных.

Заказчик
Jol Coffee · сеть кофеен, Казахстан
Инструменты
SQL · Looker Studio · Очистка данных
Уровень
Для тех, кто знает SELECT, JOIN и GROUP BY
Формат
Кейс на несколько дней · срок сдачи 30 октября
Получить ТЗ и данные на почту
Пришлём архив с базой: пять таблиц в CSV и дамп SQL одним файлом — всё, что нужно, чтобы начать. Данные «как есть», ошибки в них оставлены специально.

Письмо от заказчика

Команда Naqty Data, здравствуйте!

Jol Coffee — сеть из 8 кофеен в Астане, Алматы, Шымкенте и Караганде. Летом мы запустили сразу четыре больших изменения:

• 1 июля — мобильное приложение с кэшбэком 5% и предзаказом. • 1 августа — акция «Счастливые часы»: по будням с 15:00 до 17:00 скидка 30% на все напитки. • 15 августа — открыли вторую кофейню в Шымкенте. • 1 сентября — осеннее меню: медовый раф «Бал», Алма-матча, облепиховый пунш и тыквенный пирог.

По отчёту кассы, сентябрь стал рекордным месяцем. В начале ноября у нас встреча с инвесторами, и мы хотим показать им этот рост.

Но есть сомнения. Управляющие говорят, что денег больше не стало. На каждой летучке жалуются на одну из алматинских кофеен, но на какую именно и почему, мы не понимаем.

Своего аналитика у нас нет. Помогите разобраться, что происходит на самом деле, и сделайте дашборд для еженедельных совещаний.

Важно: данные выгружены из кассовой системы и приложения как есть. Мы их не чистили и не проверяли.

С уважением, Айгерим Сапарова, операционный директор Jol Coffee

Jol Coffee — вымышленная компания, все данные сгенерированы для учебного кейса.

Цель и бизнес-вопросы

Понять, какие из летних изменений принесли деньги, а какие нет, и дать руководству дашборд за III квартал 2026 года (1 июля — 30 сентября). На каждый вопрос нужен ответ с цифрой.

1
Рост
Как менялись выручка, число чеков и средний чек по месяцам и неделям? Действительно ли сентябрь рекордный и на сколько он лучше августа?
2
Филиалы
Какие кофейни растут, а какие падают? Что происходит в Алматы и с какого дня это началось?
3
«Счастливые часы»
Окупилась ли акция? Выросли ли выручка и валовая прибыль, или гости просто перенесли покупки на время скидки?
4
Осеннее меню
Какие сезонные позиции продаются, в каких городах и сколько приносят? Что оставить на зиму, а что убрать?
5
Приложение
Какую долю заказов дают пользователи приложения и как она менялась? Отличается ли их средний чек от остальных гостей?
6
Шымкент
Как открытие второй кофейни повлияло на продажи первой?

Данные

База Jol Coffee: 5 таблиц, 17 554 заказа и 29 258 позиций чеков. Все суммы — в тенге.

Связи между таблицами
orders.branch_id → branches · orders.customer_id → customers · order_items.order_id → orders · order_items.product_id → products
Получить ТЗ и данные на почту
Пришлём архив с базой: пять таблиц в CSV и дамп SQL одним файлом — всё, что нужно, чтобы начать. Данные «как есть», ошибки в них оставлены специально.
branchesФилиалы9 строк
ПолеОписание
branch_idID филиала
branch_codeКод филиала, например AST-01
branch_nameНазвание кофейни
cityГород
branch_formatФормат: кофейня, кофейня с кухней, островок в ТРЦ
opened_atДата открытия
productsМеню32 позиции
ПолеОписание
product_idID позиции
product_nameНазвание
categoryКофе, Чай и какао, Холодные напитки, Выпечка, Десерты, Еда, Сезонное меню
priceЦена по меню за единицу
costСебестоимость единицы
is_seasonal1 — позиция осеннего меню
launched_atДата запуска сезонной позиции
customersПользователи приложения1 428 строк
ПолеОписание
customer_idID пользователя
first_nameИмя
genderПол
birth_dateДата рождения, пользователь вводит сам
cityГород, пользователь вводит сам
registered_atДата регистрации в приложении
ordersЗаказы17 554 строки
ПолеОписание
order_idID заказа, касса присваивает по порядку
branch_idФилиал
customer_idПользователь приложения; пусто, если гость без приложения
order_datetimeДата и время заказа по часам кассы
channelЗал, С собой, Доставка, Приложение (предзаказ)
payment_methodKaspi QR, Карта, Наличные
statusВыполнен, Отменён, Возврат
prep_time_minВремя приготовления, мин
order_itemsПозиции чеков29 258 строк
ПолеОписание
item_idID позиции чека
order_idЗаказ
product_idПозиция меню
quantityКоличество
unit_priceЦена продажи за единицу до скидки
discount_pctСкидка, %: 30 — «Счастливые часы», 0 — без скидки

Попробовать SQL здесь

База кейса уже загружена — можно сразу писать запросы, ничего не устанавливая. Всё считается у вас в браузере, данные никуда не уходят. Готовый результат выгружается в CSV одной кнопкой: это и есть первый этап работы.

⚡ SQL по базе кейса · branches · products · customers · orders · order_items
База загрузится по кнопке — 370 КБ, пара секунд.

Этапы работы

Работа идёт в четыре шага, результат каждого сдаётся отдельно.

1. Выгрузка (SQL)
Соберите одну плоскую таблицу: одна строка — одна позиция чека. Нужны дата и время, филиал и город, канал, статус, оплата, время приготовления, данные клиента, позиция и категория меню, количество, цена, скидка, сумма позиции и её себестоимость. Выгрузите в CSV.
2. Проверка и очистка
Найдите ошибки и странности в данных и исправьте их. Каждое изменение запишите в журнал: что нашли, сколько строк затронуто, что сделали. Ничего не удаляйте молча.
3. Дашборд в Looker Studio
Подключите очищенный CSV и соберите дашборд по требованиям ниже.
4. Выводы
Ответьте на 6 бизнес-вопросов: 5–7 пунктов с цифрами и 3 рекомендации.
Пользоваться ИИ-ассистентами можно и нужно. Но за каждую цифру отвечает аналитик: всё, что предложил ИИ, проверяйте на данных.

Дашборд

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

СтраницаЧто показать
1. ОбзорКарточки: выручка, валовая прибыль, число чеков, средний чек, доля отмен — с изменением к прошлому месяцу. Выручка по неделям. Выручка по филиалам.
2. МенюТоп-10 позиций по выручке. Доля категорий в выручке. Продажи осеннего меню по городам.
3. Акции и приложениеЗаказы по часам в будни до и после 1 августа. Доля заказов из приложения по неделям. Средний чек пользователей приложения и остальных гостей.
4. ОперационкаСреднее время приготовления и доля отмен по филиалам и неделям.

На всех страницах нужны фильтры: период, город, филиал, канал продаж.

Как считать метрики

Выручку и прибыль считаем только по выполненным заказам, с учётом скидки. Неделя начинается с понедельника, себестоимость за квартал не менялась.

МетрикаКак считать
ВыручкаСумма quantity × unit_price × (1 − discount_pct / 100) по заказам со статусом «Выполнен»
СебестоимостьСумма quantity × cost по выполненным заказам
Валовая прибыльВыручка − себестоимость
МаржинальностьВаловая прибыль / выручка, %
Число чековКоличество уникальных выполненных заказов
Средний чекВыручка / число чеков
Доля отменЗаказы со статусом «Отменён» / все заказы, %
Доля приложенияЗаказы с заполненным customer_id / все заказы, %

Что сдать и сроки

Срок: 30 октября 2026 — чтобы успеть подготовиться к встрече с инвесторами.

Что сдатьФормат
SQL-запрос выгрузкиТекст запроса
Выгрузка до и после очисткиДва файла CSV
Журнал очисткиТаблица: проблема, сколько строк, что сделали
ДашбордСсылка на Looker Studio с доступом на просмотр
ВыводыОдна страница: ответы на 6 вопросов и 3 рекомендации
Работу принимаем, если:
  • на каждый из 6 вопросов есть ответ с цифрой;
  • выручка на дашборде совпадает с контрольным SQL-запросом;
  • каждое исправление данных описано в журнале;
  • фильтры работают на всех страницах дашборда.