B.Actual2015 BestForecast2015
347 494.7259
296 423.1596
566 451.9351
820 789.1606
919 1029.0407
1379 1048.4620
1159 1137.0253
1132 1150.5906
1119 1191.6808
1238 1270.3948
904 715.5118
699 538.0244
B.Actual2015 SecondBestFC
347 467.0779
296 433.5630
566 488.5433
820 775.7648
919 1025.4609
1379 1059.2984
1159 1060.0561
1132 1157.8419
1119 1139.3621
1238 1210.0183
904 824.4479
699 526.6290
## # A tibble: 12 × 3
##    Month.YrInventory BestForecast2015 SeasonIndexB
##                <chr>            <dbl>        <dbl>
## 1       January 2015         494.7259    0.5016624
## 2      February 2015         423.1596    0.4685116
## 3         March 2015         451.9351    0.6090358
## 4         April 2015         789.1606    0.9522785
## 5           May 2015        1029.0407    1.1922550
## 6          June 2015        1048.4620    1.3178173
## 7          July 2015        1137.0253    1.3216311
## 8        August 2015        1150.5906    1.3392333
## 9     September 2015        1191.6808    1.3606493
## 10      October 2015        1270.3948    1.3976139
## 11     November 2015         715.5118    0.8874438
## 12     December 2015         538.0244    0.6518678
Month.YrInventory Daily_Avg Sigma_X_SI Av_LeadTime_Demand Safety_Stock Reorder_Point
January 2015 24 16 118 72 190
February 2015 20 16 101 72 173
March 2015 22 16 108 73 180
April 2015 38 16 188 74 262
May 2015 49 16 245 75 320
June 2015 50 17 250 76 325
July 2015 54 17 271 76 347
August 2015 55 17 274 76 350
September 2015 57 17 284 76 360
October 2015 60 17 302 76 379
November 2015 34 16 170 74 244
December 2015 26 16 128 73 201
Month.YrInventory Daily_Avg Sigma_X_1plusSI Av_LeadTime_Demand Safety_Stock Reorder_Point
January 2015 24 8 118 35 153
February 2015 20 7 101 33 133
March 2015 22 9 108 42 150
April 2015 38 14 188 66 254
May 2015 49 18 245 83 328
June 2015 50 20 250 92 342
July 2015 54 20 271 92 363
August 2015 55 20 274 93 367
September 2015 57 21 284 95 379
October 2015 60 21 302 97 400
November 2015 34 14 170 62 232
December 2015 26 10 128 45 174

Average Daily Demand:\[\bar{x}_d = \frac{\bar{x}_m}{21}\]

Standard Deviation of Monthly Demand: \[\sigma_d=\frac{s_i\sigma_\bar{x_d}}{21}\]

Lead Time:\[L = 6\]

Service Level:\[z = 2.05\]

Demand During Lead Time: \[\bar{x}_d * L\]

Safety Stock:\[z*\sigma_d*\sqrt{L}\]

Reorder Level:\[\bar{x}_L+z*\sigma_d*\sqrt{L}\]

Naive

ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.4 215.7496 160.4571 -3.520532 21.77095 1 0.288158
Test set -130.5 132.1003 130.5000 -26.771912 26.77191 NA NA

RWF

ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.4 215.7496 160.4571 -3.520532 21.77095 1.000000 0.288158
Test set 299.9 409.2763 352.1000 24.439203 35.14797 2.194355 NA

SMA

ME RMSE MAE MPE MAPE MASE ACF1
Training set -14.27173 91.7064 79.29703 1.04432 11.23638 0.6433177 0.4521287
Test set 1432.14500 1701.1412 1439.80938 136.66123 138.15818 11.6808267 NA

SES

ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.278615 212.7381 156.0029 -3.423313 21.16665 0.9722402 0.2880565
Test set 299.904697 409.2798 352.1028 24.439774 35.14816 2.1943730 NA

ETS

## ETS(A,N,N) 
## 
## Call:
##  ets(y = Ctrain) 
## 
##   Smoothing parameters:
##     alpha = 0.9999 
## 
##   Initial states:
##     l = 468.6699 
## 
##   sigma:  212.7382
## 
##      AIC     AICc      BIC 
## 520.9312 521.6812 525.6817
##                      ME     RMSE      MAE       MPE     MAPE      MASE
## Training set   4.259471 212.7382 156.0210 -3.427416 21.17052 0.9723531
## Test set     178.004774 341.0000 265.0016 11.946853 29.79414        NA
##                   ACF1
## Training set 0.2880284
## Test set            NA
ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.259471 212.7382 156.0210 -3.427416 21.17052 0.9723531 0.2880284
Test set 178.004774 341.0000 265.0016 11.946853 29.79414 NA NA

Holt

ME RMSE MAE MPE MAPE MASE ACF1
Training set -4.730953 214.5025 158.9148 -5.01515 21.91948 0.9903876 0.2979241
Test set 156.429150 321.3651 249.3810 9.38250 28.46142 NA NA

Arima

## Series: B 
## ARIMA(0,1,1)(0,1,1)[12]                    
## 
## Coefficients:
##           ma1     sma1
##       -0.7438  -0.5104
## s.e.   0.1110   0.2052
## 
## sigma^2 estimated as 19740:  log likelihood=-287.58
## AIC=581.16   AICc=581.74   BIC=586.58
##                      ME     RMSE      MAE        MPE     MAPE     MASE
## Training set   7.688023 120.9745  83.0515 -0.9960218 10.74112 0.478127
## Test set     131.208585 286.9497 229.8357 10.2290856 27.46751 1.323163
##                     ACF1
## Training set -0.01263556
## Test set              NA

BestForecast

##          Point Forecast     Lo 80     Hi 80    Lo 95     Hi 95
## Jan 2105       494.7259  318.0591  671.3926 224.5374  764.9143
## Feb 2105       423.1596  235.9723  610.3469 136.8814  709.4379
## Mar 2105       451.9351  254.7879  649.0823 150.4244  753.4457
## Apr 2105       789.1606  582.5330  995.7882 473.1509 1105.1703
## May 2105      1029.0407  813.3489 1244.7324 699.1687 1358.9127
## Jun 2105      1048.4620  824.0720 1272.8520 705.2871 1391.6368
## Jul 2105      1137.0253  904.2619 1369.7887 781.0444 1493.0062
## Aug 2105      1150.5906  909.7447 1391.4365 782.2486 1518.9326
## Sep 2105      1191.6808  943.0150 1440.3466 811.3793 1571.9823
## Oct 2105      1270.3948 1014.1476 1526.6420 878.4985 1662.2910
## Nov 2105       715.5118  451.9012  979.1225 312.3541 1118.6695
## Dec 2105       538.0244  267.2504  808.7983 123.9114  952.1373

ETS()2015 Forecast Second Best MAPE, Best AIC

##          Point Forecast    Lo 80     Hi 80    Lo 95     Hi 95
## Jan 2105       467.0779 394.0232  540.1325 355.3504  578.8053
## Feb 2105       433.5630 363.2208  503.9052 325.9838  541.1422
## Mar 2105       488.5433 407.9845  569.1021 365.3392  611.7474
## Apr 2105       775.7648 650.2409  901.2887 583.7926  967.7370
## May 2105      1025.4609 858.9559 1191.9659 770.8135 1280.1083
## Jun 2105      1059.2984 882.8443 1235.7525 789.4351 1329.1617
## Jul 2105      1060.0561 878.4621 1241.6501 782.3320 1337.7802
## Aug 2105      1157.8419 957.6237 1358.0602 851.6346 1464.0493
## Sep 2105      1139.3621 936.3761 1342.3481 828.9218 1449.8025
## Oct 2105      1210.0183 992.4114 1427.6252 877.2172 1542.8194
## Nov 2105       824.4479 649.7491  999.1468 557.2691 1091.6268
## Dec 2105       526.6290 379.0541  674.2038 300.9327  752.3252
## Jan 2106       467.0779 322.8925  611.2632 246.5654  687.5903
## Feb 2106       433.5630 290.6792  576.4468 215.0411  652.0849
## Mar 2106       488.5433 340.3107  636.7759 261.8411  715.2454
## Apr 2106       775.7648 598.9757  952.5539 505.3892 1046.1404
## May 2106      1025.4609 817.5259 1233.3959 707.4518 1343.4700
## Jun 2106      1059.2984 843.2792 1275.3176 728.9256 1389.6712
## Jul 2106      1060.0561 839.7847 1280.3275 723.1801 1396.9321
## Aug 2106      1157.8419 921.9488 1393.7351 797.0745 1518.6094
## Sep 2106      1139.3621 901.0860 1377.6383 774.9502 1503.7741
## Oct 2106      1210.0183 959.1410 1460.8956 826.3345 1593.7021
## Nov 2106       824.4479 609.6893 1039.2066 496.0030 1152.8929
## Dec 2106       526.6290 333.2515  720.0065 230.8836  822.3743
## ETS(M,N,A) 
## 
## Call:
##  ets(y = variableB, model = "MNA") 
## 
##   Smoothing parameters:
##     alpha = 0.254 
##     gamma = 1e-04 
## 
##   Initial states:
##     l = 890.5525 
##     s=-320.7139 -22.8562 362.6931 292.0145 310.5107 212.7001
##            211.968 178.1159 -71.586 -358.8038 -413.7806 -380.2618
## 
##   sigma:  0.122
## 
##      AIC     AICc      BIC 
## 487.5074 511.5074 511.2602
##          Point.Forecast    Lo.80     Hi.80    Lo.95     Hi.95
## Jan 2105       467.0779 394.0232  540.1325 355.3504  578.8053
## Feb 2105       433.5630 363.2208  503.9052 325.9838  541.1422
## Mar 2105       488.5433 407.9845  569.1021 365.3392  611.7474
## Apr 2105       775.7648 650.2409  901.2887 583.7926  967.7370
## May 2105      1025.4609 858.9559 1191.9659 770.8135 1280.1083
## Jun 2105      1059.2984 882.8443 1235.7525 789.4351 1329.1617
## Jul 2105      1060.0561 878.4621 1241.6501 782.3320 1337.7802
## Aug 2105      1157.8419 957.6237 1358.0602 851.6346 1464.0493
## Sep 2105      1139.3621 936.3761 1342.3481 828.9218 1449.8025
## Oct 2105      1210.0183 992.4114 1427.6252 877.2172 1542.8194
## Nov 2105       824.4479 649.7491  999.1468 557.2691 1091.6268
## Dec 2105       526.6290 379.0541  674.2038 300.9327  752.3252
## Jan 2106       467.0779 322.8925  611.2632 246.5654  687.5903
## Feb 2106       433.5630 290.6792  576.4468 215.0411  652.0849
## Mar 2106       488.5433 340.3107  636.7759 261.8411  715.2454
## Apr 2106       775.7648 598.9757  952.5539 505.3892 1046.1404
## May 2106      1025.4609 817.5259 1233.3959 707.4518 1343.4700
## Jun 2106      1059.2984 843.2792 1275.3176 728.9256 1389.6712
## Jul 2106      1060.0561 839.7847 1280.3275 723.1801 1396.9321
## Aug 2106      1157.8419 921.9488 1393.7351 797.0745 1518.6094
## Sep 2106      1139.3621 901.0860 1377.6383 774.9502 1503.7741
## Oct 2106      1210.0183 959.1410 1460.8956 826.3345 1593.7021
## Nov 2106       824.4479 609.6893 1039.2066 496.0030 1152.8929
## Dec 2106       526.6290 333.2515  720.0065 230.8836  822.3743

Month.Yr <- c(“February 2015”, “March 2015”, “April 2015”, “May 2015”, “June 2015”, “July 2015”, “August 2015”, “September 2015”,“October 2015”, “November 2015”, “December 2015”)

          #Month.Yr <- c("January 2016", "February 2016", "March 2016", "April 2016", "May 2016", #"June 2016", "July 2016", "August 2016", "September 2016","October 2016",  "November 2016", "December #2016", "January 2017")", "January 2017")

Forecast16B[“CrossValidateB”] <- ts(c(1526,1099,1422,1979,1752,1909,2196,2275,2613,2327,2649,2008,1520), start = c(2015,2), frequency = 12)

summary(ETSB)

Forecast16B <- tail(Forecast16B)

Forecast16B

Developing a system to prevent inventory stockouts.

[In a classic overview of forecasting demand,] the authors Chambers, Mullick, and Smith note that “in production and inventory control, increased accuracy is likely to lead to lower safety stocks. Here the manager and forecaster must weigh the cost of a more sophisticated and more expensive technique against potential savings in inventory costs.(https://hbr.org/1971/07/how-to-choose-the-right-forecasting-technique)Harvard Business Review

The researchers wrote this is 1971, and perhaps forecasting techniques are no longer carry such a hefty price tag. For this project we endeavor to provide Sigco, Inc. with an inventory management model that will help prevent stockouts of key products. Overall, Sigco uses 300 different items, but there are only a handful of ones which are utilized regularly.

To develop this model, we performed time series analysis with monthly demand data since January 2012 on thirty different SKUs that Sigco uses with such regularity that stock outs are common. We used a combination of forecasting and the EOQ. We exclusively rely on time series forecasting; because we are not looking into factors which may affect the SKU behavior, we do not do any regression that looks for correlation.

Decide on a horizon

*Initially we had 2 years of historical data, but research into time series analysis revealed that’s not enough to identify underlying trends and seasonality. Forecasting with this monthly data in POM consistently revealed that the lowest error, mainly MAPE, came from naive forecasting.

*Secured three more years of data. Once intitially plotted with the assistance of the forecasting package in R, we were able to patterns. We could call on special functions to decompose each time series for error, trend and seasonality and to return a forecast based utilizing the best model, mainly exponential smoothing. The forecasting model which returns the lowest error is automatically chosen.

*To apply these predictions to the EOQ model, we use a monthly forcast for the average demand and divide it by 21 (business days per month) to reach an average daily demand \[\bar{x}_d\].

*To arrive at the sigma of daily demand, \[\sigma_d\], we take the standard deviation of monthly demand for the hold out, divide it by 21 and then multiply it by the seasonal index, also returned as part of the decomposition function.

*Next, we calculate daily safety stock and reorder levels for eacj month. Because there has been a shift from month to month historically, we think it makes sense to apply an inventory system which takes this into account.

*Because Sigco would like to factor in a 10% increase in business, we can multiple the ROP and SS by 1.1

We did monthly and quarterly analyses. Quarterly returned lower errors, however in developing a test model where we “held out” about 20%, monthly analyses returned lower MAPEs.

Preliminary Analysis

Graphing the data

Are there consistent patterns?

Is there a significant trend?

Is seasonality important?

Is there evidence of the presence of business cycles? Are there any outliers in the data that need to be explained by those with expert knowledge?

How strong are the relationships among the variables available for analysis?

Find the highest volume SKUs and do inventory management calculations based on historical data.

Equations based on the following assumptions:

  1. Continuous Review Policy

  2. consistent lead time of 6 days and a service level of 98%.

  3. Service level of 98%.

Average Daily Demand:\[\bar{x}_d = \frac{\bar{x}_monthly}{21}\]

Standard Deviation of Monthly Demand:

\[\sigma_d =\frac{\sigma_d}{\sqrt{21}\]

Lead Time:\[L = 5\]

Service Level:\[z = 2.05\]

Average demand during lead time: \[\bar{x}_L = \bar{x}_d * L\]

Safety Stock:\[z*\sigma_d*\sqrt{L}\]\[\bar{x}_L+z*\sigma_d*\sqrt{L}\]

Reorder Level: