Аналіз даних за допомогою SQL
У сучасному світі, орієнтованому на дані, бізнеси, що використовують інсайти з даних, мають більше шансів на успіх. Ця стаття демонструє, як простий, але потужний інструмент, такий як SQL, може змінити операції піцерії. Аналізуючи дані про продажі, я виявив ключові напрямки для покращення, такі як оптимізація меню, цільовий маркетинг та покращення обслуговування клієнтів. Ці інсайти можуть не тільки збільшити дохід, але й покращити задоволеність клієнтів та зміцнити бренд.
Вступ
У цьому проєкті я провів дослідницький аналіз даних (EDA) на основі даних про продажі місцевої піцерії, використовуючи SQL. Моя основна мета полягала в тому, щоб зрозуміти поведінку клієнтів, тенденції продажів та чинники, що впливають на дохід. За допомогою низки SQL запитів я проаналізував історію замовлень, демографію клієнтів, популярність страв з меню та ефективність продажів з часом. Цей підхід, орієнтований на дані, допоміг виявити цінні інсайти, які можуть допомогти в ухваленні стратегічних бізнес-рішень і в кінцевому підсумку сприяти зростанню доходу та покращенню операційної ефективності.
Мета
Основні цілі цього аналізу:
- Показати силу SQL для бізнес-аналізу.
- Продемонструвати складні SQL підзапити для глибоких інсайтів по піцерії.
- Надати конкретні рекомендації на основі результатів EDA.
Опис даних
Перед тим, як зануритися в SQL запити, важливо зрозуміти структуру даних. Зазвичай база даних піцерії може включати такі таблиці:
- orders: Містить інформацію про кожне зроблене замовлення.
- order_details: Деталі піц, замовлених у кожному замовленні.
- pizzas: Перелік різних типів піц і їхніх цін.
- pizza_types: Деталі різних розмірів для кожного типу піци.
Ключові бізнес-запитання та SQL запити
- Загальна кількість замовлень
SELECT
COUNT(*) AS total_orders
FROM
orders;
- Загальний дохід від продажу піц.
SELECT
ROUND(SUM(od.quantity * p.price), 2) AS total_sales
FROM
order_details od
JOIN
pizzas p ON od.pizza_id = p.pizza_id;
- Піца з найвищою ціною.
SELECT
pt.name, p.price
FROM pizza_types pt
JOIN pizzas p ON pt.pizza_type_id = p.pizza_type_id
ORDER BY p.price DESC
LIMIT 1;
- Найпоширеніший розмір піци, який замовляють
SELECT
p.size,
COUNT(od.order_details_id) AS order_count
FROM
pizzas p
JOIN
order_details od ON p.pizza_id = od.pizza_id
GROUP BY
p.size
ORDER BY
order_count DESC
LIMIT
1;
- Топ-5 найбільш замовлених типів піц з їх кількостями
SELECT
pt.name AS name,
SUM(od.quantity) AS quantity
FROM
pizza_types pt
JOIN
pizzas p ON pt.pizza_type_id = p.pizza_type_id
JOIN
order_details od ON od.pizza_id = p.pizza_id
GROUP BY
name
ORDER BY
quantity DESC
LIMIT
5;
- Загальна кількість кожної категорії піц, що була замовлена
SELECT
pt.category,
SUM(od.quantity) AS quantity
FROM
pizza_types pt
JOIN
pizzas p ON pt.pizza_type_id = p.pizza_type_id
JOIN
order_details od ON od.pizza_id = p.pizza_id
GROUP BY
pt.category
ORDER BY
quantity;
- Розподіл замовлень за годинами доби.
SELECT
HOUR(time) AS hours,
COUNT(order_id) AS orders
FROM
orders
GROUP BY
hours
ORDER BY
hours ASC;
8.
Розподіл піц за категоріями
SELECT
category,
COUNT(name) AS quantity
FROM
pizza_types
GROUP BY
category;
- Середня кількість піц, замовлених на день
SELECT
round(avg(quantity),0) AS avg_qty_per_day
FROM
(SELECT
o.date, SUM(od.quantity) AS quantity
FROM
orders o
JOIN
order_details od ON o.order_id = od.order_id
GROUP BY
o.date)
order_qty;
- Топ-3 найбільш замовлених типів піц за доходом
SELECT
pt.name name ,
sum(od.quantity * p.price) AS revenue
FROM
pizza_types pt
JOIN
pizzas p ON pt.pizza_type_id = p.pizza_type_id
JOIN
order_details od ON od.pizza_id = p.pizza_id
GROUP BY
name
ORDER BY
revenue desc
LIMINT
3;
- Відсотковий внесок кожного типу піци до загального доходу
SELECT
pt.category category ,
CONCAT(round(SUM(od.quantity * p.price)/(SELECT round(SUM(o.quantity* p.price),2)
AS total_sales
FROM
order_details o
JOIN
pizzas p ON o.pizza_id = p.pizza_id) *100 , 2), '%') percentage
FROM
pizza_types pt join pizzas p ON pt.pizza_type_id = p.pizza_type_id
JOIN
order_details od ON od.pizza_id = p.pizza_id
GROUP BY
category
ORDER BY
Percentage DESC;
Панель продаж піц
Рекомендації на основі інсайтів
- Для підвищення ефективності ми визначили пікові години: з 12 до 2 години дня та з 5 до 8 вечора. Варто забезпечити оптимальний запас товарів і повну присутність персоналу, щоб мінімізувати час очікування і забезпечити безперебійну роботу.
- Хоча класичні піци є улюбленими серед клієнтів, наш аналіз показує, що піци з куркою приносять найбільший дохід. Щоб максимізувати прибутковість, ми рекомендуємо ввести знижки або комбо-пропозиції на піци з куркою для стимулювання продажів.
Перекладено з: Understanding Customer Preferences: Insights from Pizza Store Sales Data