Удаление выбросов (нормализация)

При анализе показателей продаж ритейловой компании так или иначе приходится иметь дело с расчетом средних показателей продаж на выбранный период. В большинстве случаев мы ищем ответы на вопрос, сколько в среднем в день мы продали товара за этот месяц или год? Этот один из основных показателей, позволяющих нам оценить эффективность работы отдела продаж и результата работы компании в целом и получить прогноз работы компании в будущем.

Для расчета средней продажи за месяц нам нужно: составить временной ряд продаж, сложить все проданные за каждый день товары, получив итоговое количество проданных товаров за этот месяц и поделить на количество дней в месяце.

Вроде бы все просто, но что если при сборе данных о месячных продаж вы видите, что есть дни, продажи которых явно выделяются на фоне остальных продаж в меньшую или большую сторону? Это могут быть нетипично большие продажи (или просадки в продажах), которые не характерны для обычного устоявшегося оборота товаров в вашей организации. Предположим, данные о продажах имеют следующий вид:


Сумма продаж за период – 141 штука.

Рассмотрим пример. Вы – продавец метизов. Несколько месяцев подряд вы продаете в среднем по 4 коробки шурупов различным контрагентам. При оформлении вы замечаете, что случаются дни, когда вы продали нетипично много товара (10, 12 штук). Ситуацию, когда объем продаж в один конкретный день превышает (или существенно меньше) среднедневной устоявшейся продажи мы и назовем «выбросом».

Зачем это нужно? В неочищенном от выбросов ряду, выбросы могут сильно изменить картину прогноза – существенно его завысить или занизить. Чтобы минимизировать риски некорректного прогноза на будущее6 мы должны привести его к некоему «общему знаменателю» — этот процесс и называется очисткой от выбросов или «нормализация».

На данном этапе нам нужно решить два вопроса:

  • Какие конкретно значения мы будем строго считать выбросами?

  • Что нам с этими выбросами делать дальше?

Сформулируем первую проблему таким образом: нужно установить коридор, значения за пределами которого, мы будем считать «выбросом».

В нашем примере мы рассказали, что устоявшаяся практика считать по среднему, но мы пойдем немного дальше – рассчитаем среднее по этому ряду (141 штук / 31 день), которое равняется 4.7 шт. / день. 

Теперь зададим границы коридора. Зададим границы коридора в процентах отклонения от среднего значения, таким образом: Если мы задаем границы коридора = 80%, то это означает что нижняя граница коридора (4.7 * 0.2) равна 0.94 штуки, а верхняя граница (4.7 * 1.8) равна 8.46 штукам. Это позволит нам определить, какие значения мы будем считать выбросами (те, что выходят за границу коридора).

Выглядеть это будет примерно так (Рис. 1):


После идентификации выбросов перед нами встает вторая задача – что нам с ними делать. Нам необходимо привести ряд для анализа к наиболее близкой к истории нашей деятельности форме. Для этого мы можем использовать следующие методы.

Удаление выбросов

Использование данного метода подразумевает, что любые атипичные значения, выявленные нами в этом месяце, являются нехарактерными для нашей деятельности и наиболее корректный подход при анализе будет тот, когда мы просто игнорируем данные об этих выбросах.

Это может быть ситуация, когда у нас не было остатков на складе и мы не могли продать товар, получили массу отрицательных выбросов. Либо обратная ситуация, когда пришел незапланированный клиент, который купил неожиданно много, но мы не рассчитываем в будущем что он придет еще раз.

Чтобы удалить выброс, мы проходимся по нашему ряду и считаем каждое значение, выходящее за границы коридора, равным нулю. Наш ряд при этом принимает следующий вид:


Сумма нового ряда – 101 шт. Среднее дневное – 3.37 штук.

Нормализация ряда

Использование данного метода предполагает, что любые атипичные значения, выявленные нами в этом месяце, являются нехарактерными для нашей деятельности. Нам не нужно их игнорировать, а стоит только сгладить их последствие до границ нашего ряда, предполагая, что аналогичные ситуации могут случиться в будущем.

Чтобы удалить выброс, мы проходимся по нашему ряду и каждое значение, выходящее за наш заданный коридор, считаем равным ближайшей границе этого коридора. Наш ряд при этом принимает следующий вид:


Сумма нового ряда – 139,54 шт. Среднее дневное – 4,65 штук.

Восстановление выбросов до нормальных значений

Наиболее близкий по результату к «ожидаемому» нами ряду метод. Использует сочетание двух предыдущих описанных методов. Сначала мы приводим ряд к состоянию «без выбросов», очищаем ряд по методу (1). Далее, для полученного нового очищенного ряда, мы высчитываем заново среднее значение (3.37 штук) и новый коридор отклонения для 80% (от 0,67 до 6,06). 

После этого, мы применяем (2) метод нормализации ряда, но с применением значений нового коридора для удаленных выбросов. Ряд получает следующий вид:


Сумма нового ряда – 128,6 шт. Среднее дневное – 4,29 штук.

Иллюстрации на графиках для различных методов очистки, по сравнению с исходным рядом, вы можете увидеть ниже:


Облачный сервис КОРУС | Управление запасами позволяет установить индивидуальные настройки удаления выбросов: как варианта удаления выбросов, так и коридора для конкретных товаров или товарных групп. Это позволяет достаточно точно прогнозировать будущее потребление товаров.


Если вы уже используете сервис КОРУС | Управление запасами, но у вас остались вопросы по настройке интерфейса и отчетов, напишите нам на wms@korusconsuting.ru.

Вы можете ознакомиться с функциональностью сервиса и оценить его эффективность на примере собственных данных.
Запросите бесплатный тестовый доступ к сервису и начните оптимизацию запасов прямо сейчас!

Задайте вопрос эксперту на нашем сайте или по телефону: +7 (495) 877-48-85.