Метрики и сравнение: первый самостоятельный анализ

Почему заказы растут, а выручка падает: заказы × средний чек

Содержание курса

Восстановление показателей последней партии заказов

Что произошло

Интернет-магазин завершил закрытую распродажу. Бухгалтерия получила итоговый акт закрытия: в нём зафиксированы общее число оплаченных заказов за весь период распродажи и точный средний чек. Детализированная выгрузка заказов поступила раньше, но в неё не попала последняя закрывающая партия. При этом вся последняя партия целиком вошла в акт.

Менеджер считает, что в последней партии шли мелкие незначительные чеки, и предлагает отложить её оформление. Бухгалтеру нужно проверить это впечатление: определить число покупок, выручку и средний чек недостающей части, сопоставить чек партии с чеком ранее загруженных заказов и убедиться, что объединённые данные сходятся с актом.

Строк отдельных заказов для последней партии нет. Выдумывать отдельные чеки или подбирать их состав не нужно — требуется рассчитать сводные показатели партии и оформить отчёт.


Данные и правила отбора

В работе используются две таблицы:

  1. known_orders — строки ранее выгруженных заказов:

    • order_id — уникальный идентификатор заказа;
    • order_date — дата оформления заказа в формате YYYY-MM-DD (не дата платежа);
    • status — состояние заказа на момент выгрузки;
    • gross_revenue — целая сумма покупки в рублях до вычета возвратов.
  2. closing_act — одна контрольная строка по всему периоду распродажи:

    • paid_orders — точное итоговое число оплаченных заказов за весь период (включает и загруженные строки, и последнюю партию);
    • aov_exact — точный средний чек в рублях на один заказ со всеми исходными знаками. Значение не округлено, и его произведение с paid_orders даёт целую сумму выручки в рублях.

Из таблицы known_orders в расчёт берутся только заказы со статусом status = 'paid', оформленные в границах периода: дата должна быть больше или равна дате начала периода и строго меньше даты окончания (order_date >= period_start AND order_date < period_end). Начальная граница включена, конечная исключена. Все остальные статусы и даты вне интервала исключаются.

Параметры периодов для двух наборов данных:

  • Основной магазин («Маяк — закрытая распродажа»): с 2024-03-01 по 2024-05-01 (заказы марта и апреля 2024 года);
  • Контрольный магазин: с 2027-02-10 по 2027-04-05.

Требования к результирующей таблице

Таблица отчёта должна содержать ровно 3 строки и 5 колонок в следующем порядке:

part, paid_orders, gross_revenue, aov, aov_vs_loaded

Значения в колонке part (порядок строк в итоговой таблице не имеет значения):

  • loaded — показатели отобранных оплаченных заказов из таблицы known_orders;
  • last — восстановленные показатели отсутствующей последней партии;
  • combined — показатели объединения обеих частей (loaded и last), сведённые для проверки с актом.

Правила расчёта колонок:

  • paid_orders — целое число оплаченных заказов в соответствующей части;
  • gross_revenue — суммарная выручка в рублях (целое число);
  • aov — средний чек части в рублях на заказ (gross_revenue / paid_orders);
  • aov_vs_loaded — разница между aov текущей строки и aov строки loaded (aov - loaded_aov). Для строки loaded эта разница равна 0.

Значения paid_orders и gross_revenue должны оставаться точными целыми числами. Для метрик aov и aov_vs_loaded сохраняйте полную точность без принудительного округления: сверка проверяет дробные значения с высокой точностью. Округлять числа до копеек для экранного вывода не требуется.


Выбор маршрута выполнения

Выполнить работу можно одним из двух способов: написать SQL-запрос в интерфейсе лаборатории либо решить задачу на Python в pandas. Достаточно выполнить один выбранный маршрут.

Скачайте Python-программу run_lab_01.py из материалов этого шага и выполните python run_lab_01.py. Программа восстановит неизменённую лабораторную и напечатает локальный адрес для браузера. Файлы и проверки исходной лабораторной сохраняются. Это локальная лабораторная, не встроенный исполнитель Latorn.

Начать заново?

Помощник начнёт новый диалог по этой задаче. Текущая переписка останется в истории до конца срока хранения.

О переписке

Можно приложить до трёх фото PNG, JPEG или WebP по 5 МБ.

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

Проверка решения остаётся отдельным действием.