Алгоритм побудови прогнозної моделі

ПРОГНОЗУВАННЯ ОБСЯГІВ ПРОДАЖІВ

Почнемо з аналізу алгоритму прогнозування обсягів продажів. У результаті аналізу алгоритму, в першій частині статті буде запропонований його доопрацьований варіант.

Алгоритм побудови прогнозної моделі

Для прогнозування обсягу продажів, що має сезонний характер, пропонується наступний алгоритм побудови прогнозної моделі:

1.Визначається тренд, який найкращим чином аппроксимує фактичні дані. Істотним моментом при цьому є пропозиція використовувати поліноміальний тренд, що дозволяє скоротити помилку прогнозної моделі.

2.Віднімаючи з фактичних значень обсягів продажів значення тренда, визначають величини сезонної компоненти і коректують таким чином, щоб їх сума дорівнювала нулю.

3.Розраховуються помилки моделі як різниці між фактичними значеннями і значеннями моделі.

4.Будується модель прогнозування:

F = T + S ± E

де:

F- прогнозоване значення;

Т- тренд;

S - сезонна компонента;

Е - помилка моделі.

5.На основі моделі будується остаточний прогноз обсягу продажів. Для цього пропонується використовувати методи експоненціального згладжування, що дозволяє врахувати можливі майбутні зміна економічних тенденцій, на основі яких побудована трендова модель. Сутність даної поправки полягає в тому, що вона нівелює недолік адаптивних моделей, а саме, дозволяє швидко врахувати намітилися нові економічні тенденції.

Fпр t = a Fф t-1 + (1-а) Fм t

де:

Fпр t - прогнозне значення обсягу продажів;

Fф t-1 - фактичне значення обсягу продажів у попередньому році;

Fм t - значення моделі;

а - константа згладжування

Практична реалізація даного методу виявила наступні його особливості:

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

2. застосування полиномиального тренда замість лінійного дозволяє значно скоротити помилку моделі;

3. за наявності достатньої кількості даних метод дає хорошу апроксимацію і може бути ефективно використаний при прогнозуванні обсягу продажу в інвестиційному проектуванні.

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. Побудова прогнозу. Коли ми визначили саму точну модель ми можемо перейти на етап прогнозування.

Таблиця 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. Фактичні обсяги реалізації продукції

№п.п. Місяць Обсяг продажу (грн.) №п.п. Місяць Обсяг продажу (грн.)
липень 8174,4 липень 8991,84
серпень 5078,33 серпень 5586,16
вересень 4507,2 вересень 4957,92
жовтень 2257,19 жовтень 2482,91
листопад 3400,69 листопад 3740,76
грудень 2968,71 грудень 3265,58
січкнь 2147,14 січкнь 2361,85
лютий 1325,56 лютий 1458,12
березень 2290,95 березень 2520,05
квітень 2953,34 квітень 3248,67
травень 4216,28 травень 4637,91
червень 8227,569 червень 9050,3264

Задача: скласти прогноз продажів продукції на наступний рік по місяцях.

Скористаємося алгоритмом, описаним в таблиці 1.

1. Побудова моделі.

Створимо моделі, що описують продажу морозива.

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

1.1. Спочатку, нам не відомо яке з рівнянь трендів дасть найкращий результат, тому на даному етапі моделювання найдоцільніше використовувати всі лінії тренду, які може будувати програмний продукт MS Excel:

• лінійний тренд;

• логарифмічний тренд;

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

• статечної тренд;

• експонентний тренд.

Для простоти і більшої наочності даного прикладу, а також відображення суті запропонованого алгоритму обмежимося вибором трьох ліній тренда. Наперед зазначимо, що лінії тренда обрані випадковим чином. Поліноміальний і лінійний тренд обрані, тому Кошечкин С.А. віддав перевагу полиному, вибираючи між лінійним і поліноміальним трендом. І ще один тренд узятий на особистий розсуд - логарифмічний тренд.

Рис. 1. Вибрані лінії тренду.

За коефіцієнтами детермінації видно, що найбільш кращий поліном, а найменш - лінійний тренд. Але тому коефіцієнт детермінації (R2) не визначає точність всієї моделі, то вибір тренда на цьому етапі ми зробити не можемо.

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

Таблиця 3. Дані отримані за допомогою рівнянь ліній трендів

№п.п. Місяць Обсяг продажу (грн.) Поліном тренд Лінійний тренд Логарифм тренд
липень 8174,4   7573,317 4136,046
серпень 5078,33   6155,792 4138,092 5231,53299
вересень 4507,2   4476,995 4140,138 5377,50042
жовтень 2257,19   3026,496 4142,184 5481,06597
листопад 3400,69   2074,625 4144,23 5561,39765
грудень 2968,71   1724,912 4146,276 5627,03341
січкнь 2147,14   1962,207 4148,322 5682,52765
лютий 1325,56   2696,48 4150,368 5730,59896
березень 2290,95   3802,301 4152,414 5773,00085
квітень 2953,34   4154,46 5810,93063
травень 4216,28   6656,507 4156,506 5845,2423
червень 8227,569   8271,872 4158,552 5876,56639
липень 8991,84   10041,47 4160,598 5905,38177
серпень 5586,16   12103,86 4162,644 5932,06064
вересень 4957,92   14708,38 4164,69 5956,89807
жовтень 2482,91   18224,35 4166,736 5980,13194
листопад 3740,76   23146,04 4168,782 6001,9568
грудень 3265,58   30093,2 4170,828 6022,53383
січкнь 2361,85   39807,41 4172,874 6041,99803
лютий 1458,12   4174,92 6060,46362
березень 2520,05   71059,7 4176,966 6078,02808
квітень 3248,67   94595,95 4179,012 6094,77528
травень 4637,91   124857,9 4181,058 6110,77792
червень 9050,3264   162989,2 4183,104 6126,09938

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

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

До речі кажучи, значення полиномиального тренда, отримані при роботі, абсолютно не збігаються з даними, які отримав Кошечкин С.А. у своїй статті. Якщо хто-небудь зможе підказати як він розраховував дані полиномиального тренда, буду дуже вдячний.

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

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

Таблиця 4. Розрахунок сезонної компоненти для моделі з поліноміальним трендом.

Місяць Сезон 1 Сезон 2 Середнє Сезонная компонента
липень 601,083 -1049,625 -224,271 763,617125
серпень -1077,462 -603,093 -840,2775 147,610625
вересень 30,205 -807,255 -388,525 599,363125
жовтень -769,306 -2569,7 -1669,503 -681,614875
листопад 1326,065 -451,071 437,497 1425,385125
грудень 1243,798 -109,924 566,937 1554,825125
січкнь 184,933 -473,622 -144,3445 843,543625
лютий -1370,92 -1366,58 -1368,75 -380,861875
березень -1511,351 -1074,26 -1292,8055 -304,917375
квітень -2200,66 -2117,03 -2158,845 -1170,956875
травень -2440,227 -3659,9 -3050,0635 -2062,175375
червень -44,303 -3399,11 -1721,7065 -733,818375
ИТОГО: -11854,658 0,00

Щоб довести середні коливання до 0, необхідно підсумкову суму середніх розділити на кількість періодів в сезоні (у нашому випадку - це 12). Отриманий результат віднімаємо з значень середнього по кожному періоду. У результаті - сума коливань складе абсолютний 0.

У таблиці 4 чітко видно, що відхилення сезонних коливань моделі з поліноміальним трендом від 0 вельми велике і стверджувати, що в моделі виявлена ​​сезонність, ми не можемо. А якщо припускати, що сезонність існує, виходячи з економічних міркувань і знань специфіки ринку і товару, то помилка моделі в підсумку виросте. Таким чином, висока точність моделі, отримана завдяки вибору полінома, буде нейтралізована низькою точністю сезонної компоненти. Щоб перевірити дане твердження, побудуємо повністю модель з поліноміальним трендом.

Таблиця 5. Розрахунок сезонної компоненти для моделі з лінійним трендом.

Місяць Сезон 1 Сезон 2 Середнє Сезонная компонента
липень 4038,354 4831,242 4434,798 4433,979025
серпень 940,238 1423,516 1181,877 1181,058025
вересень 367,062 793,23 580,146 579,327025
жовтень -1884,994 -1683,826 -1784,41 -1785,228975
листопад -743,54 -428,022 -585,781 -586,599975
грудень -1177,566 -905,248 -1041,407 -1042,225975
січкнь -2001,182 -1811,024 -1906,103 -1906,921975
лютий -2824,808 -2716,8 -2770,804 -2771,622975
березень -1861,464 -1656,916 -1759,19 -1760,008975
квітень -1201,12 -930,342 -1065,731 -1066,549975
травень 59,774 456,852 258,313 257,494025
червень 4069,017 4867,2224 4468,1197 4467,300725
ИТОГО: 9,8277 0,00

У таблиці 5 за сумою середніх величин видно, що спостерігається сезонність коливань, тому сума середніх величин сезонних коливань близька до 0.

Щоб довести середні коливання до 0, необхідно підсумкову суму середніх розділити на кількість періодів в сезоні (у нашому випадку - це 12). Отриманий результат віднімаємо з значень середнього по кожному періоду. У результаті - сума коливань складе абсолютний 0.

Таблиця 6. Розрахунок сезонної компоненти для моделі з логарифмічним трендом.

Місяць Сезон 1 Сезон 2 Середнє Сезонная компонента
липень 3192,4 3086,458231 3139,429116 4782,806082
серпень -153,202985 -345,9006387 -249,5518118 1393,825154
вересень -870,3004239 -998,9780724 -934,6392482 708,7377178
жовтень -3223,87597 -3497,22194 -3360,548955 -1717,171989
листопад -2160,707648 -2261,196804 -2210,952226 -567,5752602
грудень -2658,323409 -2756,953833 -2707,638621 -1064,261655
січкнь -3535,387654 -3680,148032 -3607,767843 -1964,390877
лютий -4405,038955 -4602,343618 -4503,691287 -2860,314321
березень -3482,050848 -3557,978078 -3520,014463 -1876,637497
квітень -2857,590633 -2846,105283 -2851,847958 -1208,470992
травень -1628,962298 -1472,867918 -1550,915108 92,461858
червень 2351,002606 2924,227021 2637,614814 4280,99178
ИТОГО: -19720,52359 0,00

За даними таблиці 6 можна стверджувати, що в моделі з логарифмічним трендом також існують сезонні коливання, тому сума середніх близька до 0.

Розраховані сезонні компоненти для кожного з рівнянь тренда при прогнозуванні просто переносяться на відповідні місяці прогнозного періоду.

1.5. Отримавши 3 сезонних компоненти (S) з 3 рівняннями тренду (T), ми можемо розрахувати помилки побудованих моделей (E). Для цього з вихідних значень завдання необхідно відняти суму S + T, E = F- (S + T). Дані розрахунку представлені в таблиці 7.

Таблиця 7. Значення моделей (T + S) та їх помилок (E).

Місяць ФАКТ значення поліном. моделі значення лин. моделі значення логарифм. моделі Помилки поліном. моделі Помилки лін. моделі Помилки логарифм. моделі
липень 8174,4 7573,317 4136,046 601,083 4038,354 3192,4
серпень 5078,33 6155,792 4138,092 5231,533 -1077,462 940,238 -153,20299
вересень 4507,2 4476,995 4140,138 5377,5004 30,205 367,062 -870,30042
жовтень 2257,19 3026,496 4142,184 5481,066 -769,306 -1884,994 -3223,876
листопад 3400,69 2074,625 4144,23 5561,3976 1326,065 -743,54 -2160,7076
грудень 2968,71 1724,912 4146,276 5627,0334 1243,798 -1177,566 -2658,3234
січкнь 2147,14 1962,207 4148,322 5682,5277 184,933 -2001,182 -3535,3877
лютий 1325,56 2696,48 4150,368 5730,599 -1370,92 -2824,808 -4405,039
березень 2290,95 3802,301 4152,414 5773,0008 -1511,351 -1861,464 -3482,0508
квітень 2953,34 4154,46 5810,9306 -2200,66 -1201,12 -2857,5906
травень 4216,28 6656,507 4156,506 5845,2423 -2440,227 59,774 -1628,9623
червень 8227,569 8271,872 4158,552 5876,5664 -44,303 4069,017 2351,0026
липень 8991,84 10041,465 4160,598 5905,3818 -1049,625 4831,242 3086,4582
серпень 5586,16 12103,856 4162,644 5932,0606 -6517,696 1423,516 -345,90064
вересень 4957,92 14708,375 4164,69 5956,8981 -9750,455 793,23 -998,97807
жовтень 2482,91 18224,352 4166,736 5980,1319 -15741,442 -1683,826 -3497,2219
листопад 3740,76 23146,037 4168,782 6001,9568 -19405,277 -428,022 -2261,1968
грудень 3265,58 30093,2 4170,828 6022,5338 -26827,62 -905,248 -2756,9538
січкнь 2361,85 39807,411 4172,874 6041,998 -37445,561 -1811,024 -3680,148
лютий 1458,12 4174,92 6060,4636 -51685,88 -2716,8 -4602,3436
березень 2520,05 71059,697 4176,966 6078,0281 -68539,647 -1656,916 -3557,9781
квітень 3248,67 94595,952 4179,012 6094,7753 -91347,282 -930,342 -2846,1053
травень 4637,91 124857,94 4181,058 6110,7779 -120220,03 456,852 -1472,8679
червень 9050,3264 162989,22 4183,104 6126,0994 -153938,89 4867,2224 2924,227

На підставі розрахованих помилок (E) розрахуємо середньоквадратичне відхилення (СКО) для кожного з періодів (див. Таблицю 8). Формула розрахунку наведена в роботі Кошечкіна С.А.

Знаходимо середню квадратичну помилку моделі (Е) за формулою:

Е = Σ О2: Σ (T + S) 2

де:

Т- трендові значення обсягу продажів;

S - сезонна компонента;

О- відхилення моделі від фактичних значень

Е = 0,003739 або 0.37%

Величина отриманої помилки дозволяє говорити, що побудована модель добре апроксимує фактичні дані, тобто вона цілком відображає економічні тенденції, що визначають обсяг продажів, і є передумовою для побудови прогнозів високої якості.

Побудуємо модель прогнозування:

F = T + S ± E

1.6. Розрахувати середнє значення СКВ, отриманих для кожної моделі, розрахуємо точність за формулою:

(точність моделі) = [1- (середнє значення СКВ)] * 100%

Точність моделі з поліноміальним трендом = 95.05%

Точність моделі з лінійним трендом = 99.81%

Точність моделі з логарифмічним трендом = 98.66%

Таким чином, високою точністю володіють всі 3 моделі (див. Малюнок 3).

Таблиця 8. Середньоквадратичне відхилення значень моделі від фактичних даних.

Місяць СКВ поліном. моделі СКВ лін. моделі СКВ логарифм. моделі
липень 1,079368525 1,97638034 1,640786833
серпень 0,82496777 1,227215345 0,97071547
вересень 1,006746713 1,088659364 0,83815893
жовтень 0,745809676 0,544927507 0,411815879
листопад 1,639182985 0,820584282 0,611481181
грудень 1,721079104 0,715994304 0,527579949
січкнь 1,094247447 0,517592414 0,377849459
лютий 0,491589035 0,319383727 0,231312645
березень 0,602516739 0,551715219 0,396838674
квітень 0,573019014 0,710884206 0,508238729
травень 0,633407281 1,014380829 0,721318259
червень 0,994644139 1,978469669 1,400063991
липень 0,89547093 2,161189329 1,52265177
серпень 0,46151904 1,341973995 0,941689632
вересень 0,337081425 1,190465557 0,832298948
жовтень 0,136241332 0,595888484 0,415193181
листопад 0,161615572 0,897326845 0,623256735
грудень 0,108515545 0,782957245 0,542226925
січкнь 0,059331917 0,566000795 0,390905457
лютий 0,027437152 0,349256992 0,240595455
березень 0,035463844 0,603320688 0,41461638
квітень 0,03434259 0,777377524 0,533025395
травень 0,037145497 1,10926708 0,758972108
червень 0,055527148 2,163543244 1,477339142
Среднее значение: 0,573177934 1,000198124 0,722038797

Рис. 3. Моделі, побудовані на підставі різних ліній тренда.

Т.к. у випадку, якщо точність моделі коливається в районі 90% -100%, то можна стверджувати, що модель досить точна. Однак, модель з лінійним трендом є найбільш точною, тому її показник точності найбільш високий. Отже, прогноз, зроблений на підставі даних лінійної моделі буде найбільш точним. І тільки на даному етапі моделювання ми можемо зробити остаточний висновок про перевагу моделі. Вибравши модель з лінійним трендом, надалі, будемо працювати тільки з нею.

1.7. Щоб побудувати довірчий інтервал скористаємося даними СКО для моделі з лінійним трендом (СКО = 0,0019). Довірчий інтервал прийме вигляд:

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

Дані такого розрахунку наведені в таблиці 9.

Таблиця 9. Довірчий інтервал для моделі з лінійним трендом.

Наши рекомендации