User story #5584
Використання прогнозних продажів в Shelf
Description
Прогнозні продажі
Використовуємо прогнозні продажі скю-магазин: в розрізі тижня, період 12 тижнів.
Очікуємо дані в шт та грошах.
Застосовуємо прогнозні продажі в аналітиці в режимі планограми, в автофейсингу, в автонаповненні зони.
Дані по продажах можуть братися як з Leafio (Inventory), так і можуть вантажитись власні прогнозні продажі клієнта.
Що необхідно доробити:
Бек - організувати зберігання даних, налаштувати обмін з платформою, налаштувати очищення даних
Фронт - розробити новий інтерфейс для використання прогнозних продажів
Платформа - мати можливість отримати власні прогнозні продажі клієнта
Бек
Створити місце для зберігання даних в розрізі тижня для полів:
Прогнозні продажі в грошах в розрізі тижня (числове) - forecast_revenue;
Прогнозні продажі в шт. в розрізі тижня (числове) - forecast_sold_qty
Налаштувати обмін з платформою для завантаження Прогнозних продажів
Поля item uid
store uid
date
forecast_sold_qty
forecast_revenue
Очищати тижні від прогнозних продажів (на наступний день після закінчення тижня)
Для завантаження власних прогнозних продажів клієнта в платформу
Файл - forecastsales_<store_uid>_<date>.csv
Поля item uid
store uid
date
forecast_sold_qty
forecast_revenue
Фронт
Додати кнопку або вкладку Прогнозні продажі в вкладці Аналітика в режимі Планограми
Розробити вікно налаштування можливих варіантів аналізу:
фільтр по періоду (тижні, або місяці). якщо дані завантажені тільки по одному розрізу, то
показувати його обраним по замовчуванню)
календар (тільки тижні, або звичайний календар з днями, але коли обираєш будь який день, то
підсвічується тиждень або місяць в залежності від обраного фільтру),
джерело даних (поточний магазин, всі магазини, де розміщена форматна планограма)
показники (АВС обіг, Продажі обіг, АВС кількість, Продажі кількість). Ці показники розраховуються
по прогнозних продажах
Додати вкладку Прогнозні продажі в автофейсингу
Розробити вікно налаштування можливих варіантів аналізу:
фільтр по періоду (тижні, або місяці). якщо дані завантажені тільки по одному розрізу, то
показувати його обраним по замовчуванню)
календар (тільки тижні),
показники (Продажі, Кількість). Ці показники розраховуються по прогнозних продажах
Додати вкладку Прогнозні продажі в автозаповненні зони
Розробити вікно налаштування можливих варіантів аналізу:
фільтр по періоду (тижні, або місяці). якщо дані завантажені тільки по одному розрізу, то
показувати його обраним по замовчуванню)
календар (тільки тижні),
показники (Продажі, Кількість). Ці показники розраховуються по прогнозних продажах
Related issues
History
#1 Updated by ♣ Aleksandr Bilousko 10 months ago
- Description updated (diff)
#2 Updated by ♣ Ilya Lepkin-Titov 10 months ago
БВ: Доповнити систему прогнозними продажами.
БЕК¶
1. Створити таблицю в якій будуть зберігатися прогнозні продажі. Необхідні поля:- item uid
- store uid
- date - період прогнозу
- period - 1=week, 0=month
- forecast_sold_qty - прогнозні продажі в шт. в розрізі тижня (числове)
- forecast_revenue - прогнозні продажі в грошах в розрізі тижня (числове)
2. Передавати дані по прогнозним продажам на фронт.
3. Додати логіку по видаленню старих прогнозів.- Видаляти продажі, якщо date < now.
- Для тижнів видаляємо з настанням першого дня наступного тижня.
- Для місяців - з першим днем наступного місяця.
4. Налаштувати забір даних по прогнозним продажам з платформи.
Дані в платформі будуть в вигляді таблиці з пункту 1.
Файл - forecastsales_<store_uid>_<date>.csv
ФРОНТ¶
1. Аналітика.¶
Додати аналітику по прогнозним продажам на план залу, планограму і формат.
Розділити табу на 2 вкладки - Прогнозні продажі і Власні продажі.У власних продажах залишається поточна логіка. для прогнозних дати користувачу можливість:
- Обирати часовий інтервал прогнозу - місяць або тиждень.
- Обрати розрахунок за
- Отримувати з беку прогнозовані продажі.
- Над календарем додати фільтр з вибором типу періоду - місяць або тиждень.
- Якщо в типі періоду обрано тиждень, то при виборі будь-якої дати обирається увесь тиждень, в який входить обране число. Обрано за замовчуванням.
- Якщо в типі періоду обрано місяць - змінити календар, в ньому на вибір доступні лише назви місяців і в перемиканні рік.
- Якщо завантажено дані лише по одному з типу періоду, то в фільтрі за типом періоду, за замовчуванням, проставити той, що завантажено. Якщо завантажені прогнози на місяць, фільтр автоматично обирає тип періоду - місяць.
- Додати фільтр Джерело даних - поточний магазин, всі магазини, за вмістом форматів.
- Магазин, Поточний - аналіз товарів на обладнанні по поточному магазину.
- Магазин, Додати всі - аналіз товарів по середньому значенні по всіх магазинах, які доступні користувачу.
- Магазин, За вмістом форматів - якщо це не форматне обладнання використовується поточний магазин.
- Формат, Поточний - аналіз товарів по магазину, який призначено на формат. Якщо не призначено - нічого не виводити.
- Формат, Додати всі - аналіз товарів по середньому значенні по всіх магазинах, які доступні користувачу.
- Формат, За вмістом форматів - враховується лише ті магазини, на які додана форматна планограма і які доступні користувачу.
- АВС обіг, Продажі обіг, АВС кількість, Продажі кількість.
- Аналіз по кількість рахується по - forecast_sold_qty.
- Аналіз в грошах рахується по - forecast_revenue.
- ABC аналіз має формулу 80%-15%-5% - не враховуються товари, які розташовані на складському обладнанні/полиці.
- Продажі - градієнтна розфарбовка, від набільшого до найменшого.
- Додати ці поля в кубік аналітики, як ABC обіг прогнозований.
- Якщо при додавані останнього товару сума буде більшою за можливій діапазон, то перенести цей товар у наступний. Приклад, з додаванням останнього товару сума по категорії А буде >80%, то цей товар потрібно перенести у категорію В.
- В календарі виділяти кольором обраний період, якщо тиждень - синім кольором виділено увесь тиждень, якщо місяць - увесь місяць.
- Додати кольорове виділення в кубік аналітики.
2. Автофейсинг¶
В автофейсингу додати вкладку Прогнозовані продажі.
Функціональні вимоги:- Отримувати з беку прогнозовані продажі.
- Над календарем додати фільтр з вибором типу періоду - місяць або тиждень.
- Якщо в типі періоду обрано тиждень, то при виборі будь-якої дати обирається увесь тиждень, в який входить обране число. Обрано за замовчуванням.
- Якщо в типі періоду обрано місяць - змінити календар, в ньому на вибір доступні лише назви місяців і в перемиканні рік.
- Якщо завантажено дані лише по одному з типу періоду, то в фільтрі за типом періоду, за замовчуванням, проставити той, що завантажено. Якщо завантажені прогнози на місяць, фільтр автоматично обирає тип періоду - місяць.
- Додати фільтр для вибору типу прогнозованих продажів:
- Продажі в штуках - forecast_revenue.
- Продажі в грошах - forecast_sold_qty.
- При виборі цього фільтру змінюється джерело даних для розрахунку.
- Доступний показник для розрахунку:
- Продажі - за замовчуванням проставляється 100. forecast_revenue
- Кількість - за замовчуванням проставляється 0. forecast_sold_qty
- Якщо сума показників для розрахунку менше за 100 і не встановлен флаг "Заповнити рівномірно" - заборонити користувачу застосувати автофейсинг.
- Для Фейсів MIN і MAX використовувати поточну логіку автофейсингу - 5256.
- Чек-бокс "Дозволити зміщення товарів":
- За замовчуванням чек-бокс не обрано.
- Чек-бокс зміщення товарів не активний - після автофейсингу товари повинні залишитися на тих полицях, де їх розмістив користувач і зберегти порядок відносно один одного.
- Чек-бокс зміщення товарів активний - товари можуть змінити полицю, але порядок товарів щодо один одного повинен зберегтися.
- Формула для підрахунку автофейсингу по прогнозним продажам: (працює тільки зі стелажем торговим)
Діючі особи Користувач, система Ціль Заповнити обладнання за допомогою автофейсингу Перед умови Продажі - 100. Фейсинг встановлено за замовчуванням. Дозволити зміщення товарів не проставлено Сценарій:
1. Користувач натискає на кнопку Заповнити
2. Система:
2.1. Вираховує % усіх товарів в продажах. Згідно з цим, це буде %, який товар повинен займати на полиці.
2.2. Визначити довжину усіх полок.
2.3. Визначити положення і ширину товарів.
2.4. Визначити скільки товар повинен займати викладки в сантиметрах.
2.5. Додати стільки фейсів, щоб товар займав свій % на полиці. Ширина товару * фейс = % товару на полиці (см)Доповнення а* Якщо виставлені показники розрахунку:
Продажі - 70 і кількість - 30, то формула буде такою - (Продажі * 70 + Кількість * 30)/кількість повторень товару
3. Автозаповнення зон.¶
- В автозаповнення зон, на вкладку "Автофейсинг" додати можливість виставити товар по прогнозованим продажам, задача - (посилання на окрему задачу) зараз пункт 2.
- Додати звіт, актуалізація прогнозованих продажів. Дані в звіті:
- Магазин
- Стелаж
- Дати від до в автофейсингу по прогнозованим продажам.
- Дата, коли потрібно змінити період в автофейсингу і переопублікувати обладнання.
- Звіт включає в себе усі планограми, які використовують прогнозовані продажі.
- Сортування відбувається по даті переопублікування, спочатку найближча до сьогоднішньої дата далі за зменшенням.
- Додати цей звіт в розсилки і в фільтрі дати можливість встановлювати за скільки днів від закінчення актуальності надсилати його.
#3 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Description updated (diff)
#4 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Description updated (diff)
#5 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Related to Task #5608: Backend. Прогнозні продажі імпорт з платформи added
#6 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Related to Task #5609: Backend. Прогнозні продажі API для обміну з фронтом added
#7 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Related to Task #5617: Додати аналітику по прогнозним продажам в режимі планограми по магазинах і по форматах added
#8 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Related to Task #5618: Додати вкладку Прогнозовані продажі в Автофейсинг added
#9 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Related to Task #5619: Додати прогнозні продажі в вкладку Аналітика в режимі плану залу added
#10 Updated by ♣ Ilya Lepkin-Titov 10 months ago
- Project changed from Consulting to Shelf dev
- Target version set to Release 110
#11 Updated by ♣ Aleksandr Bilousko 5 months ago
- Assignee changed from ♣ Ilya Lepkin-Titov to ♣ Aleksandr Bilousko
Створили задачу для платформи для створення таблиці, враховуючи дані:
Назва таблиці в платформі: forecastsales
Поля таблиці в БД:
date - дата розрахунку прогноза (поточна) - ключ
product_uid (item_uid) - ключ
store_uid - ключ
week_date - дата прогнозу (в майбутньому, дата початку тижня, понеділок) - ключ
sold_qty - прогнозні продажі в шт. в розрізі тижня (числове), з Інвенторі - базові продажі + промо продажі на 12 тижнів вперед
revenue - прогнозні продажі в грошах в розрізі тижня (числове), з Інвенторі - поле пусте
Очікується, що прогнозні продажі, надані клієнтом, будуть передаватися в файлі обміну forecastsales _<date>.csv
Поля файлу:
date - дата розрахунку прогноза (поточна)
item_uid
store_uid
week_date - дата прогнозу (в майбутньому, дата початку тижня, понеділок)
sold_qty - прогнозні продажі в шт. в розрізі тижня (числове), з Інвенторі - базові продажі + промо продажі на 12 тижнів вперед
revenue - прогнозні продажі в грошах в розрізі тижня (числове), з Інвенторі - поле пусте
#12 Updated by ♣ Aleksandr Bilousko 4 months ago
- Description updated (diff)
#13 Updated by ♣ Aleksandr Bilousko 3 months ago
- Project changed from Shelf dev to [EPIC] Прогнозні продажі
- Target version deleted (
Release 110)
#14 Updated by ♣ Aleksandr Bilousko 3 months ago
- Due date set to 25/02/2025
- Start date deleted (
01/07/2024)
#15 Updated by ♠ Valeriia Rublevskaia 2 months ago
- File picture594-1.png picture594-1.png added
1. Прогнозні продажі завантажені для магазинів 01_Иванова 16, 46_Зайцева 1-А, 015 - Tarnów, ul. Klikowska 85 по товарам з категорій
Кетчуп (рівень 2)
Groceries => Кетчуп (рівень 1) => Кетчуп (рівень 2)
і Майонез (рівень 2)
Groceries => Майонез (рівень 1) => Майонез (рівень 2)
2. Зі свого боку зробила аналітику. Перехожу до автонаповнення.
3. Від фронта чекаю властивість forecast, тип Булево, поки її немає встановила її значення в true, тобто зараз будуть перевірятись тільки прогнозні продажі, як з'являться таби з задачки 5584 і властивість, можна буде перевіряти і прогнозні і реальні продажі. Результат прогнозних даних вантажу поки в колонки таблички аналітики як по фактичним, бо не бачу сенсу їх розділяти вони все одно або ті приходять або ті. Якщо треба рознести, пишіть
4. Якщо при спробі отримати в аналітиці прогноз, отримуємо помилку, можливо це помилка в датах, просто фронт ще не робив свою частинку, а я перевірки вже додала. Читати про помилку тут:
#16 Updated by ♣ Aleksandr Bilousko 2 months ago
- Assignee changed from ♣ Aleksandr Bilousko to ♠ Aleksandr Tsymbalyuk
#17 Updated by ♠ Valeriia Rublevskaia about 1 month ago
Додала логіку автофейсингу по прогнозним. Поки не приходить налаштування forecast від фронта, рахую завжди по прогнозним, щоб поки можна було протестувати. Автонаповнення Саша казав поки не робити
#18 Updated by ♣ Katarina Herikh about 1 month ago
- Target version set to Release 111
#19 Updated by ♠ Aleksandr Tsymbalyuk 16 days ago
- Status changed from New to Ready for development
- Assignee changed from ♠ Aleksandr Tsymbalyuk to ♠ Valeriia Rublevskaia
Все написав у підпорядкованих окремих задачах.