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

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

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

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

1

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

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

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

На данном этапе нам нужно решить два вопроса: 1) какие конкретно значения мы будем строго считать выбросами; 2) что нам с этими выбросами делать дальше.

Сформулируем первую проблему таким образом: нужно установить коридор, значения за пределами которого, мы будем считать «выбросом». В моем примере я предположил, что устоявшаяся практика считать, что в среднем в день мы продаем по 4 штуки товаров, таким образом можно было бы оттолкнуться то этого значения, но мы пойдем немного дальше – рассчитаем среднее по этому ряду (141 штук / 31 день), которое равняется 4.7 шт. / день. Теперь зададим границы коридора. Устоявшаяся практика в том, чтобы задавать границы коридора в процентах отклонения от среднего значения, таким образом, если мы задаем границы коридора = 80%, то это означает что нижняя граница коридора (4.7 * 0.2) равна 0.94 штуки, а верхняя граница (4.7 * 1.8) равна 8.46 штукам. Это позволит нам строго определить какие значения (те, что выходят за границу коридора) мы будем считать выбросами.

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

2

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

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

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

3

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

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

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

4

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

  1. Восстановление выбросов до нормальных значений. Наиболее близкий по результату к«ожидаемому» нами ряду метод. Использует сочетание обоих предыдущих описанных нами методов.

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

5

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

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

6

Система управления запасами Mycroft Assistant позволяет установить индивидуальные настройки удаления выбросов – как варианта удаления выбросов, так и коридора — для конкретных товаров или товарных групп. Это позволяет достаточно точно прогнозировать будущее потребление товаров.

7

Настройки нормализации влияют на следующий анализ:

— на Управление Запасами (информацию о котором вы можете прочитать по ССЫЛКЕ);

— на Планирование (информацию о котором вы можете прочитать по ССЫЛКЕ и ССЫЛКЕ);

Если Вы хотите начать работу в системе Mycroft Assistant, Вам необходимо пройти регистрацию по ССЫЛКЕ и следовать дальнейшим инструкциям.