Библиотека управления

Доработка алгоритма прогнозирования объема продаж

Бондаренко А.В. Специалист-аналитик по исследованию товарного рынка ООО "УБС"
Магистрант кафедры "Прикладная экономика" Донецкого Национального Университета (Украина)
iscariot@rambler.ru

Столкнувшись с методикой предложенной Кошечкиным С.А., был крайне признателен автору, поскольку аналогичных материалов не так уж и много. Особенно интересно было изучение сезонных колебаний автором статьи, т.к. предприятие, работником которого я являюсь, продает самый что ни на есть сезонный товар – строительные материалы.

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

Методика, предложенная Кошечкиным С.А., сочетает в себе и простоту, и адекватность анализа. Особенно важно отметить актуальность работы в MS Excel, как наиболее доступном и простом для понимания программном продукте.

Однако изучение алгоритма автора и внедрение его в работе предприятия показало на некоторые недоработки. О них и пойдет речь в данной статье.

Пропустим вступление об аддитивных и мультипликативных моделях, т.к. оно представляет теоретическую базу, с которой можно ознакомиться в самой статье и начнем с анализа алгоритма прогнозирования объемов продаж. В результате анализа алгоритма, в первой части статьи будет предложен его доработанный вариант.

Вторым разделом статьи будет использование доработанного алгоритма на примере, который  предоставил Кошечкин С.А.

1. Определение тренда . Первым шагом в построении модели является выбор линии тренда. Автор утверждает, что выбор полиномиальной линии тренда дает наиболее точную модель, опираясь на коэффициент детерминации, как критерий оценки всей модели в целом. Однако он пропускает тот факт, что точность модели зависит не только от ошибок моделирования тренда, но и от ошибок моделирования сезонных колебаний. Другими словами, модель F=T+S+E  (F – значения модели,  T – значения линии тренда, S – значения сезонной компоненты, E – величина ошибок) зависит от двух ключевых параметров Т и S, а не только от Т, как утверждает автор. Параметр Е определяет доверительный интервал модели и дает возможность анализировать точность построенной модели.

Выбор наиболее точной линии тренда  (Т) с высоким коэффициентом детерминации не является достаточным условием построения оптимальной модели. При росте коэффициента детерминации уменьшается ошибка тренда, но не модели в целом. Таким образом, автор отсекает альтернативные модели, утверждая, что они заранее менее точны, опираясь при этом на данные анализа одного параметра всей модели – тренда (T). 

2. Определение величин сезонной компоненты.Необходимо учитывать также ошибки сезонных колебаний (S), которые характеризуются суммой средних величин сезонной компоненты. Чем дальше от 0 значение суммы колебаний сезонной компоненты, тем больше ошибка параметра S. Кстати говоря, автор сообщает о том, что перечень товаров, относящихся к сезонным достаточно велик, но не рассказывает о том, как определить относится ли товар, продаваемый предприятием, к сезонному.

Таким образом, выбирая линию тренда, характеризующую общую тенденцию развития изучаемого явления, необходимо также рассчитывать сезонную компоненту (S) и смотреть на сколько сильно сумма средних значений S отклоняется от 0. Если эта величина близка к 0, то можно утверждать, что продажи действительно имеют сезонный характер и товар, следовательно, можно называть сезонным.

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

Итак, если мы уже определили, что в модели существует сезонность (сумма значений S близка к 0), то период сезонности рассчитывается как средняя арифметическая между количеством отрицательных и положительных значений сезонной компоненты.

3. Расчет ошибок модели. Изучив поведение сезонной компоненты можно переходить на следующий этап моделирования – расчет ошибок построенной модели. Ошибки рассчитываются по формуле:

E=F-T-S,

при этом вместо значений  F подставляются фактические значения объемов продаж.

После нахождения среднеквадратической ошибки модели мы можем делать вывод о точности модели в целом.

4.Построение прогноза. Когда мы определили самую точную модель мы можем перейти на этап прогнозирования, который также описан автором не полностью.

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

Существует также ряд неясностей в ходе дальнейшего прогнозирования:

Почему взяты данные за январь (Fф t-1=2 361), тогда как оба исследуемых периода начинаются с июля месяца.

Как и кем определяется константа сглаживанияа. Ведь экспертом, работающим над данной проблемой, является сам автор. А, следовательно, необходим инструментарий определения данной величины.

  Почему не описан инструментарий получения данных доверительного интервала (± 7,8 (руб.)).

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

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

С учетом описанных выше недостатков, можно предположить, что алгоритм должен иметь такой вид: 

Таблица 1. Алгоритм прогнозирования объемов продаж.

Рассчитываемые показатели

Критерий оценки

Значение  к которому стремиться критерий оценки

1. Построение модели F=T+S+E

1.1.

Определение трендов, для построения альтернативных моделей (T1, T2, T3 …)

Количество

Чем больше, тем правильнее будет выбор

1.2.

Определение уравнений линий трендов (вид, который принимает T1, T2, T3 …, в зависимости от величин объема продаж)

Коэффициент детерминации

1,00

1.3.

Определение метода расчета сезонной компоненты (в нашем случае это расчет средней арифметической)

Наличие данных

Максимальное количество наблюдаемых периодов (минимум=2)

1.4.

Определение величин сезонной компоненты (S)

Сумма средних значений колебаний

0,00

1.5.

Определение ошибок модели (E)

СКО (среднеквадратическое отклонение) для каждого периода

0,00

1.6.

Определение точности всей модели

[1- СКО для всей модели]*100%

100,00%

1.7.

Определение доверительного интервала модели

(F*[1-СКО]; F*[1+СКО])

0,00%

2. Построение прогноза

2.1.

Определение прогнозных значений

Фактическое значение будущего периода

Фактическое значение будущего периода (проверка будет осуществлена только по достижении периода)

2.2.

Определение константы сглаживания

2.3.

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

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

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

С учетом проведенных изменений алгоритма попробует использовать его на примере, предоставленном Кошечкиным С.А.

ПРИМЕР.

Исходные данные: объёмы реализации продукции за два сезона. В качестве исходной информации для прогнозирования была использована информация об объёмах сбыта мороженого “Пломбир” одной из фирм в Нижнем Новгороде. Данная статистика характеризуется тем, что значения объёма продаж имеют выраженный сезонный характер с возрастающим трендом. Исходная информация представлена в табл. 1.

Таблица 2.  Фактические объёмы реализации продукции

№п.п.

Месяц

Объем продаж (руб.)

№п.п.

Месяц

Объем продаж (руб.)

1

июль

8174,40

13

июль

8991,84

2

август

5078,33

14

август

5586,16

3

сентябрь

4507,20

15

сентябрь

4957,92

4

октябрь

2257,19

16

октябрь

2482,91

5

ноябрь

3400,69

17

ноябрь

3740,76

6

декабрь

2968,71

18

декабрь

3265,58

7

январь

2147,14

19

январь

2361,85

8

февраль

1325,56

20

февраль

1458,12

9

март

2290,95

21

март

2520,05

10

апрель

2953,34

22

апрель

3248,67

11

май

4216,28

23

май

4637,91

12

июнь

8227,569

24

июнь

9050,3264

Задача: составить прогноз продаж продукции на следующий год по месяцам.

Воспользуемся алгоритмом, описанным в таблице 1.

1. Построение модели.

Создадим модели, описывающие продажи мороженного.

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

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

  • линейный тренд;
  • логарифмический тренд;
  • полиномиальный тренд (возьмем 6-ю степень, чтобы увидеть ошибки, допущенные ранее);
  • степенной тренд;
  • экспоненциальный тренд.

Для простоты и большей наглядности данного примера, а также отражения сути предложенного алгоритма ограничимся выбором трех линий тренда. Заранее отметим, что линии тренда выбраны случайным образом. Полиномиальный и линейный тренд выбраны, т.к.  Кошечкин С.А. отдал предпочтение полиному, выбирая между линейным и полиномиальным трендом. И еще один тренд взят на личное усмотрение – логарифмический тренд.

  Рис. 1. Выбранные линии тренда.

По коэффициентам детерминации видно, что наиболее предпочтителен полином, а наименее – линейный тренд. Но т.к. коэффициент детерминации (R2) не определяет точность всей модели, то выбор тренда на этом этапе мы сделать не можем.

1.2. Уравнения линий тренда принимают вид, указанный на рисунке 1. Чтобы получить цифровые значения линий тренда за каждый месяц, необходимо внести уравнения, показанные на графике в ячейки MS Excel в виде формул, где Х (независимая компонента) – это последовательность чисел от 1 до 24 (см. рисунок 2). А Y – это значения уравнения линии тренда для каждого из Х.

Рис. 2. Уравнение полиномиальной линии тренда в формате MS Excel.

Аналогично полиному, рассчитаем линейный и логарифмический тренды. Результаты расчетов в таблице 3.

Таблица 3. Данные полученные с помощью уравнений линий трендов

№п.п.

Месяц

Полином тренд

Линейн Тренд

Логарифм тренд

1

июль

7572,9026

4136,8463

4982,8

2

август

6153,9296

4138,8926

4733,086797

3

сентябрь

4472,595

4140,9389

4587,013937

4

октябрь

3017,0648

4142,9852

4483,373593

5

ноябрь

2053,625

4145,0315

4402,983898

6

декабрь

1677,1536

4147,0778

4337,300734

7

январь

1856,6966

4149,1241

4281,76641

8

февраль

2476,148

4151,1704

4233,66039

9

март

3370,0338

4153,2167

4191,227874

10

апрель

4354,4

4155,263

4153,270694

11

май

5252,8046

4157,3093

4118,934249

12

июнь

5917,4136

4159,3556

4087,58753

13

июль

6245,201

4161,4019

4058,751344

14

август

6189,2528

4163,4482

4032,053206

15

сентябрь

5765,175

4165,4945

4007,197835

16

октябрь

5052,6056

4167,5408

3983,947187

17

ноябрь

4191,8306

4169,5871

3962,106561

18

декабрь

3375,504

4171,6334

3941,514671

19

январь

2835,4718

4173,6797

3922,036413

20

февраль

2824,7

4175,726

3903,557491

21

март

3594,3066

4177,7723

3885,980347

22

апрель

5365,6976

4179,8186

3869,221046

23

май

8297,807

4181,8649

3853,206854

24

июнь

12449,4408

4183,9112

3837,874327

Кстати говоря, значения полиномиального тренда, полученные при работе, совершенно не совпадают с данными, которые получил Кошечкин С.А. в своей статье. Если кто-нибудь сможет подсказать как он рассчитывал данные полиномиального тренда, буду очень признателен.

1.3. В случае, если осуществляется не тактический, а стратегический анализ, т.е. собраны данные хотя бы за 4 сезона, то сезонная компонента (S) может быть представлена отдельными уравнениями, что увеличит точность S. Не следует забывать, что это усложнит процесс моделирования. Но т.к. исходные данные имеются только за 2 периода, то выбор средних величин в расчете сезонных компонент является оптимальным.

1.4. Используя методику  Кошечкина С.А., рассчитываем сезонную компоненту для каждого из уравнений тренда. Из фактических данных вычитаем значения линий тренда для каждого из сезонов. Имеем 3 таблицы (табл. 4-6).

Таблица 4. Расчет сезонной компоненты для модели с полиномиальным трендом.

Месяц

Сезон 1

Сезон 2

Среднее

Сезонная компонента

июль

601,4974

2746,639

1674,068

2278,748

август

-1075,5996

-603,093

-839,346

-234,667

сентябрь

34,605

-807,255

-386,325

218,3544

октябрь

-759,8748

-2569,7

-1664,79

-1060,11

ноябрь

1347,065

-451,071

447,9972

1052,677

декабрь

1291,5564

-109,924

590,8162

1195,496

январь

290,4434

-473,622

-91,5892

513,0902

февраль

-1150,588

-1366,58

-1258,58

-653,905

март

-1079,0838

-1074,26

-1076,67

-471,991

апрель

-1401,06

-2117,03

-1759,04

-1154,36

май

-1036,5246

-3659,9

-2348,21

-1743,53

июнь

2310,1554

-3399,11

-544,48

60,19986

ИТОГО:

-7256,15

0