Auto ARIMA for Sales Data (Code)

Auto ARIMA is a powerful tool for modeling and forecasting time series data, including sales data. By automating the process of selecting the best-fitting ARIMA model, Auto ARIMA can save time and effort while providing accurate predictions.

Importing Necessary Libraries

Python

import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.tsa.statespace.sarimax import SARIMAX
from statsmodels.tsa.stattools import adfuller
from    pmdarima import auto_arima

Data Preparation

  • Load the sales data: Load the sales data into a Pandas DataFrame.
  • Check for stationarity: Use the Augmented Dickey-Fuller (ADF) test to check if the data is stationary. If not, apply differencing to make it stationary.

Auto ARIMA Implementation

Python

# Fit the Auto ARIMA model
auto_arima_model = auto_arima(sales_data['Sales'], start_p=1, start_q=1, max_p=3, max_q=3, m=12, seasonal=True, stepwise=True)

# Print the model summary
print(auto_arima_model.summary())

Forecasting

Python

# Generate forecasts for the next 12 months
forecast = auto_arima_model.predict(horizon=12)
print(forecast)

Incorporating External Factors

If there are external factors that may influence sales, such as promotions, seasonality, or economic indicators, you can include them as exogenous variables in the SARIMAX model.

Python

# Include exogenous variables (e.g., promotions, seasonality)
exogenous_vars = pd.DataFrame({'Promotions': [0, 1, 0, ...], 'Season': [1, 2, 3, ...]})

# Fit the SARIMAX model with exogenous variables
sarimax_model = SARIMAX(sales_data['Sales'], exog=exogenous_vars, order=(p, d, q), seasonal_order=(P, D, Q, s))
sarimax_model_fit = sarimax_model.fit()

# Generate forecasts
forecast = sarimax_model_fit.forecast(horizon=12)
print(forecast)

Model Evaluation

Evaluate the performance of the Auto ARIMA model using metrics like Mean Absolute Error (MAE), Mean Squared Error (MSE), and Root Mean Squared Error (RMSE).

Python

from sklearn.metrics import mean_absolute_error, mean_squared_error

# Evaluate the forecast accuracy
mae = mean_absolute_error(actual_sales, forecast)
mse = mean_squared_error(actual_sales, forecast)
rmse = np.sqrt(mse)

print("MAE:", mae)
print("MSE:", mse)
print("RMSE:", rmse)

By following these steps and using the Auto ARIMA model, you can effectively forecast sales data and make informed business decisions.

ACF and PACF for Stock Market Returns
Steps to Forecast Using ARIMA

Get industry recognized certification – Contact us

keyboard_arrow_up
Open chat
Need help?
Hello 👋
Can we help you?