Time Series Model Training: Prophet, NeuralProphet, TimesFM
5+ years in AI/ML | 30+ forecasting projects | 500+ trained models. Backed by proven experience, we guarantee robust forecasting.
We develop and tune time series forecasting models — Prophet, NeuralProphet, and TimesFM — to help plan sales, purchases, and capacity utilization. Recently, one of our clients — a retail chain with 500 stores — faced unstable weekly sales forecasts: Seasonal Naive gave SMAPE of 15%, but the business required 10% accuracy. We chose Prophet From Wikipedia, the free encyclopedia, tuned changepoint_prior_scale=0.05, seasonality_mode='multiplicative', and achieved SMAPE of 8% — halving the error. This improvement saved the client $200,000 annually in inventory costs. This is a real example of how the right model and tuning solve the problem.
We have been in AI/ML for over 5 years and completed 30+ forecasting projects. Our approach includes strict cross-validation and comparison with multiple baselines. We publish model cards and ensure experiment reproducibility. Training projects typically start from $5,000 for a single model with cross-validation, up to $20,000 for a full production pipeline including monitoring and retraining. The budget is determined after analyzing your data — cost depends on data complexity and target accuracy.
What criteria should you use to select a model?
Choosing the right model depends on three factors: data volume, need for interpretability, and presence of external events (holidays, promotions). If you have little data (less than 2 years) and need transparency — pick Prophet. If there are nonlinear lags and external regressors — NeuralProphet. If you have abundant data (thousands of series) and need maximum accuracy without explanation — TimesFM. Contact us for a tailored recommendation based on your specific case.
What's included in end-to-end model training?
We prepare data, tune hyperparameters, perform cross-validation, build a production pipeline (Airflow + MLflow), document the model, and deliver an API endpoint. You get a trained model, documentation, an operational manual, and one month of support. Additionally, we set up data drift monitoring and automatic model retraining.
Prophet: Decomposition Model
Meta Prophet is an additive model:
y(t) = trend(t) + seasonality(t) + holidays(t) + ε(t) Trend is piecewise linear or logistic growth. Changepoints — automatic detection of trend change points via L1 regularization.
Seasonality is described by Fourier series: yearly with N=10 (default), weekly with N=3, custom for any period.
Training and tuning:
from prophet import Prophet import pandas as pd m = Prophet( changepoint_prior_scale=0.05, # trend flexibility seasonality_prior_scale=10.0, # seasonality flexibility holidays_prior_scale=10.0, seasonality_mode='multiplicative' # for data with growth ) m.add_country_holidays(country_name='RU') m.add_seasonality(name='monthly', period=30.5, fourier_order=5) m.fit(df) # df with columns ds, y Key tuning parameters: changepoint_prior_scale (0.001–0.5) controls overfitting to trend, seasonality_mode ('additive' for stationary, 'multiplicative' for growing), fourier_order (higher = more flexible seasonality).
Prophet cross-validation:
from prophet.diagnostics import cross_validation, performance_metrics df_cv = cross_validation(m, initial='730 days', period='180 days', horizon='365 days') df_p = performance_metrics(df_cv) NeuralProphet: Prophet with Neural Components
NeuralProphet extends Prophet with autoregression (AR-Net) and nonlinear lagged regressors. Training via PyTorch is significantly faster than MCMC-Prophet.
from neuralprophet import NeuralProphet m = NeuralProphet( n_forecasts=7, # forecast horizon n_lags=14, # number of lags for AR seasonality_mode='auto', learning_rate=0.01 ) m = m.add_country_holidays('RU') metrics = m.fit(df, freq='D', validation_df=df_val) NeuralProphet is effective when nonlinear lag dependencies, multiple forecast steps, and external regressors with lag are present.
TimesFM: Foundation Model from Google
TimesFM is a pretrained foundation model for zero-shot forecasting. It requires no training on your data; first forecast in minutes.
import timesfm tfm = timesfm.TimesFm( context_len=512, horizon_len=128, input_patch_len=32, output_patch_len=128, num_layers=20, model_dims=1280, backend='gpu' ) tfm.load_from_checkpoint(repo_id="google/timesfm-1.0-200m") # Zero-shot inference forecast_input = [np.array(historical_data)] frequency_input = [0] # 0=high freq, 1=low freq point_forecast, experimental_quantile_forecast = tfm.forecast( forecast_input, freq=frequency_input ) Advantages: zero-shot, speed, strong results on most tasks. Limitations: does not account for known future covariates without fine-tuning, limited interpretability, requires significant context (>500 points).
Comparative Model Selection
| Criterion | Prophet | NeuralProphet | TimesFM |
|---|---|---|---|
| Interpretability needed | ✓✓ | ✓ | ✗ |
| Known future events | ✓✓ | ✓✓ | ✗ |
| Little data (< 2 years) | ✓ | ✓ | ✓✓ |
| Nonlinear lags important | ✗ | ✓✓ | ✓ |
| Highest accuracy needed | ✗ | ✓ | ✓✓ |
| Many series (>1000) | ✗ | ✓ | ✓✓ |
Typical Timelines and Work Volume
| Stage | Duration |
|---|---|
| Data preparation and EDA | 3–5 days |
| Training and tuning one model | 5–10 days |
| Cross-validation and final model selection | 2–3 days |
| Production pipeline deployment | 10–15 days |
| Documentation and handover | 2–3 days |
Typical Mistakes When Training Prophet
- Setting changepoint_prior_scale too large (>0.5) — overfitting the trend.
- Ignoring multicollinearity between holiday effects.
- Using additive seasonality on data with exponential growth.
- Insufficient initial periods in cross-validation (less than 2 seasons).
Training and Validation Practice
Pipeline for training (example with Prophet):
- Data preparation: resample to required frequency, handle missing values (interpolation / forward fill).
- Analysis: ACF/PACF, decompose, holiday analysis.
- Baseline: Seasonal Naive (forecast = value one year ago).
- Prophet fit with default parameters, cross-validation.
- Hyperparameter search: Optuna / grid search over 4–6 parameters (e.g., changepoint_prior_scale, seasonality_prior_scale, fourier_order).
- Ensemble with competitor (ETS or NeuralProphet).
- Productionization: Airflow DAG, MLflow tracking, API endpoint.
Metrics for comparison: SMAPE, MASE (normalized on Seasonal Naive), Winkler Score for interval forecasts.
Timelines: tuning and training Prophet/NeuralProphet for a single series with cross-validation — 1–2 weeks. Production pipeline with monitoring and auto-retraining — 4–6 weeks. Savings from accurate forecasting can cover the project cost within the first months. Get an individual offer — contact us for a consultation on your task. We will evaluate the project and offer an optimal solution.







