Прогнозирование спроса: метод последнего периода и скользящая средняя

•0•0Comment iconComment iconComment iconComment icon

Горизонты прогнозирования и компоненты спроса, индекс сезонности, метод последнего периода, простая скользящая средняя и оценка ошибки с помощью DAM.

Writer image

Translated byEditorial

Writer image

Revised byEditorial

Edit Article

Введение

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

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

Горизонт прогнозирования

Горизонт прогноза зависит от того, на какой срок составляют планы:

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

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

Что общего у всех прогнозов

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

Составляющие спроса

В данных о продажах обычно сочетаются четыре составляющие:

  • Уровень: среднее значение, вокруг которого колеблется спрос.
  • Тренд: рост или снижение спроса со временем.
  • Сезонность: регулярно повторяющиеся колебания, обычно в пределах года (спрос на мороженое летом, на школьные принадлежности в январе и феврале, на шоколад к Пасхе).
  • Случайные колебания: изменения, которые не объясняются другими составляющими. Из-за них любой прогноз остаётся неточным.

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

Индекс сезонности

Один из простых способов измерить сезонность — выразить её в процентах. Если продажи за месяц выше среднемесячных, индекс превышает 100%; если ниже — составляет меньше 100%.

Индекс сезонности месяца = спрос за месяц ÷ среднемесячный спрос

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

Месяц123456789101112
Индекс90%100%102%110%98%95%105%100%90%90%120%100%

Среднее значение двенадцати индексов, как и должно быть, равно 100%: месяцы с продажами выше среднего компенсируют месяцы с продажами ниже среднего. Чтобы получить прогноз на конкретный месяц, умножьте его индекс на прогнозируемый среднемесячный спрос (прогноз годового спроса ÷ 12). Если компания рассчитывает продать в следующем году 24.000 единиц товара (в среднем 2.000 в месяц), прогноз на ноябрь составит 1,20 × 2.000 = 2.400 единиц.

Спрос в январе составил 270 единиц товара, а за весь год компания продала 5.400 единиц. Если в следующем году она рассчитывает продать 6.000 единиц, каков прогноз на январь?

Loading icon

Ответ: 300 единиц — среднемесячный спрос составлял 5.400 ÷ 12 = 450, поэтому индекс января равен 270 ÷ 450 = 0,6. Прогнозируемый среднемесячный спрос составляет 6.000 ÷ 12 = 500, а 0,6 × 500 = 300. Результат 3.600 получается, если умножить индекс на годовой спрос (0,6 × 6.000 = 3.600) и забыть разделить его на 12; 500 — это среднемесячный спрос без учёта сезонности.

Методы прогнозирования

Методы прогнозирования принято делить на две большие группы.

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

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

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

Метод последнего периода

Это самый простой, или наивный, метод: прогноз на следующий период равен фактическому спросу за предыдущий.

Прогноз на месяц t+1 = фактический спрос за месяц t

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

Простое скользящее среднее

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

Прогноз на период t+1 = (D(t) + D(t−1) + … + D(t−n+1)) ÷ n

где D — фактический спрос за каждый период, а n — число периодов, используемых для расчёта среднего.

Усреднение сглаживает случайные колебания: нетипичный месяц влияет на прогноз лишь с весом 1/n. Метод предполагает, что даже при небольшом тренде на рост или снижение его влияние мало по сравнению со случайными отклонениями.

Пример. Какой будет прогноз на месяц 13 по скользящему среднему за 12 месяцев, если известен расход за предыдущие месяцы?

Месяц123456789101112
Расход99100102989996102101104969998

D13 = (99 + 100 + … + 99 + 98) ÷ 12 = 1.194 ÷ 12 = 99,50

Чтобы обновить среднее, не нужно заново складывать все значения: достаточно учесть новое значение и исключить то, которое вышло из расчётного интервала.

Новое среднее = предыдущее среднее + (новое значение − исключённое значение) ÷ n

Если фактический расход за месяц 13 составит 100, при расчёте прогноза на месяц 14 из среднего исключают значение за месяц 1 (99) и добавляют значение за месяц 13 (100): D14 = 99,50 + (100 − 99) ÷ 12 = 99,58.

Как выбрать n?

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

Фактический спрос и прогнозы по скользящему среднему за 3 и 5 месяцев: при восходящем тренде оба прогноза ниже фактического спроса, причём среднее за 5 месяцев отстаёт сильнее
Фактический спрос и прогнозы по скользящему среднему за 3 и 5 месяцев: при восходящем тренде оба прогноза ниже фактического спроса, причём среднее за 5 месяцев отстаёт сильнее

Если тренд выражен явно, лучше использовать методы из следующего занятия: они позволяют учесть это отставание.

Фабрика продала 105, 106, 110, 110, 114, 121, 130, 128 и 137 единиц товара в месяцы с 1 по 9. Каков прогноз на месяц 10 по скользящему среднему за 3 и за 5 месяцев соответственно?

Loading icon

Ответ: 131,7 и 126,0 — для среднего за 3 месяца берём 130, 128 и 137 (395 ÷ 3 = 131,7); для среднего за 5 месяцев — 114, 121, 130, 128 и 137 (630 ÷ 5 = 126,0). Поскольку спрос растёт, среднее за более длительный период сильнее отстаёт от текущего значения.

Оценка ошибки прогноза

Прогноз полезен, только если отслеживать его точность. Ошибка за каждый период — разница между фактическим спросом и прогнозом:

Ошибка = фактический спрос − прогноз

При обычном сложении положительные ошибки (когда прогноз ниже фактического спроса) и отрицательные взаимно компенсируются. Поэтому величину ошибки оценивают по средней абсолютной ошибке (DAM, или MAD по-английски): это среднее значение ошибок без учёта их знака.

DAM = сумма |ошибок| ÷ число периодов

Пример. С января по июль фабрика продала соответственно 4.100, 3.800, 3.800, 4.000, 4.100, 4.200 и 4.900 единиц товара. Сравним метод последнего периода со скользящим средним за 3 месяца для тех месяцев, на которые можно составить прогноз обоими методами (с апреля по июль):

МесяцФактПоследний периодОшибкаСкользящее среднее за 3 месяцаОшибка
апр4.0003.8002003.900,0100,0
май4.1004.0001003.866,7233,3
июн4.2004.1001003.966,7233,3
июл4.9004.2007004.100,0800,0
DAM275,0341,7

В этом ряду спрос растёт, и наивный метод оказался точнее скользящего среднего: среднее отстаёт от тренда. Вывод: метода, который всегда лучше остальных, нет. Выбирать нужно тот, который даёт меньшую ошибку на ваших данных, а сравнить методы помогает DAM. Если вы работаете с Python, скользящее среднее в pandas рассчитывается одной строкой: vendas.rolling(3).mean().shift(1) (shift(1) гарантирует, что прогноз на каждый месяц использует данные только за предыдущие месяцы).

Величина ошибки важна и для управления запасами: чем менее точен прогноз, тем больше нужен страховой запас. Об этом пойдёт речь на занятии о сроках поставки и страховом запасе.

Два метода проверили на одних и тех же 4 месяцах. Ошибки метода A составили +50, −50, +50 и −50; ошибки метода B — +10, +20, +30 и +40. Какой вывод верен?

Loading icon

Ответ: метод B лучше: его DAM равен 25 против 50 у A, хотя он склонен занижать прогноз. DAM для A = 200 ÷ 4 = 50; DAM для B = 100 ÷ 4 = 25. Нулевая сумма ошибок метода A обманчива: ошибки с противоположными знаками компенсируют друг друга при сложении, поэтому используют абсолютные значения. Все ошибки метода B положительны — это указывает на систематическое занижение прогноза, которое стоит исправить.

Источники

[1] GONÇALVES, Paulo Sérgio. Administração de materiais. Rio de Janeiro: Elsevier. Глава о прогнозировании спроса.

[2] CORRÊA, H. L.; GIANESI, I. G. N.; CAON, M. Planejamento, programação e controle da produção: MRP II/ERP. São Paulo: Atlas.

Упражнения

Простые

1) Спрос на товар составил 620 единиц три месяца назад, 570 — два месяца назад и 545 — в прошлом месяце.
a) Каков прогноз на этот месяц по простому скользящему среднему за 3 месяца?
b) Если фактический спрос в этом месяце составит 560 единиц, каков будет прогноз на следующий месяц?

2) В первом квартале прошлого года спрос на товар X составил 1.260 единиц, а за весь год — 4.200 единиц. Чему равен индекс сезонности первого квартала?

3) В первый день каждого месяца дистрибьютор звонит вам, чтобы узнать, сколько товара поставить. В июне, июле и августе было продано 260, 290 и 310 единиц. Каков прогноз на сентябрь по скользящему среднему за 3 месяца? А на октябрь, если вместо фактических данных за сентябрь использовать сентябрьский прогноз?

4) Магазин продал 320, 350 и 380 единиц товара в январе, феврале и марте. Каков прогноз на апрель по методу последнего периода и по скользящему среднему за 3 месяца? Какой из прогнозов лучше отражает последние изменения продаж?

5) За четыре месяца фактический спрос составил 100, 110, 90 и 105 единиц, а прогноз — 95, 100, 100 и 100 единиц. Рассчитайте ошибку прогноза для каждого месяца и среднюю абсолютную ошибку (САО).

6) Определите, какой компонент спроса (уровень, тренд, сезонность или случайные колебания) объясняет каждую ситуацию:
a) продажи панеттоне ежегодно утраиваются в ноябре и декабре;
b) число подписок на приложение уже два года растёт примерно на 3% в месяц;
c) в одну из суббот продажи зонтов в магазине удвоились из-за дождя, которого не было в прогнозе;
d) пекарня продаёт в среднем около 800 булок в день.

Сложные задачи

7) (Экзамен по логистике, CEFET/RJ, 2018) Производитель деталей продал с января по июль 4.100, 3.800, 3.800, 4.000, 4.100, 4.200 и 4.900 единиц изделия AM. Рассчитайте прогноз на август:
a) методом последнего периода;
b) методом скользящей средней при n = 3.
c) Если вместо фактических данных за август использовать прогноз из пункта b, каким будет прогноз на сентябрь при n = 3?

8) Компания — производитель мясных изделий прогнозирует спрос на следующий месяц методом скользящей средней. Спрос за месяцы с 1-го по 9-й составил: 105, 106, 110, 110, 114, 121, 130, 128 и 137.
a) Рассчитайте прогноз на 10-й месяц с помощью скользящей средней за 5 месяцев.
b) А с помощью скользящей средней за 3 месяца?
c) Какой из двух вариантов вы бы выбрали и почему?

9) (Экзамен по логистике, CEFET/RJ, 2018) В январе 2017 года спрос на товар составил 100 единиц. Годовой спрос составлял 1.200 единиц в 2015 году, 1.100 в 2016 году и 1.000 в 2017 году. Используя скользящую среднюю за три года для прогноза годового спроса на 2018 год и индекс сезонности января 2017 года, рассчитайте прогноз на январь 2018 года.

10) Компания зафиксировала спрос по кварталам за два года:

КварталГод 1Год 2
1200240
2300330
3250270
4450560

a) Рассчитайте индекс сезонности для каждого квартала, взяв в числителе средний спрос за соответствующий квартал двух лет.
b) Компания планирует продать 1.600 единиц в 3-м году. Каков прогноз на каждый квартал?

11) Недельный спрос на товар за последние 7 недель составил: 50, 54, 51, 55, 53, 57 и 54.
a) Рассчитайте прогнозы для недель с 3-й по 7-ю методом последнего периода и методом скользящей средней за 2 недели.
b) Рассчитайте САО каждого метода за эти пять недель.
c) Какой метод вы бы выбрали и какой прогноз он даёт на 8-ю неделю?

Ответы

1) a) (620 + 570 + 545) ÷ 3 = 1.735 ÷ 3 = 578,3.
b) Самое раннее значение (620) исключаем, новое (560) добавляем: (570 + 545 + 560) ÷ 3 = 1.675 ÷ 3 = 558,3. По формуле обновления: 578,3 + (560 − 620) ÷ 3 = 578,3 − 20 = 558,3.

2) 1,2 (или 120%). Средний спрос за квартал составил 4.200 ÷ 4 = 1.050, а 1.260 ÷ 1.050 = 1,2: продажи в первом квартале на 20% выше среднего. Если разделить 1.260 на 4.200, получится 0,3 — доля квартала в годовом объёме, а не индекс.

3) Сентябрь: (260 + 290 + 310) ÷ 3 = 860 ÷ 3 = 286,7, или около 287 единиц. Октябрь: исключаем июнь и добавляем прогноз на сентябрь: (290 + 310 + 286,7) ÷ 3 = 886,7 ÷ 3 = 295,6, или около 296 единиц.

4) Метод последнего периода: 380 (продажи за март). Скользящая средняя за 3 месяца: (320 + 350 + 380) ÷ 3 = 1.050 ÷ 3 = 350. Продажи растут на 30 в месяц; значение последнего периода (380) лучше отражает эту динамику, тогда как средняя (350) отстаёт и совпадает с продажами за февраль.

5) Ошибка = фактический спрос − прогноз: 100 − 95 = +5; 110 − 100 = +10; 90 − 100 = −10; 105 − 100 = +5. САО = (5 + 10 + 10 + 5) ÷ 4 = 30 ÷ 4 = 7,5 единицы.

6) a) Сезонность: рост повторяется каждый год в одно и то же время.
b) Тренд: устойчивый рост на протяжении длительного времени.
c) Случайные колебания: событие, которое не подчиняется закономерности и не повторяется предсказуемым образом.
d) Уровень: среднее значение, вокруг которого колеблется спрос.

7) a) 4.900 — продажи за июль.
b) (4.100 + 4.200 + 4.900) ÷ 3 = 13.200 ÷ 3 = 4.400.
c) (4.200 + 4.900 + 4.400) ÷ 3 = 13.500 ÷ 3 = 4.500. Поскольку август ещё не наступил, вместо фактического значения используем прогноз. Когда появятся данные за август, пересчитайте результат с ними.

8) a) Месяцы с 5-го по 9-й: (114 + 121 + 130 + 128 + 137) ÷ 5 = 630 ÷ 5 = 126,0.
b) Месяцы с 7-го по 9-й: (130 + 128 + 137) ÷ 3 = 395 ÷ 3 = 131,7.
c) Среднюю за 3 месяца: спрос явно растёт, и средняя за более короткий период меньше отстаёт от этого тренда. Ещё лучше подошёл бы метод, учитывающий тренд, — такие методы рассматриваются на следующем уроке.

9) 110 единиц.
Прогноз годового спроса на 2018 год: (1.200 + 1.100 + 1.000) ÷ 3 = 1.100, или 1.100 ÷ 12 = 91,67 в месяц.
Индекс января 2017 года: среднемесячный спрос за 2017 год = 1.000 ÷ 12 = 83,33; индекс = 100 ÷ 83,33 = 1,2.
Прогноз: 1,2 × 91,67 = 110.
Обратите внимание: годовой спрос снижается на 100 единиц в год, но скользящая средняя даёт на 2018 год прогноз 1.100 — выше фактических 1.000 за 2017 год. Так проявляется отставание средней от тренда.

10) a) Средний спрос за каждый квартал двух лет: T1 = (200 + 240) ÷ 2 = 220; T2 = (300 + 330) ÷ 2 = 315; T3 = (250 + 270) ÷ 2 = 260; T4 = (450 + 560) ÷ 2 = 505. Общий средний спрос за квартал: (1.200 + 1.400) ÷ 8 = 2.600 ÷ 8 = 325. Индексы: T1 = 220 ÷ 325 ≈ 0,68; T2 = 315 ÷ 325 ≈ 0,97; T3 = 260 ÷ 325 = 0,80; T4 = 505 ÷ 325 ≈ 1,55. Среднее четырёх индексов равно 1, как и должно быть.
b) Прогноз среднего спроса за квартал: 1.600 ÷ 4 = 400. T1 = 0,677 × 400 ≈ 271; T2 = 0,969 × 400 ≈ 388; T3 = 0,80 × 400 = 320; T4 = 1,554 × 400 ≈ 622. (Сумма равна 1.601 из-за округления; без округления она составляет ровно 1.600.)

11) a) и b)

НеделяФактПоследний периодОшибкаСкользящая средняя за 2 неделиОшибка
35154−3(50 + 54) ÷ 2 = 52,0−1,0
45551+4(54 + 51) ÷ 2 = 52,5+2,5
55355−2(51 + 55) ÷ 2 = 53,00,0
65753+4(55 + 53) ÷ 2 = 54,0+3,0
75457−3(53 + 57) ÷ 2 = 55,0−1,0
САО16 ÷ 5 = 3,27,5 ÷ 5 = 1,5

c) Скользящую среднюю за 2 недели: её САО меньше половины САО метода последнего периода (1,5 против 3,2). Спрос растёт и падает от недели к неделе; метод последнего периода повторяет каждое колебание, а средняя его сглаживает. Прогноз на 8-ю неделю: (57 + 54) ÷ 2 = 55,5.

What did you think of this article?

0%
User score (0)

Share this article!