ARIMA estimation and short-term forecasting
Part 2 moves from description to forecasting. Since Part 1 showed that the GDP series is persistent, seasonal and non-stationary in levels, the natural next question is whether a statistical model can use that structure to forecast the near future. The ARIMA model used here is estimated on the log-transformed series and tested against an eight-quarter holdout period. This is a statistical forecasting exercise, not a structural macroeconomic model. It does not explain GDP through consumption, investment, exports or fiscal policy. It asks whether the past behaviour of the series itself contains enough information for short-term projection.

Table 2 reports an ARIMA model with an autoregressive coefficient of about 0.737, a seasonal moving-average coefficient of about -0.313 and a positive constant of about 0.0076. All three are statistically significant. The autoregressive coefficient confirms persistence: GDP movements do not disappear immediately, but carry over into subsequent quarters. The coefficient is lower than in some very smooth macroeconomic level series, which suggests that short-run corrections and shocks matter, but it is still large enough to confirm meaningful inertia.
Table 2. ARIMA model estimation and parameters accuracy
| Model | arima | ets | naive | snaive |
|---|---|---|---|---|
| sigma2 | 0.000 | 0.000 | 0.007 | 0.001 |
| log_lik | 223.750 | 146.818 | NA | NA |
| AIC | -439.500 | -275.635 | NA | NA |
| AICc | -439.040 | -273.542 | NA | NA |
| BIC | -429.413 | -252.556 | NA | NA |
| MSE | NA | 0.000 | NA | NA |
| AMSE | NA | 0.001 | NA | NA |
| MAE.x | NA | 0.003 | NA | NA |
| lb_stat | 2.525 | 15.927 | 265.816 | 63.430 |
| lb_pvalue | 0.773 | 0.007 | 0.000 | 0.000 |
| .type | Test | Test | Test | Test |
| ME | 0.002 | 0.001 | 0.017 | 0.042 |
| RMSE | 0.006 | 0.009 | 0.039 | 0.044 |
| MAE.y | 0.005 | 0.008 | 0.035 | 0.042 |
| MPE | 0.040 | 0.030 | 0.345 | 0.883 |
| MAPE | 0.108 | 0.159 | 0.741 | 0.883 |
| MASE | NA | NA | NA | NA |
| RMSSE | NA | NA | NA | NA |
| ACF1 | 0.249 | 0.197 | 0.177 | 0.572 |
| estimate__ar1 | 0.737 | NA | NA | NA |
| std.error__ar1 | 0.075 | NA | NA | NA |
| statistic__ar1 | 9.806 | NA | NA | NA |
| p.value__ar1 | 0.000 | NA | NA | NA |
| estimate__sma1 | -0.313 | NA | NA | NA |
| std.error__sma1 | 0.114 | NA | NA | NA |
| statistic__sma1 | -2.743 | NA | NA | NA |
| p.value__sma1 | 0.007 | NA | NA | NA |
| estimate__constant | 0.008 | NA | NA | NA |
| std.error__constant | 0.001 | NA | NA | NA |
| statistic__constant | 5.045 | NA | NA | NA |
| p.value__constant | 0.000 | NA | NA | NA |
The negative seasonal moving-average coefficient indicates that seasonal innovations are corrected over time. This fits the evidence from Part 1, where seasonal strength was extremely high. The positive constant is consistent with an underlying growth tendency in the log-transformed series. In economic terms, the model is capturing three elements: gradual growth, persistence from the recent past and seasonal adjustment in the response to shocks.
The residual diagnostics are strong. The Ljung-Box p-value for the ARIMA model is about 0.773, which means that there is no evidence of serious remaining residual autocorrelation. Figure 4 supports this. Most residuals fluctuate around zero, although several shocks remain visible, especially around the global financial crisis and the COVID-19 period. The pandemic-related residual is particularly large and negative, which is exactly what one would expect from an event that cannot be predicted from the normal statistical structure of the series.
The ARIMA model also performs well against benchmark models. Its holdout MAPE is about 0.108%, lower than the ETS model and much lower than the naive and seasonal naive alternatives. Its RMSE and MAE are also smaller than the benchmark models. This is important because a useful forecasting model should not merely reproduce the past; it should outperform simple alternatives. In this case, ARIMA provides a clearly better short-term forecast than using the previous value or the same quarter from the previous year.
Figure 5 and Table 3 show the eight-quarter forecast from 2024Q1 to 2025Q4. The forecast retains the seasonal pattern of the GDP index, with lower first-quarter values and higher values later in the year. All actual observations fall within both the 80% and 95% forecast intervals. This is a strong result for a short-term forecasting exercise. It means that the model’s uncertainty bands are wide enough to contain the realised path, but still narrow enough to be informative.

The point forecasts are also close to actual values. In 2024Q4, the actual value is 120.382, while the forecast mean is 120.479. In 2025Q2, the actual value is 120.031, while the forecast mean is 119.812. In 2025Q3, the actual value is 124.705, while the forecast mean is 124.398. The largest visible difference is in 2025Q4, where the actual value is 122.865 and the forecast mean is 123.997, but even there the actual value remains well within the forecast intervals.
Table 3. Forecast eight quarters ahead — ARIMA model
| Date | Actual | Mean | Lower 80% | Upper 80% | Lower 95% | Upper 95% |
|---|---|---|---|---|---|---|
| 2024 Q1 | 111.7 | 110.9 | 107.9 | 114.0 | 106.3 | 115.7 |
| 2024 Q2 | 117.4 | 116.4 | 112.5 | 120.5 | 110.5 | 122.7 |
| 2024 Q3 | 121.9 | 120.9 | 116.4 | 125.5 | 114.2 | 128.0 |
| 2024 Q4 | 120.4 | 120.5 | 115.9 | 125.3 | 113.5 | 127.9 |
| 2025 Q1 | 113.8 | 114.2 | 108.9 | 119.7 | 106.2 | 122.8 |
| 2025 Q2 | 120.0 | 119.8 | 113.8 | 126.1 | 110.7 | 129.6 |
| 2025 Q3 | 124.7 | 124.4 | 117.9 | 131.2 | 114.6 | 135.0 |
| 2025 Q4 | 122.9 | 124.0 | 117.4 | 131.0 | 114.1 | 134.8 |
The practical conclusion is that the ARIMA model is useful as a short-term monitoring tool for Bosnia and Herzegovina’s GDP. It provides a disciplined baseline against which new GDP releases can be compared. If future observations fall far outside the forecast bands, that would suggest new information or a new shock. However, the model should not be treated as a full economic forecast. It cannot anticipate political shocks, external-demand changes, energy-price movements or policy shifts before they appear in the data.
Methodological appendix to Part 2
ARIMA stands for autoregressive integrated moving average. The autoregressive part means that current values depend partly on past values. The integrated part means that differencing is used to make a non-stationary series more suitable for modelling. The moving-average part means that current values also reflect past shocks or forecast errors. Seasonal ARIMA models extend this logic to recurring quarterly or monthly patterns. In this exercise, the series is split into a training sample and an eight-quarter holdout sample. The model is estimated on the training data and then evaluated on observations that were not used in estimation. Forecast accuracy is assessed using RMSE, MAE and MAPE. RMSE penalises large errors more heavily, MAE measures average absolute error and MAPE expresses error as a percentage of the observed values. Residual tests, especially the Ljung-Box test, check whether the model has left systematic autocorrelation unexplained.
