Два товара из восьми держат 47 % склада и дают 3 % продаж: оборачиваемость товара по остаткам за вечер
Содержание
В кассе пусто, а на полках товара на 86 тысяч по закупке. Остатки и продажи за месяц у вас уже есть, в программе или в тетради. Ниже - как за вечер превратить их в одну цифру по каждой позиции: сколько дней товар лежит до продажи, где деньги застряли и что с этим делать. Считаем на восьми позициях магазина хозтоваров, половину работы отдаём бесплатному ГигаЧату и разбираем, где он ошибся.
КороткоОборачиваемость в разах = себестоимость проданного за период ÷ средний запас по закупке, где средний запас = (остаток на начало + остаток на конец) ÷ 2. В днях = дни периода ÷ разы. Считать по закупочным ценам, по каждой позиции отдельно и по магазину целиком в рублях. ГигаЧат считает восемь позиций за 13 секунд без ошибок в арифметике, но приписывает данным причины, которых там нет, и не замечает товар, лежавший не весь месяц.
Если остатки и продажи у вас в 1С или в кабинете маркетплейса, а считать нужно каждую неделю по сотням позиций - такую таблицу я собираю под ключ и подключаю к выгрузке.
Обсудить проект →Что такое оборачиваемость товара и в чём её считать
Оборачиваемость отвечает на один вопрос: сколько раз за период вы продали свой средний запас. Полка лампочек стоит 6 000 ₽ по закупке, за месяц через неё прошло лампочек на 11 400 ₽, значит, полка обновилась 1,9 раза. Та же цифра в днях удобнее для решений: 30 ÷ 1,9 = 15,8, то есть каждые шестнадцать дней деньги, вложенные в лампочки, возвращаются в кассу.
| Что считаем | Формула | Лампочки |
|---|---|---|
| Средний запас | (остаток на начало + остаток на конец) ÷ 2 × закупочная цена | (120 + 80) ÷ 2 × 60 = 6 000 ₽ |
| Себестоимость проданного | продано × закупочная цена | 190 × 60 = 11 400 ₽ |
| В разах | себестоимость проданного ÷ средний запас | 11 400 ÷ 6 000 = 1,9 |
| В днях | дни периода ÷ разы | 30 ÷ 1,9 = 15,8 |
Обе стороны дроби берутся по закупочной цене. Если запас оценить по закупке, а продажи взять по розничной цене, оборачиваемость раздуется ровно на наценку: у шланга вместо честных 0,07 раза получится 0,12, и товар, который лежит больше года, покажется вдвое живее. По одной позиции можно считать в штуках, потому что цена в числителе и знаменателе одна и та же и сокращается. По магазину целиком только в рублях: штуки лампочек и конвекторов не складываются.
У этой метрики несколько имён. В бухгалтерской отчётности её зовут оборачиваемостью запасов, в отчёте поставщика или маркетплейса - оборачиваемостью склада, а коэффициент оборачиваемости - это та же цифра в разах, у лампочек 1,9. Товарные запасы в таких формулировках означают всё тот же средний запас. Название меняется, формула нет. Путаница начинается там, где в одном отчёте стоят сразу разы и дни: показатель один, просто повёрнут другой стороной. Считает всё это ИИ за минуту, если дать ему четыре числа по позиции.
Как посчитать оборачиваемость товара по шагам
- Шаг 1. Соберите четыре числа по каждой позиции за один месяцОстаток на первое число, остаток на последнее, сколько продано, закупочная цена. Всё это есть в отчёте по остаткам и в отчёте по продажам, в 1С, МоёмСкладе, Эвоторе или в тетради. Цена продажи для расчёта не нужна, и лучше её в таблицу не тащить: в прогоне ниже видно, как лишняя колонка провоцирует считать по ней.
- Шаг 2. Посчитайте средний запасСкладываете остаток на начало и на конец, делите пополам, умножаете на закупку. Мешки для мусора: (200 + 140) ÷ 2 = 170 рулонов × 35 ₽ = 5 950 ₽. Брать только конечный остаток нельзя: у перчаток он 110, а средний 130, разница в 18 % ложится прямо на результат.
- Шаг 3. Разделите и переведите в дниСебестоимость проданных мешков 310 × 35 = 10 850 ₽, делите на 5 950, получаете 1,82 раза, 30 ÷ 1,82 = 16,5 дня. Читается так: запас мешков рассчитан на шестнадцать дней торговли, и если поставщик привозит раз в две недели, вы держите ровно столько, сколько нужно.
- Шаг 4. Сложите магазин целиком в рублях, а не в дняхСредний запас по всем восьми позициям 85 975 ₽, себестоимость проданного 63 780 ₽, 63 780 ÷ 85 975 = 0,74 раза, 30 ÷ 0,74 = 40,4 дня. Соблазн взять среднее дней по строкам даст 82 дня и обманет: там шланг с его 435 днями весит столько же, сколько мешки, хотя мешков продали на 10 850 ₽, а шлангов на 1 800.
Четыре шага на восемь позиций занимают у человека полчаса с калькулятором. Нейросети хватает пятнадцати секунд, если в запросе прописан метод, а не только слово «оборачиваемость». Вот запрос, которым я считал:
Ответ придёт таблицей и списком зависших с объяснениями. Проверять в нём три вещи: суммы по магазину, дни у позиций, которые лежали не весь месяц, и объяснения: их нейросеть дописывает от себя. Что пришло у меня:
| Товар | Средний запас, ₽ | Продано по закупке, ₽ | Разы | Дни |
|---|---|---|---|---|
| Лампочка LED | 6 000 | 11 400 | 1,90 | 15,8 |
| Мешки для мусора | 5 950 | 10 850 | 1,82 | 16,5 |
| Швабра с отжимом | 10 560 | 6 720 | 0,64 | 47,1 |
| Шланг садовый | 26 100 | 1 800 | 0,07 | 434,3 |
| Конвектор (с 20 сентября) | 12 600 | 12 600 | 1,00 | 30,0 |
| Средство для посуды | 7 125 | 14 250 | 2,00 | 15,0 |
| Гирлянда ёлочная | 14 000 | 0 | 0,00 | - |
| Перчатки | 3 640 | 6 160 | 1,69 | 17,7 |
| Магазин | 85 975 | 63 780 | 0,74 | 40,5 |
Все восемь строк совпали с моим расчётом. Две цифры чуть уехали из-за раннего округления: шланг 434,3 вместо 435 и магазин 40,5 вместо 40,4, потому что ГигаЧат округлил коэффициент до двух знаков и только потом делил. Для отчёта это терпимо, для таблицы нет, и в разделе про формулы округление убрано. Гирлянду с нулём продаж он не стал делить на ноль и поставил прочерк, это правильно. А дальше начались добавления: шланг «не продавался последние две недели сентября», хотя в таблице нет разбивки по неделям, и швабра «неэффективно использует складские площади» при 47 днях, хотя никакой нормы для швабр ему никто не давал. Шланг и гирлянда вместе держат 40 100 ₽ из 85 975, то есть 47 % среднего запаса, а продаж дали 1 800 из 63 780, меньше трёх процентов. Эту пару и нужно разбирать, но по-разному.
Где нейросеть ошибается и как поймать это вторым запросом
Первый ответ выглядит готовым отчётом, и в этом его опасность. Три места, где он врёт или недоговаривает, видны только тому, кто знает свой товар. Конвектор поступил 20 сентября, это написано в самой таблице, но ГигаЧат посчитал его на 30 дней и получил ровно 30 дней оборачиваемости, будто конвектор такой же вялый, как швабра. По факту двенадцать штук пришли и шесть ушли за десять дней: это самая быстрая позиция месяца, и её надо дозаказывать, а не распродавать. Гирлянда с нулём продаж объявлена зависшей, но у ёлочного товара в сентябре ноль продаж - норма, а не диагноз. И шланг: тут диагноз верный, но подпёрт выдуманным наблюдением про две недели.
Ловится это одним проверочным запросом в том же чате, где нейросеть считала. Спрашивать нужно по точкам, а не «проверь себя»:
В ответ приходит разбор по пунктам и таблица заново. У меня цены и суммы по магазину подтвердились словом «верно», и это правда. Конвектор пересчитан: «на полке 11 дней, с 20 по 30 сентября включительно, оборачиваемость 11 дней», в таблице оставлены 30 «для сопоставимости», а разница вынесена в примечание. Так и надо делать: отдельный столбец «дней на полке», а не правка общего периода. А вот гирлянду ГигаЧат не отдал: «названа зависшей абсолютно верно, нулевые продажи за первый месяц активного завоза - главный признак». Завоза не было: остаток 40 в начале и 40 в конце. Нейросеть придумала обстоятельство, чтобы не менять вывод. Правило для зависшего товара простое: продаж нет, и сезон уже прошёл, а не ещё не наступил. Под него попадает шланг, не гирлянда.
Отдельно я проверил, что будет, если написать так, как пишут обычно: «посчитай оборачиваемость товара по этой таблице», без метода. В свежем чате ГигаЧат посчитал только разы в штуках, дни не выдал вовсе, магазин целиком не сложил, а конвектору поставил средний остаток 3 штуки вместо 6, объяснив, что «реальный остаток был ниже», хотя откуда взялась тройка, из ответа не следует. Половина работы осталась вам: без метода в запросе приходит черновик, и отчёт из него вы дописываете сами.
Какая оборачиваемость считается нормальной
Ни одной цифры нормы в этой статье нет, и это сознательно. Единой нормы для «магазина хозтоваров» не существует: мешки для мусора и конвектор живут по разным законам, и даже одинаковые мешки в магазине у метро и в дачном посёлке крутятся по-разному. Зато у вас есть три мерки из собственных условий, и они честнее любой таблицы из интернета.
Первая мерка - отсрочка поставщика. Если вы платите за товар через 21 день после поставки, а позиция оборачивается за 40, то девятнадцать дней вы кредитуете полку из своих денег. Оборачиваемость короче отсрочки означает, что товар оплатил себя сам до срока платежа. Вторая - срок поставки. Если партия едет десять дней, а позиция оборачивается за семь, полка опустеет раньше, чем приедет следующая, и короткая оборачиваемость здесь означает недозаказ. Третья - вы сами год назад: та же позиция в том же месяце. Швабра с её 47 днями по этим меркам не зависла: 14 продаж в месяц и запас на полтора месяца при поставке раз в месяц - рабочее состояние. При поставке раз в неделю она держит лишний месяц денег, и закупку стоит урезать вдвое.
На вопрос «какая нормальная оборачиваемость для магазина хозтоваров, назови цифры и откуда они» ГигаЧат выдал таблицу по категориям с диапазонами дней и сослался на два сайта, включая «средний показатель 27 дней у работающих магазинов». Открыть эти ссылки из чата и убедиться, что цифры там есть, я не смог, поэтому в статье их не повторяю. В том же ответе он написал, что у шланга «более 1 400 дней» оборачиваемости, тогда как в его же расчёте выходит 30 ÷ 0,07 = 428. Диапазоны нормы из чата берите только после того, как сами открыли источник и увидели цифру глазами.
Как собрать таблицу, которая считает сама
- Шаг 5. Разложите данные по столбцамВ Google Таблицах или Excel: A товар, B остаток на начало, C остаток на конец, D продано, E закупочная цена. Данные со второй строки, длина периода в днях в отдельной ячейке, например N1, чтобы менять 30 на 31 или на 7 без правки формул. Строка под данными - итог по магазину.
- Шаг 6. Попросите формулы и сверьте их с ручным расчётомЗапрос ниже описывает столбцы и требует защиту от деления на ноль и подсветку зависшего. Все девять формул из ответа я сверил с расчётом из шага 4: значения совпали до рубля, включая 435 дней у шланга, потому что таблица не округляет коэффициент по дороге.
Что пришло и что вставлять:
| Ячейка | Формула | Что делает |
|---|---|---|
| G2 | =(B2+C2)/2 | средний запас в штуках |
| H2 | =G2*E2 | средний запас в рублях |
| I2 | =D2*E2 | себестоимость проданного |
| J2 | =IF(H2=0; 0; I2/H2) | разы, защита от пустого запаса |
| K2 | =IF(D2=0; "нет продаж"; $N$1/J2) | дни, текст вместо ошибки при нуле продаж |
| H10, I10 | =SUM(H2:H9), =SUM(I2:I9) | итог по магазину в рублях |
| J10, K10 | =IF(H10=0; 0; I10/H10), =IF(I10=0; "нет продаж"; $N$1/J10) | разы и дни магазина из сумм |
| Формат A2:K9 | =AND(ISNUMBER(K2); K2>60) | красная строка, если дней больше 60 |
Две оговорки к готовой таблице. Первая: если позиция пришла и целиком ушла за месяц, остатки 0 и 0 дадут «0 оборотов», хотя товар продавался лучше всех; такие строки считайте по приходу или разбивайте месяц на недели. Вторая: порог 60 дней - мой, для подсветки в примере. Поставьте туда свою отсрочку поставщика, и красным загорится ровно то, что вы оплачиваете из своих. Для позиций, лежавших не весь период, добавьте столбец L «дней на полке» и в K делите на него вместо N1.
Что делать с зависшим товаром: три варианта с цифрами
Шланг: 29 штук по 900 ₽ закупки, 26 100 ₽ на полке до апреля, две продажи за сентябрь. Вопрос не «плохой ли это товар», а «что дешевле: держать деньги в нём семь месяцев или вернуть часть сейчас». Нейросеть умеет разложить варианты, если запретить ей додумывать спрос:
Пришло три варианта таблицей, и проверять их пришлось по одному. Распродажа по 1 190 ₽: вернётся 34 510 ₽, из них 26 100 закупка и 8 410 прибыли вместо 20 010 при полной цене, недополучено 11 600. Всё верно. Возврат поставщику 25 штук по закупке: 22 500 ₽ деньгами или зачётом, 17 250 недополученной прибыли, четыре штуки на 3 600 остаются под редкие зимние запросы. Тоже верно, только вариант «перебросить в филиал южного региона» придуман: филиалов в условии нет. Наборы по 1 800 ₽ со «опрыскивателем из ассортимента» рассыпались: опрыскиватель ГигаЧат добавил сам, его себестоимость не учёл, а «упущенную маржу» посчитал как 4 060 ₽, хотя по его же формуле (1 590 − 900) × 29 = 20 010. Из трёх вариантов два считаются верно, один надо пересчитывать, и без калькулятора под рукой вы бы этого не увидели.
Выбор между «вернуть 22 500 сейчас» и «получить 46 110 к маю» решается вашей ценой денег. Умножьте 26 100 на свою ставку по кредиту или на процент, который просит поставщик за просрочку, и на семь двенадцатых года. Если полученная сумма меньше 17 250, шланг выгоднее оставить. Если вы и так закрываете разрывы из личных денег, цена ожидания выше любой ставки, и возврат выигрывает.
- Четыре числа по каждой позиции за один месяц: остаток на начало, на конец, продано, закупочная цена.
- Средний запас через полусумму остатков, а не через конечный остаток.
- Обе части дроби по закупочным ценам, колонка цен продажи в таблицу не идёт.
- Магазин целиком считается из сумм в рублях, а не как среднее дней по строкам.
- Позиции, которые лежали не весь месяц, считаются по своим дням на полке.
- Зависший товар - без продаж после сезона; без продаж до сезона - нет.
- Каждое объяснение нейросети сверено с таблицей: чего нет в данных, того нет и в выводах.
- Порог подсветки в таблице - ваша отсрочка поставщика, а не чужая норма.
Оборачиваемость показывает, что лежит; какие позиции при этом приносят деньги, показывает ABC-анализ за вечер на 30 позициях. Закупочная цена для расчёта берётся из себестоимости, посчитанной честно, а прибыль с каждой штуки - в юнит-экономике на одной строке таблицы. Акт расхождения и заявку поставщику по тем же остаткам собирает нейросеть на складе. Как заставить таблицу считать формулами по вашему описанию, разобрано в бесплатном гайде «Эксель без формул: запросы к нейросети словами», а карточку под зависший товар для распродажи собирает гайд «Карточка товара из фото на телефон». Если ещё не считали, как быстро оборачивается ассортимент - подробный разбор.
Как посчитать оборачиваемость товара в днях?
Средний запас = (остаток на начало + остаток на конец) ÷ 2, умножьте на закупочную цену. Себестоимость проданного = продано × закупочная цена. Разы = себестоимость проданного ÷ средний запас, дни = дни периода ÷ разы. Лампочки: 100 штук × 60 ₽ = 6 000 ₽ запаса, 190 × 60 = 11 400 ₽ продано, 11 400 ÷ 6 000 = 1,9 раза, 30 ÷ 1,9 = 15,8 дня.
По каким ценам считать - по закупочным или по продажным?
По закупочным, и запас, и проданное. Если запас взять по закупке, а продажи по розничной цене, результат раздуется на величину наценки: у шланга вместо 0,07 раза выйдет 0,12. Колонка с ценой продажи в расчёте не участвует.
Что делать, если продаж за период не было?
Разы равны нулю, а дни не считаются: делить на ноль нельзя, и формула в таблице выводит «нет продаж». Зависший это товар или сезонный, решается по календарю: гирлянда с нулём продаж в сентябре ждёт декабря, шланг с двумя продажами после сезона полива лежит до апреля.
Какая оборачиваемость товара считается нормальной?
Единой нормы нет. Три мерки из ваших условий: отсрочка поставщика (оборачиваемость длиннее отсрочки означает, что полку вы кредитуете сами), срок поставки (оборачиваемость короче срока поставки означает пустую полку) и та же позиция в том же месяце прошлого года.
Можно ли считать оборачиваемость в штуках?
По одной позиции можно, при одной закупочной цене результат в штуках и в рублях совпадает. По магазину целиком только в рублях: штуки разных товаров не складываются, а среднее дней по строкам даёт 82 дня вместо честных 40.
Как считать товар, который поступил в середине месяца?
Делить не на 30 дней, а на дни, которые товар лежал на полке. Конвектор пришёл 20 сентября: по формуле на 30 дней выходит 30 дней оборачиваемости, по факту 10-11. В таблице заведите столбец «дней на полке» и для таких строк считайте дни из него.
Оборачиваемость запасов и оборачиваемость товара - это одно и то же?
Да, это одна метрика под разными именами. Оборачиваемость запасов - формулировка из бухгалтерской отчётности, оборачиваемость склада - из отчётов поставщиков и маркетплейсов, товарные запасы там же означают средний запас. Формула от смены названия не меняется. Меняется охват. По одной позиции считают в штуках, по магазину целиком - лишь в рублях.
Что показывает коэффициент оборачиваемости?
Это оборачиваемость в разах. У лампочек 11 400 ÷ 6 000 = 1,9: за месяц полка продала свой средний запас почти дважды. Дни выводятся из него делением, 30 ÷ 1,9 = 15,8. Разы удобнее, когда позиции сравнивают между собой в одной таблице, а дни - когда разговор про деньги: шестнадцать дней означают, что вложенное в лампочки возвращается в кассу за две недели с небольшим.
ABC-анализ за вечер: 13 позиций из 30 приносят 80 % денег, а полка забита всеми
Торт за 2 400 ₽ принёс 19 рублей: считаем себестоимость честно
Кружка за 1 290 ₽ приносит 307 ₽, а в акции за 1 090 - только 158: юнит-экономика селлера на одной строке таблицы
Оборачиваемость по всем позициям каждую неделю, без ручной сверки
Восемь строк считаются за вечер. Когда позиций триста, остатки в 1С, продажи в кабинете маркетплейса, а часть товара приходит посреди недели, ручной расчёт умирает на второй месяц. Я собираю таблицу или отчёт, который забирает остатки и продажи из ваших систем, считает дни по каждой позиции с учётом дней на полке, подсвечивает то, что вы оплачиваете из своих, и по зависшему предлагает варианты с цифрами. Напишите, какая у вас учётная система и сколько позиций, и я скажу, что из этого можно собрать и за сколько.
Обсудить проект