Розуміння уподобань клієнтів: Інсайти з даних продажів піцерії

Аналіз даних за допомогою SQL

У сучасному світі, орієнтованому на дані, бізнеси, що використовують інсайти з даних, мають більше шансів на успіх. Ця стаття демонструє, як простий, але потужний інструмент, такий як SQL, може змінити операції піцерії. Аналізуючи дані про продажі, я виявив ключові напрямки для покращення, такі як оптимізація меню, цільовий маркетинг та покращення обслуговування клієнтів. Ці інсайти можуть не тільки збільшити дохід, але й покращити задоволеність клієнтів та зміцнити бренд.

pic

Вступ

У цьому проєкті я провів дослідницький аналіз даних (EDA) на основі даних про продажі місцевої піцерії, використовуючи SQL. Моя основна мета полягала в тому, щоб зрозуміти поведінку клієнтів, тенденції продажів та чинники, що впливають на дохід. За допомогою низки SQL запитів я проаналізував історію замовлень, демографію клієнтів, популярність страв з меню та ефективність продажів з часом. Цей підхід, орієнтований на дані, допоміг виявити цінні інсайти, які можуть допомогти в ухваленні стратегічних бізнес-рішень і в кінцевому підсумку сприяти зростанню доходу та покращенню операційної ефективності.

Мета

Основні цілі цього аналізу:

  • Показати силу SQL для бізнес-аналізу.
  • Продемонструвати складні SQL підзапити для глибоких інсайтів по піцерії.
  • Надати конкретні рекомендації на основі результатів EDA.

Опис даних

Перед тим, як зануритися в SQL запити, важливо зрозуміти структуру даних. Зазвичай база даних піцерії може включати такі таблиці:

  • orders: Містить інформацію про кожне зроблене замовлення.
  • order_details: Деталі піц, замовлених у кожному замовленні.
  • pizzas: Перелік різних типів піц і їхніх цін.
  • pizza_types: Деталі різних розмірів для кожного типу піци.

Ключові бізнес-запитання та SQL запити

  1. Загальна кількість замовлень
SELECT   
 COUNT(*) AS total_orders  
FROM   
 orders;

pic

  1. Загальний дохід від продажу піц.
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;

pic

  1. Піца з найвищою ціною.
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;

pic

  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;

pic

  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;

pic

  1. Загальна кількість кожної категорії піц, що була замовлена
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;

pic

  1. Розподіл замовлень за годинами доби.
SELECT  
 HOUR(time) AS hours,  
 COUNT(order_id) AS orders  
FROM  
 orders  
GROUP BY  
 hours  
ORDER BY   
 hours ASC;

pic

8.
Розподіл піц за категоріями

SELECT  
 category,  
 COUNT(name) AS quantity  
FROM  
 pizza_types  
GROUP BY  
 category;

pic

  1. Середня кількість піц, замовлених на день
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;

pic

  1. Топ-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;

pic

  1. Відсотковий внесок кожного типу піци до загального доходу
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;

pic

Панель продаж піц

pic

Рекомендації на основі інсайтів

  • Для підвищення ефективності ми визначили пікові години: з 12 до 2 години дня та з 5 до 8 вечора. Варто забезпечити оптимальний запас товарів і повну присутність персоналу, щоб мінімізувати час очікування і забезпечити безперебійну роботу.
  • Хоча класичні піци є улюбленими серед клієнтів, наш аналіз показує, що піци з куркою приносять найбільший дохід. Щоб максимізувати прибутковість, ми рекомендуємо ввести знижки або комбо-пропозиції на піци з куркою для стимулювання продажів.

Перекладено з: Understanding Customer Preferences: Insights from Pizza Store Sales Data

Leave a Reply

Your email address will not be published. Required fields are marked *