Prophet and Automated Forecasting

From WFM Labs
Prophet additive model: trend, seasonality, and holiday components.

Prophet is an open-source forecasting library developed by Meta (formerly Facebook) that produces reliable forecasts for time series data exhibiting multiple seasonality, trend changes, and holiday effects.[1] Originally designed to handle the forecasting needs of business applications at scale, Prophet has become one of the most widely adopted forecasting tools among data practitioners—including those in workforce management—because it delivers strong baseline forecasts with minimal statistical expertise and minimal parameter tuning.

For WFM professionals, Prophet occupies a strategic middle ground. Commercial WFM platforms offer built-in forecasting but treat the process as a black box. Classical statistical methods like ARIMA and exponential smoothing offer transparency but demand significant statistical knowledge and careful manual configuration. Prophet provides an accessible entry point to ML-powered forecasting: it handles the multiple seasonalities, missing data, and holiday effects that characterize contact center volume data, while exposing intuitive controls that WFM analysts—not just data scientists—can understand and adjust. Available in both Python and R, Prophet integrates naturally into the analytical workflows that modern WFM teams are building alongside or on top of their commercial platforms.

This article covers Prophet's core architecture, its natural fit for WFM use cases, the NeuralProphet extension for more complex scenarios, and practical guidance on when Prophet adds genuine value versus when simpler or more specialized methods are more appropriate. For broader context on statistical time series methods, see Statsmodels and Time Series Analysis. For machine learning approaches beyond Prophet, see Scikit-learn for WFM Forecasting.

What Is Prophet

Prophet is a decomposable additive regression model with four main components:[1]

  • Trend — The long-term trajectory of the time series, modeled as either a piecewise linear function or a logistic growth curve. Prophet automatically detects points where the trend changes direction (changepoints).
  • Seasonality — Recurring periodic patterns modeled using Fourier series. Prophet can capture yearly, weekly, and daily seasonal patterns simultaneously, and users can define custom seasonalities for domain-specific cycles.
  • Holidays and special events — Known events that create predictable disruptions in the time series pattern. Users supply a dataframe of holiday dates and Prophet estimates their effect.
  • External regressors — Additional time-varying variables (marketing spend, weather, economic indicators) that influence the forecast target. These are incorporated as linear terms in the additive model.

The model can be expressed conceptually as:

y(t) = trend(t) + seasonality(t) + holidays(t) + regressors(t) + error(t)

This additive structure is what makes Prophet interpretable. Each component can be visualized independently, so a WFM analyst can see exactly how much of the forecast is driven by the weekly pattern versus a holiday effect versus the long-term trend. This decomposition aligns naturally with how WFM professionals already think about volume drivers.

Prophet fits its model using Stan, a probabilistic programming framework, which enables it to produce not just point forecasts but also uncertainty intervals—a feature directly relevant to probabilistic planning in WFM. The width of these intervals reflects the model's confidence and can inform staffing buffer decisions.

Installation and Basic Usage

Prophet is installed via pip and follows a scikit-learn-style API:[2]

from prophet import Prophet
import pandas as pd

# Prophet requires a DataFrame with columns 'ds' (datestamp) and 'y' (value)
df = pd.read_csv('daily_call_volume.csv')
df.columns = ['ds', 'y']

# Fit the model
model = Prophet()
model.fit(df)

# Create future dataframe and forecast
future = model.make_future_dataframe(periods=30)  # 30 days ahead
forecast = model.predict(future)

# Visualize components
model.plot_components(forecast)

The plot_components method produces a decomposition chart showing trend, weekly seasonality, and yearly seasonality separately—immediately useful for a WFM analyst trying to understand what is driving volume patterns.

Why Prophet for WFM

Contact center volume data has characteristics that make forecasting difficult with traditional methods. Prophet was designed to handle exactly these characteristics, which is why it has gained traction among WFM teams building analytical capabilities beyond their commercial platform's native forecasting.

Multiple Overlapping Seasonalities

Contact volume exhibits at least two strong seasonal patterns simultaneously: an intra-week pattern (Mondays are typically high, weekends low) and an intra-year pattern (tax season spikes, summer slowdowns, holiday surges). Many centers also show monthly billing-cycle patterns. Classical methods like ARIMA handle a single seasonal period well but struggle with multiple overlapping seasonalities. Prophet models each seasonal component independently using Fourier series, handling this naturally.[1]

Missing Data and Irregular Histories

WFM data frequently has gaps—system outages, migration periods, newly launched queues with short histories. ARIMA requires continuous, evenly-spaced observations and breaks when data is missing. Prophet treats the time series as a regression problem rather than a state-space model, so it handles missing data gracefully without imputation or interpolation by the user.

Holiday and Special Event Effects

Holidays create sharp, predictable disruptions in contact volume. A day-after-Thanksgiving might see 40% lower volume while the first business day of January might spike 60% above normal. Prophet includes a dedicated holiday modeling component that estimates the effect size and window of influence for each event—a feature that directly addresses one of the most common WFM forecasting challenges.

Trend Changes

Contact centers experience structural shifts—new product launches, competitor exits, channel migration from voice to chat, pandemic-driven volume changes. These create changepoints where the historical trend no longer predicts the future. Prophet automatically detects these changepoints and adjusts the trend component accordingly, reducing the manual intervention that WFM analysts typically perform when "the model hasn't caught up to the new normal."

Analyst-Friendly Tuning

Perhaps most importantly for WFM adoption, Prophet's tuning parameters are interpretable in business terms rather than statistical terms. Instead of choosing ARIMA's (p, d, q) parameters—which require understanding of autocorrelation functions and stationarity—a WFM analyst adjusts parameters like "how flexible should the trend be" (changepoint_prior_scale), "how strong is the seasonal pattern" (seasonality_prior_scale), and "how wide should prediction intervals be" (interval_width). This design philosophy—making the analyst's domain knowledge the primary input rather than statistical expertise—was an explicit goal of Prophet's creators.[1]

How Prophet Works

Understanding Prophet's internals at a conceptual level helps WFM analysts make better modeling decisions. No mathematical derivation is required.

Trend Component

Prophet offers two trend models. The linear trend assumes the time series grows (or declines) at a roughly constant rate, with occasional changepoints where the rate shifts. This is appropriate for most contact center volume data, where growth tends to be incremental. The logistic growth trend assumes the series is approaching a saturation point—useful for modeling adoption curves (e.g., a new digital channel that will plateau once the addressable customer base is saturated).

The model places potential changepoints uniformly across the first 80% of the training data by default. It then uses a sparse prior (Laplace distribution) to select only the changepoints that actually matter—most potential changepoints will have an effect of zero. This automatic selection means the analyst does not need to manually identify when trend shifts occurred.

Seasonality Component

Seasonality is modeled using Fourier series—a mathematical technique that represents any periodic pattern as a sum of sine and cosine waves at different frequencies. The key parameter is the Fourier order, which controls how many wave components are used. A higher order captures more complex seasonal shapes but risks overfitting to noise.

Prophet's defaults (order 10 for yearly, order 3 for weekly) work well for many applications. WFM analysts working with data that has sharp weekly patterns—such as a center that is closed on weekends and shows a pronounced Monday spike—may benefit from increasing the weekly Fourier order to capture that sharper shape.

Fitting Process

Prophet uses maximum a posteriori (MAP) estimation by default for speed, but can perform full Bayesian inference via Markov Chain Monte Carlo (MCMC) sampling when uncertainty quantification is critical. The MAP approach produces point estimates for all parameters in seconds; MCMC takes minutes to hours but produces genuine posterior distributions that capture parameter uncertainty. For WFM applications where the uncertainty interval directly informs staffing buffers, the MCMC option may be worth the computational cost—particularly for probabilistic staffing models.

Daily and Weekly Seasonality

The seasonal patterns that Prophet captures correspond directly to the core patterns WFM professionals manage every day.

Intra-Week Patterns

Weekly seasonality captures the day-of-week pattern that dominates most contact center operations. Prophet will learn, for example, that Monday volume is 15% above the weekly average while Saturday is 40% below—and that this pattern itself shifts across the year (the Monday effect may be stronger in January than July). This is the same pattern that WFM analysts encode manually in their day-of-week factors, but Prophet learns it from data and can capture non-linear interactions with other components.

# Adjust weekly seasonality flexibility
model = Prophet(weekly_seasonality=True)

# Or add custom seasonality for specific business cycles
model.add_seasonality(
    name='monthly_billing',
    period=30.5,
    fourier_order=5
)

Intra-Day Patterns (Sub-Daily Data)

When working with sub-daily data (hourly or interval-level timestamps), Prophet automatically adds daily seasonality to capture the intra-day arrival pattern—the ramp-up from 8 AM, the lunch dip, the afternoon peak, and the evening decline that WFM professionals know intimately. This pattern is one of the most stable in contact center operations and Prophet captures it effectively.

# For sub-daily data, Prophet adds daily seasonality automatically
# You can control it explicitly:
model = Prophet(daily_seasonality=True)

# For more complex intra-day patterns (e.g., sharp lunch dip):
model = Prophet(daily_seasonality=False)
model.add_seasonality(
    name='daily',
    period=1,
    fourier_order=12  # Higher order for sharper patterns
)

Custom Seasonalities

Some contact centers have seasonal patterns that do not align with standard calendar periods. Billing cycles, pay periods, academic calendars, and subscription renewal cycles can create recurring volume patterns at non-standard intervals. Prophet allows custom seasonalities with arbitrary periods:

# Biweekly pay period pattern
model.add_seasonality(
    name='biweekly_pay',
    period=14,
    fourier_order=3
)

# Academic semester pattern (roughly 120 days)
model.add_seasonality(
    name='semester',
    period=120,
    fourier_order=5
)

Holiday and Special Event Handling

Holiday and special event modeling is arguably Prophet's strongest differentiator for WFM applications. Contact centers experience dramatic volume disruptions around holidays—both the holiday itself (typically low volume) and the surrounding days (often elevated volume due to pent-up demand or promotional activity).

Building a Holiday Calendar

Prophet accepts a dataframe of holidays with optional windows for days before and after:

import pandas as pd

holidays = pd.DataFrame({
    'holiday': [
        'new_years', 'mlk_day', 'presidents_day', 'memorial_day',
        'independence_day', 'labor_day', 'thanksgiving', 'christmas'
    ],
    'ds': pd.to_datetime([
        '2025-01-01', '2025-01-20', '2025-02-17', '2025-05-26',
        '2025-07-04', '2025-09-01', '2025-11-27', '2025-12-25'
    ]),
    'lower_window': [0, 0, 0, -1, 0, -1, -1, -2],  # Days before
    'upper_window': [1, 0, 0, 0, 1, 0, 1, 2],       # Days after
})

model = Prophet(holidays=holidays)
model.fit(df)

The lower_window and upper_window parameters capture the halo effect around holidays. For WFM, this is critical: the day after Thanksgiving, the week between Christmas and New Year, and the first Monday of January each have distinct volume patterns that differ from both the holiday itself and normal operations.

Promotional Events and Marketing Campaigns

Beyond public holidays, contact centers experience volume spikes from promotional events, product launches, rate changes, and billing cycle deadlines. These can be modeled as custom events using the same holiday framework:

promos = pd.DataFrame({
    'holiday': 'annual_sale',
    'ds': pd.to_datetime(['2024-11-29', '2025-11-28']),
    'lower_window': 0,
    'upper_window': 3,  # Sale generates calls for 3 days after
})

all_events = pd.concat([holidays, promos])
model = Prophet(holidays=all_events)

Country-Level Holiday Support

Prophet includes built-in holiday calendars for over 100 countries through integration with the holidays Python package. For multinational contact center operations, this eliminates the manual maintenance of holiday calendars across geographies:

model = Prophet()
model.add_country_holidays(country_name='US')
model.add_country_holidays(country_name='PH')  # Philippines
model.fit(df)

This is particularly relevant for BPO operations serving multiple markets, where the forecasting challenge involves overlaying customer-country holidays (demand-side) with agent-country holidays (supply-side).

Changepoint Detection

Changepoints are moments when the underlying trend of a time series shifts—new growth rate, new baseline level, or a structural break in the pattern. Contact centers encounter these frequently: a new product launch increases call volume 20%, a competitor's exit doubles support requests, a digital transformation initiative gradually shifts volume from voice to chat, or a pandemic abruptly restructures all contact patterns.

Automatic Detection

By default, Prophet places 25 potential changepoints uniformly across the first 80% of the training data and uses regularization to select only the significant ones. The key parameter is changepoint_prior_scale, which controls how flexible the trend is:

# Default (0.05) — moderate flexibility
model = Prophet()

# More flexible — reacts quickly to trend changes
# Useful when you know the business underwent structural changes
model = Prophet(changepoint_prior_scale=0.5)

# More rigid — smoother trend, less reactive
# Useful when apparent trend changes are really just noise
model = Prophet(changepoint_prior_scale=0.01)

For WFM analysts, the practical question is: "Has something fundamentally changed, or is this just a temporary fluctuation?" A higher changepoint_prior_scale makes the model more responsive to recent changes but also more likely to overreact to noise. A lower value produces smoother trends but may be slow to adapt when a genuine structural shift occurs.

Manual Changepoints

When the WFM analyst knows exactly when a structural change occurred—a system migration date, the launch of a new IVR, or the start of a work-from-home policy—they can specify changepoints explicitly:

model = Prophet(
    changepoints=['2024-03-15', '2024-09-01']  # Known disruption dates
)

This is one of the clearest examples of Prophet's design philosophy: the analyst's domain knowledge is a direct model input, not something that has to be translated into statistical parameters.

Adding External Regressors

While Prophet's core components (trend, seasonality, holidays) handle many WFM forecasting scenarios well, contact volume is often influenced by external factors that these components cannot capture. Prophet supports extra regressors—additional time series variables that are added as linear terms to the model.

Common WFM Regressors

# Add marketing spend as a regressor
model = Prophet()
model.add_regressor('marketing_spend')
model.add_regressor('is_billing_week', mode='multiplicative')
model.add_regressor('weather_severity')

model.fit(df)

# For prediction, the future dataframe must include regressor values
future = model.make_future_dataframe(periods=30)
future['marketing_spend'] = planned_marketing_budget  # Known future values
future['is_billing_week'] = billing_week_flags
future['weather_severity'] = weather_forecasts

The critical constraint is that regressor values must be known for the forecast period. This makes some intuitively appealing regressors impractical: you cannot use "actual call volume yesterday" as a regressor because that value will not be known when forecasting 30 days ahead. Regressors that work well for WFM include planned marketing spend, known billing cycle dates, scheduled outages, weather forecasts, and economic indicators with sufficient publication lead time.

Regressors can be specified as additive (default) or multiplicative. Additive means the regressor adds a fixed amount to the forecast regardless of the current level. Multiplicative means the effect scales with the level—a marketing campaign might add 10% to whatever the baseline volume would be. For most WFM regressors, multiplicative mode is more realistic.[3]

NeuralProphet

NeuralProphet is a neural network-based successor to Prophet that preserves the interpretable decomposable structure while adding capabilities that classical Prophet lacks.[4] Built on PyTorch rather than Stan, NeuralProphet extends Prophet's additive model with auto-regression, lagged regressors, and neural network components while maintaining the same analyst-friendly philosophy.[5]

Key Extensions Over Classical Prophet

  • Auto-regression (AR-Net) — NeuralProphet can use recent observations of the target variable itself as predictors, implemented through a feed-forward neural network called AR-Net.[4] This captures short-term momentum and autocorrelation patterns that Prophet's trend and seasonality components miss. For contact center data, this means yesterday's unusually high volume can directly inform today's forecast.
  • Lagged regressors — While Prophet requires regressor values to be known for the forecast period, NeuralProphet supports lagged regressors—external variables whose past values (not future values) influence the forecast. This allows using variables like "average handle time over the past 7 days" as a predictor without needing to forecast AHT itself.
  • Local context via neural networks — The neural network components allow NeuralProphet to model non-linear relationships between regressors and the target, and to capture local patterns that global parametric models miss.
  • Native sub-daily support — NeuralProphet handles sub-daily data more naturally than classical Prophet, with better handling of multiple granularities.

Basic NeuralProphet Usage

from neuralprophet import NeuralProphet

model = NeuralProphet(
    n_lags=14,              # Use 14 past observations for auto-regression
    n_forecasts=7,          # Forecast 7 steps ahead
    yearly_seasonality=True,
    weekly_seasonality=True,
    daily_seasonality=True,
)

model.fit(df, freq='D')
forecast = model.predict(df)
model.plot_components(forecast)

When to Use NeuralProphet Over Prophet

NeuralProphet adds value over classical Prophet when:

  • The time series has strong autocorrelation—recent values are highly predictive of near-term future values. This is common in contact center data where volume momentum carries across days.
  • Non-linear regressor effects are present—for example, marketing spend that has diminishing returns at high levels.
  • Lagged external variables are available but future values are not—common in operational WFM where you have yesterday's data but not tomorrow's.
  • The dataset is large enough to train neural network components reliably. NeuralProphet requires more data than classical Prophet to avoid overfitting.

For many WFM applications, classical Prophet remains the better starting point. It is faster to train, less prone to overfitting on small datasets, and its uncertainty quantification through Bayesian inference is more principled than NeuralProphet's current approach. Graduate to NeuralProphet when Prophet's limitations become binding.[4]

Evaluating Prophet Forecasts

Prophet includes built-in cross-validation and performance metric tools that align well with WFM forecast evaluation practices.[1]

Time Series Cross-Validation

Standard cross-validation (random train/test splits) is invalid for time series because it leaks future information into the training set. Prophet implements simulated historical forecasts (also called time series cross-validation or backtesting): it selects multiple cutoff points in the history, trains the model using only data before each cutoff, forecasts forward, and compares predictions to actuals.

from prophet.diagnostics import cross_validation, performance_metrics

# Evaluate forecast accuracy with rolling origin cross-validation
cv_results = cross_validation(
    model,
    initial='365 days',   # Training window
    period='30 days',     # Spacing between cutoffs
    horizon='90 days'     # Forecast horizon to evaluate
)

metrics = performance_metrics(cv_results)
print(metrics[['horizon', 'mae', 'mape', 'rmse']])

The output shows how accuracy degrades with forecast horizon—a pattern WFM professionals recognize intuitively (next week's forecast is more accurate than next month's). Prophet reports MAE, MAPE, RMSE, SMAPE, MDAPE, and coverage metrics, all of which map to standard WFM accuracy measures.

Comparison to ARIMA and ETS

A rigorous evaluation should benchmark Prophet against alternatives. For most WFM time series, the relevant comparisons are:

  • ETS (exponential smoothing state space) — Often competitive with or superior to Prophet for single-seasonality data with stable trends. ETS through the statsmodels library or R's forecast package is a strong baseline.
  • ARIMA/SARIMA — Effective for stationary or differenced-stationary series with single seasonality. May outperform Prophet when the data has strong autocorrelation and no complex holiday effects.
  • Ensemble — Combining Prophet with ARIMA and ETS predictions often outperforms any single method. WFM teams with analytical maturity may benefit from ensemble approaches.

Research by Makridakis et al. in the M4 and M5 forecasting competitions found that Prophet performed reasonably well on daily data with holidays and trend changes, but was outperformed by simple methods on data without these features.[6] This underscores an important point: Prophet is not universally superior. It excels on data that matches its design assumptions—multiple seasonalities, holidays, changepoints—which happens to describe most contact center volume data.

For the broader framework of how to evaluate and validate forecasting models, see Model Evaluation and Validation.

Limitations

Prophet is powerful for its intended use case, but WFM practitioners should understand its boundaries.

Daily Granularity Default

Prophet was designed primarily for daily-level forecasting. While it can handle sub-daily data (hourly or 15-minute intervals), it was not optimized for this granularity. WFM operations typically require interval-level forecasts (15-minute or 30-minute intervals), which creates a practical challenge.

Workarounds for interval-level WFM forecasting:

  • Two-stage approach — Use Prophet to forecast daily totals, then apply intra-day distribution patterns (from historical data or a separate model) to distribute daily volume across intervals. This is how many commercial WFM platforms handle the problem internally.
  • Direct interval-level modeling — Fit Prophet directly to interval-level data with daily seasonality enabled. This works but requires substantially more data and computational time, and may overfit the intra-day pattern.
  • NeuralProphet — Handles sub-daily data more naturally through its auto-regression capabilities, making it a better choice for direct interval-level forecasting.

Limited Multivariate Support

Prophet forecasts one time series at a time. It cannot model relationships between multiple related series (e.g., how chat volume and phone volume trade off against each other). For multivariate WFM forecasting, dedicated approaches using vector autoregression or multi-output neural networks may be more appropriate.

No Native Anomaly Detection

Prophet does not include built-in anomaly detection. Outliers in the training data can distort the model. WFM analysts should pre-process data to handle anomalous periods (system outages, one-time events, pandemic disruptions) before fitting the model. Prophet's decomposition output can help identify anomalies visually, but the detection and handling is manual.

Computational Cost at Scale

For organizations managing hundreds of forecast series (multiple queues, channels, sites, skill groups), fitting individual Prophet models can be computationally expensive. Each model takes seconds to minutes to fit, and the total wallclock time scales linearly with the number of series. Parallelization helps, but this remains a practical consideration for large WFM operations.

Uncertainty Intervals Are Approximate

Prophet's default uncertainty intervals (using MAP estimation) capture only the uncertainty from trend changepoints and observation noise. They do not account for parameter uncertainty—meaning the intervals may be too narrow. Full Bayesian inference via MCMC produces more calibrated intervals but at significantly higher computational cost.[1]

Prophet vs Commercial WFM Forecasting

Most commercial WFM platforms (NICE, Verint, Calabrio, Genesys, Alvaria) include built-in forecasting engines. The question for WFM teams is not "Prophet or the platform" but rather when Prophet adds value alongside or on top of the commercial tool.

Dimension Commercial WFM Forecasting Prophet
Ease of use Point-and-click, integrated into scheduling workflow Requires Python/R coding skill
Transparency Black box—limited visibility into method selection and parameter tuning Fully transparent—every component visible and adjustable
Holiday handling Basic holiday calendars, often limited customization Highly flexible—custom events, windows, country calendars
Multiple seasonalities Varies by vendor; some handle well, others struggle Core design strength
Interval-level forecasting Native—designed for 15/30-minute intervals Requires workarounds (see Limitations)
Integration with scheduling Direct—forecast flows into Erlang calculation and schedule generation Manual—forecast must be exported and imported into scheduling
Automation Fully automated production forecasting Requires custom pipeline for production automation
Judgmental overrides Built-in override interface with audit trail Must be coded manually
Cost Included in WFM platform license Free (open source), but requires analyst/developer time

When Prophet adds value:

  • As a benchmark — Run Prophet in parallel with the commercial platform's forecast. Persistent accuracy gaps in either direction signal opportunities for improvement.
  • For new or unusual series — Queues or channels that the commercial platform handles poorly due to short history, unusual patterns, or configuration gaps.
  • For scenario analysis — Prophet's transparent components make it easy to model "what if" scenarios: What if marketing spend doubles? What if the holiday pattern shifts? Commercial platforms typically do not support this kind of regressor-based scenario modeling.
  • For analytical development — Building the team's analytical maturity. Working with Prophet teaches WFM analysts about decomposition, seasonality, and forecast evaluation in ways that clicking buttons in a commercial tool does not.
  • For probabilistic forecasting — When the WFM team needs genuine uncertainty intervals for staffing buffer calculations rather than point forecasts.

Practical Recommendations for WFM Teams

  1. Start with daily volume data. Prophet works best at daily granularity. Get a reliable daily forecast working before attempting interval-level.
  2. Use at least two years of history. Prophet needs sufficient data to learn annual seasonality. Less than one year of data makes the yearly component unreliable.
  3. Build your holiday calendar carefully. This is where the biggest accuracy gains come from for most contact centers. Include not just public holidays but promotional events, billing deadlines, and company-specific dates.
  4. Compare against baselines. Always compare Prophet's accuracy against simple methods (seasonal naive, simple exponential smoothing) and your commercial platform's forecast. If Prophet does not beat the naive baseline, the data may not have the patterns Prophet is designed to capture.
  5. Use cross-validation, not a single holdout period. One good or bad test period can be misleading. Prophet's built-in cross-validation provides a more robust accuracy estimate.
  6. Treat Prophet as a complement, not a replacement. The commercial WFM platform handles scheduling, intraday management, and operational forecasting. Prophet is a strategic analytical tool for understanding drivers, benchmarking, and scenario analysis.

See Also

References

Template:Reflist

Further Reading

  • Taylor, Sean J.; Letham, Benjamin. "Forecasting at Scale." The American Statistician, vol. 72, no. 1, 2018, pp. 37–45.
  • Triebe, Oskar et al. "NeuralProphet: Explainable Forecasting at Scale." arXiv:2111.15397, 2021.
  • Hyndman, Rob J.; Athanasopoulos, George. Forecasting: Principles and Practice, 3rd edition. OTexts, 2021.
  • Prophet Documentation. https://facebook.github.io/prophet/
  • NeuralProphet Documentation. https://neuralprophet.com/
  • Makridakis, Spyros et al. "The M4 Competition: 100,000 Time Series and 61 Forecasting Methods." International Journal of Forecasting, vol. 36, no. 1, 2020, pp. 54–74.
  1. 1.0 1.1 1.2 1.3 1.4 1.5 Taylor, Sean J.; Letham, Benjamin. "Forecasting at Scale." The American Statistician, vol. 72, no. 1, 2018, pp. 37–45. https://doi.org/10.1080/00031305.2017.1380080
  2. Prophet Documentation. Meta Open Source. https://facebook.github.io/prophet/
  3. Hyndman, Rob J.; Athanasopoulos, George. Forecasting: Principles and Practice, 3rd edition. OTexts, 2021. https://otexts.com/fpp3/
  4. 4.0 4.1 4.2 Triebe, Oskar; Hewamalage, Hansika; Pilyugina, Polina; Laptev, Nikolay; Bergmeir, Christoph; Rajagopal, Ram. "NeuralProphet: Explainable Forecasting at Scale." arXiv preprint arXiv:2111.15397, 2021. https://arxiv.org/abs/2111.15397
  5. NeuralProphet Documentation. https://neuralprophet.com/
  6. Makridakis, Spyros; Spiliotis, Evangelos; Assimakopoulos, Vassilios. "The M4 Competition: 100,000 Time Series and 61 Forecasting Methods." International Journal of Forecasting, vol. 36, no. 1, 2020, pp. 54–74.