Практическое задание: Разработка дашборда для маркетплейса цифровых товаров
Цель работы
Разработать аналитический дашборд в Yandex DataLens, который поможет бизнесу отслеживать ключевые метрики и принимать решения.
Исходные данные
У вас есть база данных PostgreSQL с таблицами:
users- пользователи платформыsellers- продавцыcategories- категории товаровproducts- товарыorders- заказы
Задание 1: Подготовка датасета (30 минут)
Шаг 1.1: Создайте подключение к БД
Создайте подключение к PostgreSQL с параметрами:
Хост: 188.120.248.94
Порт: 5432
База данных: ggsel
Пользователь: student
Пароль: student123
Шаг 1.2: Создайте датасет через визуальный редактор
Добавьте следующие таблицы со связями:
orders (главная таблица)
products (связь:
orders.product_id = products.product_id)sellers (связь:
orders.seller_id = sellers.seller_id)users (связь:
orders.user_id = users.user_id)categories (связь:
products.category_id = categories.category_id)
Шаг 1.3: Выберите поля для датасета
Отметьте следующие поля:
Из orders:
[ ] order_id
[ ] order_date
[ ] status
[ ] quantity
[ ] final_price
[ ] payment_method
Из products:
[ ] product_name
[ ] price (переименуйте в base_price)
Из sellers:
[ ] company_name (seller_name)
[ ] rating (seller_rating)
Из users:
[ ] country (user_country)
[ ] registration_source
[ ] registration_date
Из categories:
[ ] category_name
Шаг 1.4: Создайте вычисляемые поля
Создайте следующие поля:
Год заказа -
DATETRUNC([order_date], "year")Месяц заказа -
DATETRUNC([order_date], "month")Квартал заказа -
DATETRUNC([order_date], "quarter")День недели (название) - используйте CASE для преобразования
Выручка -
[final_price] * [quantity]Возраст пользователя в днях -
DATE_DIFF(CURRENT_DATE, [registration_date], 'day')
Шаг 1.5: Добавьте глобальный фильтр
Добавьте фильтр, чтобы показывать только завершенные заказы:
Поле:
statusУсловие:
[status] = 'completed'
Задание 2: Создание чартов (1 час)
Чарт 1: KPI метрики
Создайте 4 отдельных чарта типа «Показатель»:
Общая выручка
Поле:
final_price(SUM)Формат: деньги, с разделителями тысяч
Заголовок: «Общая выручка»
Количество заказов
Поле:
order_id(COUNT DISTINCT)Формат: число
Заголовок: «Всего заказов»
Средний чек
Поле:
final_price(AVG)Формат: деньги
Заголовок: «Средний чек»
Количество покупателей
Поле:
user_id(COUNT DISTINCT)Формат: число
Заголовок: «Активных покупателей»
Чарт 2: Динамика продаж
Тип: Линейная диаграмма
X:
order_date(с группировкой по дням)Y:
final_price(SUM)Цвет:
category_name(для разделения по категориям)Заголовок: «Динамика продаж по дням»
Подписи осей: подпишите оси
Чарт 3: Топ-10 категорий
Тип: Столбчатая диаграмма
X:
category_nameY:
final_price(SUM)Сортировка: по убыванию
Заголовок: «Топ-10 категорий по выручке»
Чарт 4: Методы оплаты
Тип: Круговая диаграмма
Цвет:
payment_methodПоказатель:
order_id(COUNT)Заголовок: «Распределение заказов по методам оплаты»
Добавьте подписи с процентами
Чарт 5: Топ-10 продавцов
Тип: Таблица
Столбцы:
seller_nameSUM(final_price)(назвать «Выручка»)COUNT(order_id)(назвать «Заказы»)AVG(final_price)(назвать «Средний чек»)AVG(seller_rating)(назвать «Рейтинг»)
Сортировка: по убыванию выручки
Заголовок: «Топ-10 продавцов»
Чарт 6: Тепловая карта продаж по дням недели
Тип: Тепловая карта (или столбчатая)
X:
day_of_weekY:
final_price(SUM)Сортировка: по порядку дней
Заголовок: «Продажи по дням недели»
Чарт 7: География продаж
Тип: Карта (или столбчатая, если нет карты)
Категория:
user_countryПоказатель:
final_price(SUM)Заголовок: «Продажи по странам»
Чарт 8: Распределение цен товаров
Тип: Гистограмма
X:
base_priceY:
COUNT(product_id)Заголовок: «Распределение товаров по цене»
Количество корзин: 10-15
Чарт 9: Анализ количества товаров в заказе
Тип: Круговая или столбчатая
Показатель:
quantityМетрика:
COUNT(order_id)Заголовок: «Распределение по количеству товаров в заказе»
Чарт 10: Динамика регистраций пользователей
Тип: Линейная диаграмма
X:
registration_dateY:
COUNT(user_id)Цвет:
registration_sourceЗаголовок: «Динамика регистраций пользователей по источникам»
Задание 3: Создание дашборда (30 минут)
Шаг 3.1: Создайте новый дашборд
Название: «GGsel - Аналитика продаж [Ваше имя]»
Шаг 3.2: Добавьте заголовок
Используйте текстовый блок с описанием:
# GGsel Marketplace Dashboard
## Аналитика продаж и пользователей
**Автор:** [Ваше имя]
**Дата обновления:** {{CURRENT_DATE}}
Шаг 3.3: Добавьте селекторы (фильтры)
Период (поле
order_date, тип «Календарь»)Категория (поле
category_name, тип «Выпадающий список»)Страна (поле
user_country, тип «Выпадающий список»)Продавец (поле
seller_name, тип «Выпадающий список»)
Шаг 3.4: Разместите чарты на дашборде
Создайте следующую структуру:
┌─────────────────────────────────────────────────────────────┐
│ ЗАГОЛОВОК И ОПИСАНИЕ │
├─────────────────────────────────────────────────────────────┤
│ [Период: ▼] [Категория: ▼] [Страна: ▼] [Продавец: ▼] │
├──────────────┬──────────────┬──────────────┬───────────────┤
│ Выручка │ Заказы │ Средний чек │ Покупатели │
│ (Чарт 1) │ (Чарт 1) │ (Чарт 1) │ (Чарт 1) │
├──────────────┴──────────────┴──────────────┴───────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Динамика продаж (Чарт 2) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Топ категорий │ │ Методы оплаты │ │
│ │ (Чарт 3) │ │ (Чарт 4) │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Продажи по дням │ │ География продаж │ │
│ │ (Чарт 6) │ │ (Чарт 7) │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Топ-10 продавцов (Чарт 5) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Распределение цен │ │ Регистрации пользователей │ │
│ │ (Чарт 8) │ │ (Чарт 10) │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Шаг 3.5: Настройте взаимодействия
Свяжите все селекторы со всеми чартами
Настройте возможность клика по категории для фильтрации таблицы
Задание 4: Аналитические выводы (30 минут)
Напишите краткий аналитический отчет по вашему дашборду:
Основные выводы:
Какая общая выручка и количество заказов?
Какие категории товаров самые популярные?
Какие методы оплаты преобладают?
Тренды:
Есть ли сезонность в продажах?
Какие дни недели самые прибыльные?
Топ-продавцы:
Кто лидеры по продажам?
Есть ли связь между рейтингом и продажами?
География:
Из каких стран больше всего покупателей?
Есть ли страны с высоким средним чеком?
Рекомендации:
Что можно улучшить?
На какие категории сделать акцент?
Какие продавцы требуют внимания?
Критерии оценки
Критерий |
Макс. балл |
|---|---|
Корректно создан датасет со всеми связями |
10 |
Созданы все 10 чартов |
20 |
Чарты информативны и правильно настроены |
20 |
Дашборд имеет логичную структуру |
15 |
Селекторы работают и фильтруют данные |
10 |
Добавлен заголовок и описание |
5 |
Написан аналитический отчет |
10 |
Креативность и дополнительные улучшения |
10 |
ИТОГО |
100 |
Дополнительные задания (для продвинутых)
Если вы справились с основным заданием, добавьте:
RFM-анализ - создайте чарт с сегментацией пользователей
Когортный анализ - постройте retention по месяцам
Прогноз продаж - используйте линейную регрессию
Алерты - настройте уведомления о падении продаж
Мобильная версия - оптимизируйте дашборд для телефона
Формат сдачи
Пришлите:
Скриншоты всех чартов
Скриншот полного дашборда
Текстовый файл с аналитическими выводами
Ссылку на дашборд (если доступен публично)
Удачи в выполнении задания! 🚀