Как выявить потери в продажах



    Пример анализа данных на основе продуктового магазина от Datawiz.io.

    Эта статья о том, как выявить потери в продажах. Потери в продажах — это дни, когда товар не продавался, или было продано аномально низкое количество единиц товара.

    Зачастую потери в продажах случаются из-за недостаточного количества заказанного товара. Также часто товар, имеющийся на складе, не выставляется на полки. Ежедневный анализ данных помогает своевременно обнаружить такой «провал» в продажах. Далее, устраняем проблему — контролируем работу отдела закупок, оптимизируем поставки, контролируем работу торгового персонала.



    Как это работает?

    Рассчитывать потери в продажах мы будем для товаров, которые не подпадают под такие условия:
    1. Если ежедневно продается меньше 5 единиц товара.
    2. Если количество дней с нулевыми продажами составляет больше чем 30% за период.

    ШАГ 1

    1. Считаем среднеарифметическое количество проданных единиц для каждого товара avg:
    image
    2. Считаем среднее квадратичное отклонение (std) для каждого товара:
    image
    a — количество проданных единиц товара в каждый день периода
    n — количество дней в периоде

    image
    Вероятность того, что продажи товара в истории продаж, при нормальном ходе событий, будут меньше чем средние продажи этого товара минус среднеквадратичное отклонение по продажах товара умноженные на 1,5, равнa 6,68%. 

    ШАГ 2

    Для определения убыточного дня, используем два критерия:
    — Количество проданного товара равно нулю.
    ИЛИ
    — Количество проданного товара аномально низкое
    qty < avg – (std * 1.5)
    qty — количество проданных единиц товара;
    avg — среднее арифметическое продаж для этого товара;
    std — среднее квадратичное отклонение по продажах для этого товара.

    ШАГ 3

    Подсчитываем количество недопроданного товара для каждого дня с аномально низкими продажами:
    lost_qty = avg – qty
    lost_qty – количество недопроданного товара за один убыточный день;
    avg — среднее арифметическое продаж для этого товара;
    qty — количество проданных единиц товара за один убыточный день.

    ШАГ 4

    Окончательная формула расчета потерь в продажах за выбранный период (месяц) выглядит так:
    lost_sales = sum(lost_qty) — сумма количественных потерь по всем дням с аномально низкими и нулевыми продажами за выбранный период.

    Для подсчета потерь по обороту, полученное количество «недопроданных» (или потерянных) товаров умножаем на среднюю цену этого товара. Произведя анализ по каждому товару в отдельности, можно отследить, сколько магазин потерял в обороте за период.

    Для магазина с 15 000 товаров (SKU) ущерб может составлять в среднем 40-80 тыс.грн. в месяц.

    Анализ потерь в продажах на реальном примере.


    Производим вычисления для товара «Хлеб Тостерный» за период с 01.01.2013г. по 31.01.2013г.:

    ШАГ 1

    Среднее арифметическое продаж avg = 36 шт./день
    Среднее квадратичное отклонение std = ~20,7 шт.

    ШАГ 2

    Подставляем в формулу avg – (std * 1.5) полученные данные: 36 – (20,71,5)=~5. Это значит, что если продажи составляют меньше 5шт. в день (qty<5), то этот день «убыточный».
    image

    ШАГ 3

    Произведя анализ данных за месяц, получаем 4 потерянных дня:

    20.01 – день с продажей 1шт. (qty=1). Для подсчета потерь в этот день используем формулу lost_qty = avg – qty. lost_qty = 36-1=35шт.

    11.01; 13.01; 19.01 – дни с нулевыми продажами (qty=0). lost_qty = avg – 0. lost_qty=36–0=36шт.

    ШАГ 4

    Подсчитаем суммарное количество потерь в продаже за период:
    lost_sales = sum(lost_qty)
    lost_sales = 35 + (3 * 36) = 143шт.

    Это и есть то количество товара, которое магазин мог продать, но по тем или иным причинам товара не было на полках. При средней цене на «Хлеб Тостерный» 3,83 получаем потери в обороте – 548,50 грн.

    Такие несложные математические вычисления позволяют производить ежедневный анализ и своевременно реагировать на изменения в динамике продаж.
    Это также удобный инструмент контроля работы персонала и увеличения доходности магазина без дополнительных вложений.
    datawiz.io 17,85
    Компания
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 11
    • +3
      Вычисления несложные, Вы правы, но необоснованные. Почему Вы решили, что распределение будет нормальным? Почему вы выбрали 1.5 сигмы? Цитирую: «Вероятность того, что продажи товара в истории продаж, при нормальном ходе событий, будут меньше чем средние продажи этого товара минус среднеквадратичные продажи товара умноженные на 1,5, равнa 91%». Во-первых, что такое среднеквадратичные продажи? Так не говорят. Во-вторых, вы, наверное, имели ввиду не 91%, а 9%, а то у Вас почти все продажи были бы «аномально низкими». И в-третьих даже с 9% Вы не правы — это вероятность того, что продажи будут либо аномально низкими, либо аномально высокими. Вероятно, Вы хотели написать 4.5%.
      Раз уж залезли в область мат. статистики и решили писать об этом статью, желательно все-таки в этой теории разбираться.
      • 0
        1. Выбрали 1,5 сигмы эксперементальным путем.
        2. С 91% ошиблись, исправили на 9%. Среднеквадратические продажи исправили. Спасибо.
        3. Правильно 9% потому-что мы ищем только аномально низкие продажи: 0.1+2.1+(13.6/2)=9, мы смотрим только левую сторону график
        • +2
          Насчет третьего, Вы, надеюсь, шутите. Это так Вы считаете вероятность?
          Я подскажу. Для подсчета вероятности выхода за нижнюю границу мю-1.5 сигмы нужно брать определенный интеграл от функции плотности нормального распределения с пределами -бесконечность и мю-1.5 сигмы. И в Вашем случае она составит около 6.68%.
          • 0
            Да вы правы, для точного подсчета вероятности нужно интегрировать. Я же указал примерное значение. Но для практичекого результата 2.32% разницы не имеют почти никакого значения. В статье исправили.
            • 0
              Еще интересно было бы проверить, какое распределение лучше описывает продажи. Я лично отдал бы предпочтение гипотезе о бета-распределении (см. логистическая кривая), а не о нормальном. Но тут нужно брать данные и примерять.
        • 0
          И всё же — хороший подход, хотя, как написал The_Freeman — не все прописано до конца, но меня собственно интересует именно общее понимание процесса. У Вас есть ещё какие-то наработки в этой области? Было бы интересно.
          • 0
            Статья описывает как работает один из функционалов нашего сервиса. Вот еще одна статья в нашем блоге datawiz.io/ru/blogs12/. Мы делали еще очень много чего интерестного — прогнозирование продаж, оптимизацию управления запасами, деревья решений и т.д., но не хватает времени все это описать. В будующем появятся новые статьи.
            • 0
              Круто: подписался на Вас — тема больно уж мне близкая. Прочитаю, поделюсь впечатлениями.
              • 0
                Спасибо, на сайте можно взять демо — пощупать. Будут вопросы, пишите.
          • 0
            как правильно указали выше, где проверка нормальности распределения? без этого оценка стат.выбросов по нижней границе бесмысленна. какой фактический профит бизнесу от притянутого за уши алгоритма оценки упущенной выгоды?
            • 0
              Вот-вот. Почему нормальное, а не бета или например не Паретовское? Кто сказал?

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое