The best forecasting algorithm for each of your workstreams is automatically selected by analyzing your historical data and testing all algorithms to determine which one will perform best for the specific workstream.

However, you can overwrite the automatic algorithm selection and choose any algorithm Tymeshift offers.

This article contains the following topics:

Related articles:

## Statistical algorithms

### 8-weeks average

The 8-weeks average forecasting algorithm is straightforward, reliable, and popular. Use this algorithm to describe running averages. This algorithm takes the averages from the past 8 weeks (or less, if 8 weeks is not available) to generate forecasts for the next 12 weeks.

**Note: **A minimum of 2 weeks of historical data is required.

This algorithm looks at the previous 8 weeks, period by period. The periods are then averaged to produce a forecasted value.

For example, to forecast the volume for a specific time period, such as Wednesday from 9:00 am to 9:15 am, Tymeshift calculates the average volume of the same time periods from the previous 8 Wednesdays to produce the forecasted value.

**When to use it:**

- If you have limited historical data
- Short term forecasts (up to 12 weeks)
- No large upward or downward trends in volume that can be observed over the past weeks
- Simplicity and predictability of results

### 8-Weeks average with momentum

This algorithm is similar to the 8-weeks average algorithm. It differs from that algorithm by replicating the general upwards or downwards trends in your volume over the previous 8 weeks and adjusts the forecast to match.

Similar to the 8-weeks average, this algorithm looks at the previous 8 weeks and then averages those periods to produce the forecasted value. After the average value is defined, Tymeshift reviews how the volume is distributed throughout weekdays and hours of the day. For instance, if it's usually higher or lower at this period of this day than the average. Then, based on the defined deviation from the average, the forecasted value is adjusted.

For instance, use the same Wednesday 9:00 am to 9:15 am period as an example. Using the 8-weeks average with momentum algorithm, Tymeshift calculates the average volume from the same time period on the previous 8 Wednesdays. It then compares this specific interval to other intervals on Wednesdays. If it typically has 10% lower volume than other intervals, Tymeshift reduces the average volume of the 9:00 am to 9:15 am periods on Wednesdays by 10% to adjust the forecasted value.

**When to use it**

- If you have limited historical data
- Short term forecasts (up to 12 weeks)
- Have large upward or downward trends in volume that can be observed over the past 8 weeks

For both of the 8-week algorithms you'll need to frequently recalculate the forecast to get the most accurate prediction.Â

## Machine learning algorithms

### Prophet daily and historical patterns

Prophet is an open source algorithm developed by Facebook (Meta). It's built for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality.

**How it works**

It works best with time series that have strong seasonal effects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well. Not all forecasting problems can be solved by the same procedure. Prophet is optimized for the business forecast tasks they have encountered at Facebook (Meta).

Tymeshift uses Prophet to forecast daily values and then uses historical averages for the last 4 weeks to distribute forecasted daily values and generate an intraday forecast.

**When to use it:**

- At least a few months and preferably a year of historical data
- Strong multiple â€śhuman-scaleâ€ť seasonalities: day of week and time of year
- A reasonable number of missing observations or large outliers are detected in your data
- Historical trend that changes, for instance, due to product launches for example
- Trends that are non-linear growth curves, where a trend hits a natural limit or saturates

### XGBoost

eXtreme Gradient Boost (XGBoost) is a gradient boosting algorithm that can be used for solving different machine learning (ML) issues, such as classification and regression. It's one of the most used ML algorithms for forecasting.Â

**How it works**

A boosting algorithm is an ensemble algorithm of decision trees that increases the complexity of models that suffer from high bias. That means it's constructed of multiple learning algorithms to achieve better results. XGBoost is an implementation of Gradient Boosting algorithm under the open-source software library. It's focused on the computation speed and model performance. This library has the ability to distribute model training to generate faster, more accurate results.

**When to use it**

- At least a few months (preferably a year) of historical data
- If there is not much data (zero data for most of historical period)
- If the data has a lot of existing outliers, such as special events or unexpected peaks, because this model is robust and less sensitive to outliers

### LightGBM

Light Gradient-Boosting Machine (LightGBM) is a gradient boosting framework developed by Microsoft that can be used for solving different machine learning (ML) issues, such as ranking, classification, and regression.Â

**How it works**

LightGBM is a boosting algorithm and works similarly to XGBoost. These algorithms differ in how they "grow the trees" - XGBoost uses level-wise (horizontal) growth, while LightGBM uses leaf-wise (vertical) growth. This difference in certain scenarios makes LightGBM a faster and more accurate choice compared to XGBoost. However, it depends on a specific use case.

**When to use it**

- At least a few months (preferably a year) of history
- If data has complex non-linear patterns
- Large-scale data
- If performance is more important

## AI algorithms

### NeuralProphet daily and historical patterns

NeuralProphet bridges the gap between traditional time-series models and deep learning methods. It is open source, based on PyTorch, and builds on the legacy of Facebook (Meta) Prophet. The biggest upgrade related to Prophet is the possibility for extensions such as new features, new algorithms, etc.Â

NeuralProphet uses a fusion of classic components and neural networks to produce highly accurate forecasts:

- Provides automatic hyperparameter selection
- All modules are trained with mini-batch stochastic gradient descent (SGD)
- Includes all the components from the original Prophet model (trend, seasonality, recurring events and regressors)

NeuralProphet is faster in computing predictions compared to the original Facebook (Meta) Prophet, while providing more functionality. Tymeshift uses a similar approach; Prophet - forecast daily values with NeuralProphet and use historical patterns for intraday forecast.

**When to use it:**

- At least a few months and preferably a year of historical data
- Strong multiple â€śhuman-scaleâ€ť seasonalities: day of week and time of year
- Important holidays (or seasonalities) that occur at irregular intervals that are known in advance (for example, the Super Bowl)
- A reasonable number of missing observations or large outliers
- Historical trend that changes due to product launches, for example
- Trends that are non-linear growth curves, where a trend hits a natural limit or saturates

### Long Short-Term Memory (LSTM) Neural Network

Long Short-Term Memory (LSTM) Neural Network is one of the most advanced models for forecasting time series. Its ability to learn long term sequences of observations has made it a trending approach to modern forecasting.

It's an artificial recurrent neural network (RNN) used in the field of deep learning. A common LSTM unit is composed of a cell, an input gate, an output gate and a forget gate. The cell remembers values over arbitrary time intervals and the three gates regulate the flow of information into and out of the cell.

The LSTM is capable of capturing the patterns of both long term seasonalities, such as a yearly pattern, and short term seasonalities, such as weekly patterns. It works well with outstanding events. Such events impact demand on the day when it's happening, as well as the days before and after the event is happening. The different gates inside LSTM boost its capability for capturing non-linear relationships for forecasting.

For example, people may book more days of accommodation in order to attend a sports event. The LSTM has the ability to triage the impact patterns from different categories of events.

Tymeshift has several LSTM models trained on different frequencies of the data:

- 15 min - raw data that is used for training and, as a result, gets intraday forecasts immediately
- Hourly - data aggregated on an hourly level is used for training the model, which then produces a forecast on an hourly level
- Daily - data aggregated on daily level is used for training the model. The model then produces a daily forecast and applies historical patterns to get an intraday forecast.

**When to use it:**

- A good amount of historical data, preferably over a year
- Medium to high volume workstreams
- Working hours that usually don't have periods with no inbound volume
- Need to account for strong seasonality patterns as well as some outstanding repeated events