Дашборд розничной сети: магазин × товар × день
Показываем, какие вопросы должен закрывать дашборд сети и как свести продажи и остатки к одной строке без ложных выводов.
У сети два магазина. Оба продают один товар, но в первом вечером остаток ноль, а во втором — восемь штук. Руководителю нужен ответ: где проверить пополнение и чем объясняется разница продаж. Такой вопрос теряется в отдельном отчёте по чекам и отдельном отчёте по остаткам. Дашборд соединяет показатели, сохраняя возможность открыть документы, из которых они получены.

Какие вопросы вынести на первый экран
Покажите продажи и возвраты сети за выбранный период, динамику по дням и сравнение магазинов. Рядом — число чеков и средний чек с одинаковой формулой для всех точек. Для товарного ряда добавьте продажи в штуках, остаток на конец дня и дни, когда он был нулевым. Обязательно укажите момент обновления каждого источника: быстрый график с устаревшим остатком может вести к неверному решению.
| Показатель | Исходные данные | Уровень и правило |
|---|---|---|
| Продажи и возвраты | Розничные документы и позиции | День операции × точка × товар; возврат показывать отдельно |
| Остаток на конец дня | Проведённые движения и срез на дату | Склад × товар × день, одна согласованная граница суток |
| Чеки и средний чек | Розничные продажи | Точка × день; не суммировать средние по магазинам |
| Дни с нулевым остатком | Проверенная история ежедневных срезов | Считать подтверждённые нули; пустую строку не считать нулём |
Средний чек сети считайте как общую сумму чеков продаж, делённую на общее число таких чеков. Складывать средние чеки магазинов нельзя: магазин с десятью и магазин со ста чеками имели бы одинаковый вес. Формулы для чеков и смешанных оплат разобраны отдельно.
Как получить строку «магазин × товар × день»
Начните с таблицы позиций розничных продаж: один товар в одном документе. Определите дату операции в одном часовом поясе, точку продаж и идентификатор товара или модификации. Возвраты соберите отдельно по дате возврата; не теряйте ссылку на исходную продажу. Сгруппируйте продажи и возвраты по ключу «точка × товар × день», получив количества и суммы.
Остаток на конец дня рассчитывается по проведённым складским движениям для конкретного склада и товара. Сверяйте один уровень номенклатуры: если продажи разделены по модификациям, остаток тоже нужен по модификациям, а не только итог по базовому товару. Проверьте связь точки со складом на дату операции. Если две точки используют общий склад, показывайте запас отдельно на уровне склада: приписывать его каждой точке и суммировать нельзя. Распределять запас между точками можно лишь по подтверждённому правилу учёта. Историю ежедневных срезов и влияние документов задним числом мы разбираем в статье об остатках МойСклад.
Теперь соедините два набора на согласованном ключе. Если к одной строке остатков напрямую присоединить несколько позиций чеков, остаток повторится и сумма по сети станет неверной. Сначала убедитесь, что в каждом наборе на ключ приходится не больше одной строки. Сформируйте полную сетку нужных дат и товаров: товары без продаж сохраняйте, а отсутствие строки остатка не превращайте автоматически в ноль. Нулевой день засчитывайте после проверки исходных движений и правил отчёта.
Что означает нулевой остаток
Подтверждённый нуль на конец дня — факт о выбранном моменте, если исходные движения полны и корректны. Он не показывает, в котором часу товар закончился и сколько покупателей ушло без покупки. Отсутствие продаж при нулевом остатке тоже не доказывает спрос. Пометьте день как повод открыть складские движения, продажи соседних точек, заказы и правила пополнения.

Если захотите оценить риск дефицита, сначала задайте наблюдаемые признаки: сколько дней товар был недоступен, были ли заказы без выполнения, продавался ли он в похожей точке. Упущенную выручку можно оценивать только с оговорками к модели и качеству данных. Не добавляйте в дашборд точную цифру «потеряли X ₽» из одного нулевого среза.
Как проверить дашборд до запуска
Возьмите один день, один магазин и два товара. Сумму продаж сверьте со списком розничных продаж по точке и периоду, возвраты — с их документами. Остаток на конец дня сравните с отчётом «Остатки» на ту же дату, при том же складе и определении «остаток» или «доступно». Затем пересчитайте итог сети из строк и убедитесь, что число чеков не выросло из-за соединения с товарными позициями.
Зафиксируйте, когда были обновлены продажи и история остатков. Если вчерашний день изменился после исправления документа, сохраните причину и проверьте расхождение по ID. Только после такой сверки имеет смысл расширять первый экран на всю сеть.
Частые вопросы
Какие показатели нужны директору розничной сети?
Для первого экрана достаточно продаж и возвратов по точкам, числа чеков и среднего чека, остатка на конец дня и списка товаров с нулевым остатком. Каждый показатель должен иметь определение и время обновления; детали открываются по магазину, товару и дню.
Можно ли собрать всё одним отчётом МойСклад?
МойСклад уже показывает продажи, смены и остатки в своих разделах. Для одной таблицы с продажами и остатком по каждому магазину, товару и дню обычно готовят отдельный слой данных и согласуют соответствие точки продаж складу. Сначала проверьте, что нужного разреза нет в ваших штатных отчётах.
Как связать продажи с остатками и не удвоить сумму?
Сначала агрегируйте товарные позиции продаж и возвратов до ключа «магазин × товар × день». Отдельно получите один остаток по тому же товару и складу на конец дня. Проверьте соответствие точки складу на эту дату: если две точки используют общий склад, запас нельзя приписать каждой и сложить. Показывайте такой запас отдельно либо по подтверждённому правилу распределения.
Нулевой остаток означает упущенные продажи?
Нет. Подтверждённый нуль на конец дня показывает состояние на выбранный момент. Отсутствующая строка в истории не равна нулю. Даже доказанный нуль не говорит, сколько покупателей хотели купить товар и когда запас закончился; для оценки спроса нужна отдельная методика.
Почему вчерашний график может измениться?
Розничную продажу, возврат или складской документ могли изменить задним числом, а выгрузка могла обновиться позже штатного отчёта. Сравните время снимка, фильтры и ID документов, затем пересчитайте затронутые даты.