Ikigai Labs’ Generative AI Platform Now Available in AWS Marketplace
Read announcement

How to Choose the Best Model for Time Series Forecasting: ARIMA, Prophet, or mSSa

Time series forecasting is the process of analyzing time series data using statistical methods and modeling for predictions that guide decision-making. Let's cover ARIMA, Prophet, and mSSa.

Feb 14, 2023
15 minutes to read

Read this blog to get an overview and uses cases for:

  • Prophet
  • mSSa
  • aiCasting

Many types of business data are organized in time—for instance, customer purchases on an e-commerce website or frequent orders of inventory materials by companies. Making sense of this time series data is vital for data or business analytics teams to understand the future dynamics of consumption and demand for their companies' products and services. Therefore, building predictive models to forecast demand is a vital task.

There's a whole range of statistical as well as machine learning (ML) models that can be leveraged to build business-critical time series forecasting applications. However, time series data can be highly variable, and no one time series forecasting model will be applicable across use cases.

With recent progress in ML and deep learning, new models are being developed all the time that provide state-of-the-art forecasting performance. For instance, Amazon has been working on a series of time series forecasting models over the last decade to predict customer demand for its products, ranging from statistical models to random forests to deep learning models, and transformers. Similarly, your business can benefit immensely from leveraging time series forecasting models to make accurate predictions of customer demand.

In this article, you'll learn about ARIMA, Prophet, and mSSa, three popular time series forecasting models. These models have proved to be highly robust, reliable, easy to understand and implement, and versatile for forecasting applications in industries such as e-commerce, finance, retail, and travel. By the end of this article, you'll have a better sense of which of these models might be best for your own use case.

Why Do Time Series Forecasting Models Matter?

Real-world time series data have several characteristic patterns that reflect the nature of consumption and demand. For instance, if you're in the business of selling electronic gadgets, it's important for you to know how much inventory to stock so that you can meet the number of customer orders.

Demand for your products can also change over time due to factors such as seasonal variations, holidays, the weather, or special events like the launch of a new product. Therefore, accurately forecasting the dynamics of demand becomes a critical function for your business. Poor demand forecasts may lead to grave consequences such as a significant reduction in sales and revenue as well as losing market share to your competitors.

Using time series forecasting models enables your company to predict demand for the next day, week, month, or quarter and helps you to plan and prioritize business objectives and strategy accordingly.

The time series forecasting models that have emerged over the years are based on different assumptions about the nature of the underlying time series data; as such, they've been developed to suit specific applications.

To determine the time series forecasting model that's right for you, you should start by conducting preliminary analytics and evaluating the statistical distribution and properties of your data. This is an important step in identifying the right set of algorithms to model your specific time series data. Getting the choice right can help make your process more efficient without the need to test out multiple models.

Once you've set a good baseline in terms of your model's performance, you can further improve it by experimenting with its various parameters. Additionally, the right model allows you to place more confidence in the accuracy of its results. Therefore, defining the most relevant time series forecasting model for your specific business use case is an important decision.

Choosing between ARIMA, Prophet, and mSSa

As mentioned, your particular use case is a key consideration. You may have large amounts of historical data that can be leveraged to make demand predictions for the next day, week, or month. Predicting electricity demand is one example that fits this scenario.

Maybe you don't have a lot of historical data but still need to make forecasts for functions like sales or viewership or usage of a particular feature or product.

In this section, you'll learn about the underlying principles of the ARIMA, Prophet, and mSSa time series forecasting models and be able to decide which models would be better suited to your forecasting goals.

The ARIMA Model

Autoregressive integrated moving average, or ARIMA, is a forecasting algorithm based on the assumption that past time series data can be used to predict future values.

The amount of past information to use for modeling is controlled by a hyperparameter, p. ARIMA also assumes that past forecast errors can also be used to improve forecasts. The most recent errors are indexed by another hyperparameter, q.

ARIMA models are great for forecasting stationary time series data. This implies that the data does not contain any seasonal or temporary trends and the statistical properties of the source of the time series data, like the mean and variance, do not change over time.

A time series can be made stationary through several methods, with the common technique being differencing, where each differencing value is the difference between the value at the current time period and the previous time period. The number of differences required to achieve stationarity is determined by a hyperparameter, d.

ARIMA is widely used for demand forecasting use cases, such as predicting demand in food manufacturing, energy, or user demand for services like ride-hailing.

The Prophet Model

Prophet is an open-source time series forecasting package developed by the data science team at Facebook. It's available in both Python and R and has been widely adopted across key industries such as e-commerce, tech, and finance.

The forecasting algorithm is based on an additive model that can be decomposed into three distinct components: trends, seasonality, and holidays. As the forecasting model can be decomposed into its constituent factors, it's easy to extract the model coefficients to understand the relative impact of seasonality, trends, and holidays on the forecast. Prophet is best suited for forecasting applications that are associated with:

* Hourly, daily, or weekly data with a few months of historical data

* Important holidays and events that occur at known but irregular intervals such as the World Cup

* Historical pattern changes due to new feature or product launches

* A reasonable number of missing values or the presence of large outlier values

It's specifically developed for forecasting business time series such as sales, inventory, etc. For instance, Facebook uses Prophet to forecast the number of advertisement views across the platform.

Prophet is designed to make forecasting automated and efficient for business analysts who may not have specialized data science skills. Its default parameters often yield forecasts that are as accurate as those produced by experienced forecasters. It's easy to use by nonexperts and requires less hyperparameter tuning.

The mSSa model

Multivariate singular spectrum analysis, or mSS, is a novel time series forecasting method that was recently formulated by scientists at MIT; they've shown that on benchmark data sets focused on time series data from electricity grids, traffic patterns, and financial markets, mSSa performs competitively with state-of-the-art neural networks for time series, such Amazon's DeepAR and LSTM.

mSSa is particularly useful for modeling multiple time series with a varying number of observations per time series; it's also highly effective at imputation, or filling in missing values. mSSa has also been used to predict real-time traffic flow in software-defined networks  with high levels of accuracy.


Forecasting demand is key for businesses to respond to fluctuating customer demand for their products and services. In this article, you learned about three popular time series forecasting models that are based on different statistical foundations: ARIMA, Prophet, and mSSa. These models have been used extensively at both startup and enterprise organizations, and you're now better equipped to choose which one could be right for you.

Time series forecasting models can be built from scratch using libraries in R, Python, etc. Alternatively, for some organizations, it makes more sense to leverage existing platform solutions. For example, Ikigai provides a forecasting solution that includes all available algorithms including ARIMA, Prophet, mSSa, linear regression, etc., that can be easily configured using its no-code interface. When analysts are not sure which model to use, they can easily compare different ones with a one-click interface, or rely on AutoML to help them select the best model for their specific data.

Additionally, Ikigai also provides a proprietary forecasting method called aiCast that uniquely leverages statistical models with additional layers of machine learning on top of it, resulting in 20% more accurate forecasts vis-a-vis other state-of-the-art methods. Further, aiCast is capable of making an accurate prediction based on only three weeks of data.  

Ikigai also provides objective measures of confidence in the results that you can try today for better forecasting solutions.

In this article:


Sundeep Teki

Recommended articles

Ikigai and OpenCrowd Partner to Unlock the Power of AI for Financial Services Organizations
Ikigai Platform
Banking & Financial Services
Not all GenAI is created equal
Time Series Forecasting
The Evolving Landscape of AI: Contrasting Views on Models, Training and Inference
Time Series Forecasting

Subscribe to Ikigai Blog

Don't miss the latest updates from the Ikigai team.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.